====== 访客端双通道功能 ======
移动客服系统与访客端之间支持环信即时通讯云和 REST API 两条通道进行消息收发。
* 环信即时通讯云消息通道为第一通道,消息经过 IM 服务器到达移动客服的 Gateway,默认情况下均使用该通道收发消息。
* REST API 消息通道为第二通道,当IM服务器暂时不可用时,消息自动切换到第二通道。此时,访客和客服之间依然可以发送和接收文本消息、订单消息、机器人消息等。
集成 IM SDK 后可以使用第一通道收发消息,第二通道(即“访客端双通道功能”)需要单独集成。
如果您已集成[[cs:300visitoraccess:androidsdk|移动客服 Android SDK]]或[[cs:300visitoraccess:iossdk|移动客服 iOS SDK]],可以直接使用双通道功能,无需再次集成。
===== 注意事项 =====
* 暂时只有 Android 版访客端支持双通道功能。
* 集成双通道功能前,需要先集成 Android 版 IM SDK 2.x,客服SDK自带双通道。
===== 集成步骤 =====
第 1 步:确认您已经集成了 Android 版 IM SDK 2.x。
注:如果您尚未集成 IM SDK,请仔细阅读 [[cs:300visitoraccess:10nativeapp#app_sdk集成|APP SDK集成]],并参照“商城Demo”集成。
第 2 步:下载扩展包[[http://kefu-prod-apk.oss-cn-hangzhou.aliyuncs.com/imsdkx-v1.0.3-dependence-2.3.3.zip|imsdkx-v1.0.3-dependence-2.3.3]],解压缩,并将其添加到含有 IM SDK 的项目中的 libs 文件夹下,点击 Build --> Make Project。
第 3 步:选中项目,点击工具栏 Edit --> Find --> Replace,分别替换下面的字符串(为防止出错,请按照次序替换):
- EMChatManager --> KefuChatManager
- EMConversation --> KefuConversation
- EMConversationType --> KefuConversationType
- EMChat --> KefuChat
操作如下图:
{{:cs:300visitoraccess:kefu-image1.jpg?nolink&500|}}
{{:cs:300visitoraccess:kefu-image2.jpg?nolink&300|}}
第 4 步:添加双通道核心代码。在聊天界面(demo 中为 ChatActivity)添加如下代码:
* onCreate内调用bind方法KefuChatManager.getInstance().bindChatUI(toChatUsername);
* onDestroy内调用KefuChatManager.getInstance().unBind();
您已经成功集成双通道模式啦!
受益功能:
- 添加了客服与访客之间消息的ACK机制,确保消息到达率。
- 在 IM 服务器暂时不可用时,客服和访客之间通讯自动切换至第二通道,使体验无影响。