Android

IMKit 中提供封装好的客服功能和 UI 界面,轻松的几行代码就能完成集成,为应用中用户提供优质的客服服务。

前提条件:

前提条件

  1. 初始化完成。
  2. 连接成功。
  3. 会话 Activity 已经在 AndroidManifest.xml 文件中,配置了对应的 intent-filter,详见配置说明文档
  4. 已获取客服 ID,通过“客服管理后台 - 坐席管理 - 技能组”,对应为技能组列表中的技能组 ID。

打开客服聊天界面:

//首先需要构造使用客服者的用户信息
CSCustomServiceInfo.Builder csBuilder = new CSCustomServiceInfo.Builder();
cSBuilder.referrer("10001");//添加渠道号
CSCustomServiceInfo csInfo = csBuilder.nickName("融云").build();


/**
 * 启动客户服聊天界面。
 *
 * @param context           应用上下文。
 * @param customerServiceId 要与之聊天的客服 Id。
 * @param title             聊天的标题,开发者可以在聊天界面通过 intent.getData().getQueryParameter("title") 获取该值, 再手动设置为标题。
 * @param customServiceInfo 当前使用客服者的用户信息。{@link io.rong.imlib.model.CSCustomServiceInfo}
 */
RongIM.getInstance().startCustomerServiceChat(getActivity(), id, "在线客服",csInfo);

提示

注:代码示例中参数 csInfo 为用户的详细信息,此数据用于上传用户信息到客服后台,数据的 name 、referrer 必须填写。

name 为用户名称

referrer 为来源渠道号,该值通过“客服后台 - IM 客服管理 - 渠道 - App”渠道号列表中获取。

define 为自定义信息,可自定义传输到后台的内容,JSON 格式如:“{carInfo:'宝马车系',userId:'user11',quInfo:'xxx'}”,自定义此属性的 JSON 结构后,需要在“客服后台 - IM 客服管理 - 设置 - 来访信息 - 自定义字段设置”中,设置其字段 ID,字段 ID 为 JSON 结构中 Key 值,否则无法在后台显示。

使用我们的客服需要集成 ConversationFragmentActivity 中 ,当您退出这个 Activity 的时候调用如下代码:

@Override
public void onBackPressed() {
           ConversationFragment fragment = (ConversationFragment) getSupportFragmentManager().findFragmentById(R.id.conversation);
    if(!fragment.onBackPressed()) {
        finish();
    }
  }

当触发 onKeyDown 事件的时候,做以下处理:

@Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
      return super.onKeyDown(keyCode, event);
  }

目的就是为了让我们的 ConversationFragment 捕捉到 back 事件,然后弹出 Dialog

商品信息消息

打开客服会话时,如果需要发送商品信息,可通过融云自定义消息的方式实现,消息格式如下:

ObjentName 为 JX:ProductInfo

自定义消息结构:

{
"title" : "红米Note2 移动4G手机 双卡双待",//商品标题
"content" : "¥799 16G",//商品信息描述
"url" : "http://www.jiaxincloud.com"//商品url,
"remoteurl":"http:///xxx.jpg"//商品图片
}

自定义消息开发文档: