# API- Android
Api名称与作用同七鱼官方开发文档 (opens new window)
- initSdk()
- 初始化七鱼SDK,应尽早调用,不要在进入聊天界面前调用。
- 设置用户信息,有回调,该方法以及第一个入参的结构同七鱼官网开发文档- 上报用户信息 (opens new window)
setUserInfo({
userId: "userId",
data: "JSON.stringify([{JSON数据}])",
}, (ret) => {
if (ret.code == 200) {
//成功
} else {
//失败
}
})
- 打开客服界面,若要上报用户信息,该方法可以在
setUserInfo
的成功回调中使用。
方法参数以及作用详见:功能配置 (opens new window) ,source的结构同ConsultSource
openServiceActivity({
title: 'uniapp测试界面',
source: {
title: 'qiyu',
//如果需要发送商品卡片,设置商品卡片信息
productDetail: {
title: "商品卡片",
picture: "https://img",
desc: "我是商品卡片的描述",
url: "www.xxx.com",
}
},
})
- 退出登陆。
没有回调的退出登录:
logout()
有回调的退出登录:
logout((ret) => {
if (ret.success == true) {
modal.toast({
message: '成功',
duration: 1.5
});
} else {
modal.toast({
message: '失败' + JSON.stringify(ret.errMsg),
duration: 1.5
});
}
})
- 更新聊天界面配置,和接收点击url的回调。
- 注意:调用该方法后,若之前调用过
setBotEventListener()
和setPermissionCallback()
的设置事件将会被清空,请先调用updateOptions()
,之后再调用setBotEventListener()
和setPermissionCallback()
重新设置事件。
uiCustomization
结构参考聊天窗口自定义 (opens new window)
updateOptions({
isPullMessageFromServer: false,
uiCustomization: {
hideLeftAvatar: false,
isShowTitleAvatar: true,
hideRightAvatar: false,
inputTextColor: '#ff5500',
},
}, (url) => {
//点击url的回调
plus.runtime.openWeb(url)
})
- 点击url和申请权限,聊天界面关闭。
setFinishPageSwitch(true)
- 获取消息未读数。
allUnreadCount((ret) => {
modal.toast({
message: "获取未读的客服消息数: " + ret,
duration:1.5
});
})
- 清空未读消息。
clearUnreadCount()
- 获取最后一条消息。
onReceiveMessageCallback((ret) => {
modal.toast({
message: JSON.stringify(ret),
duration: 1.5
});
})
- 添加/注销未读消息数变化监听者。
register: true 为添加, false 为注销
addUnreadCountChangeListener({
register: boolean
}, (ret)=>{
modal.toast({
message:"未读数:" + ret,
duration:1.5
});
})
- 服务直达事件监听器。
setBotEventListener((url) => {
modal.toast({
message: JSON.stringify(url),
duration: 1.5
});
plus.runtime.openWeb(url)
console.log('setBotEventListener打印 ' + JSON.stringify(url))
})
- 清空未读消息数。
clearUnreadCount();
- 获取最后一条消息。
onReceiveMessageCallback((ret) => {
modal.toast({
message: JSON.stringify(ret),
duration: 1.5
});
})
- 权限的回调,以摄像头为例子,retCallback会返回权限名称。
setPermissionCallback((retCallback) => {
uni.showModal({
title: '提示',
content: '权限: ' + retCallback,
success: function(res) {
if (res.confirm) {
plus.android.requestPermissions(['android.permission.CAMERA'],
function(e) {
if (e.deniedAlways.length > 0) { //权限被永久拒绝
// 弹出提示框解释为何需要权限,引导用户打开设置页面开启
console.log('权限被永久拒绝' + e.deniedAlways.toString());
}
if (e.deniedPresent.length > 0) { //权限被临时拒绝
// 弹出提示框解释为何需要权限,可再次调用plus.android.requestPermissions申请权限
console.log('权限被临时拒绝' + e.deniedPresent.toString());
}
if (e.granted.length > 0) { //权限被允许
console.log('权限被允许' + e.granted.toString());
}
},
function(e) {
console.log('Request Permissions error:' + JSON.stringify(
e));
});
} else {
// 回调给七鱼弹出默认提示,也可以自己处理,因为七鱼界面已经关闭了
qiyuModule.onInterceptEvent(); // qiyuModule为七鱼全局属性名字,根据自己的定义来写
}
}
});
})