====== 访客端双通道功能 ====== 移动客服系统与访客端之间支持环信即时通讯云和 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 服务器暂时不可用时,客服和访客之间通讯自动切换至第二通道,使体验无影响。