跳转至

Android

客服业务

IMLib 中客服功能集成使用说明:

  • 在进入到客服聊天界面时,调用 startCustomService() 来启动客服服务。这个方法没有回调,有一个监听 ICustomServiceListener,启动的状态要在监听的回调里面处理,启动成功后会回调 onSuccess ,并携带配置信息 CustomServiceConfig
  • 根据 onModeChanged 的回调来处理不同的键盘输入。在机器人优先模式下,需要在界面上加上转人工的按钮。
  • onQuit 时,离开客服会话或者提示客服服务已经结束。
  • 当用户按下转人工服务时,调用 switchToHumanMode 来切换到人工服务。如果调用成功,onModeChanged 回调返回服务类型。
  • 当离开界面时,调用 stopCustomeService 来结束客服。
  • 在适当的时机对客服进行评价,调用 evaluateCustomService,根据参数不同评价机器人或者人工。

RongIMClient 类文件中的客服相关接口:

启动客服服务

参数方法说明:

参数 说明
kefuId 客服 id
ICustomServiceListener 客服监听
CSCustomServiceInfo 客服用户信息

示例代码:

/**
 * 启动客服服务
 */
 RongIMClient.getInstance().startCustomService("kefuId", new ICustomServiceListener() {
             /**
                * 开启客服成功
             */
            @Override
            public void onSuccess(CustomServiceConfig config) {

            }
             /**
               * 开启客服失败
             */
            @Override
            public void onError(int code, String msg) {

            }
             /**
               * 客服模式发生变化
             */
            @Override
            public void onModeChanged(CustomServiceMode mode) {

            }
             /**
               * 离开客服
             */
            @Override
            public void onQuit(String msg) {

            }
             /**
               * 客服主动下发满意度评价
             */
            @Override
            public void onPullEvaluation(String dialogId) {

            }
             /**
               * 客服有分组时,选择分组
             */
            @Override
            public void onSelectGroup(List<CSGroupItem> groups) {

            }
        },  cSCustomServiceInfo);

 

切换人工客服服务

参数方法说明:

参数 说明
kefuId 客服 id

示例代码:

/**
  * 切换到人工客服模式,切换的结果需要在 {@link ICustomServiceListener#onModeChanged(CustomServiceMode)} 方法回调中处理
 * 如果客服没有分组, 则直接切人工模式;如果客服有分组,那么需要在回调{@link ICustomServiceListener#onSelectGroup(List)}
 * 中去弹出分组选择窗口并选择分组,之后在这个回调中调用 @see{@link RongIMClient#selectCustomServiceGroup(String, String)}
 * 根据客服 Id 和 分组 Id 去切换到人工模式
 * 客服模式 分为无服务,机器人模式,人工模式,机器人优先模式,人工优先模式
 *工客服模式
 */
       RongIMClient.getInstance().switchToHumanMode("");

 

根据客服ID和分组ID转换人工模式

参数方法说明:

参数 说明
kefuId 客服 id
groupId 分组ID

示例代码:

/**
 根据客服ID和分组ID转换人工模式
 */
     RongIMClient.getInstance().selectCustomServiceGroup("","");

 

对机器人客服评价

参数方法说明:

参数 说明
kefuId 客服 id
isRobotResolved robot 客服是否解决了您的问题. true 表示解决 ,false 表示未解决
knowledgeId 机器人评价的消息id

示例代码:

/**
 根对机器人客服评价,在机器人模式下使用此方法进行评价
 */
      RongIMClient.getInstance().evaluateCustomService("",true,"");

 

对人工客服评价

参数方法说明:

参数 说明
kefuId 客服 id
source 星级,范围 1-5,5为最高,1为最低
suggest 客户的针对人工客服的意见和建议
dialogId 会话 Id. 客服后台主动拉评价的时候这个参数有效,其余情况传空字符串即可.

示例代码:

/**
 根对机器人客服评价,在机器人模式下使用此方法进行评价
 */
      RongIMClient.getInstance().evaluateCustomService("","","","");

 

结束客服

参数方法说明:

参数 说明
kefuId 客服 id

示例代码:

/**
 根对机器人客服评价,在机器人模式下使用此方法进行评价
 */
      RongIMClient.getInstance().stopCustomService("");

 

开启客服成功后,回调时携带的配置信息


public class CustomServiceConfig {

  /**
   * 是否被加入黑名单
   */
  public boolean isBlack;

  /**
   * 描述
   */
  public String msg;

  /**
   * 公司名称
   */
  public String companyName;

  /**
   * 公司logo
   */
  public String companyIcon;

  /**
   * 机器人是否需要评价会话
   */
  public boolean robotSessionNoEva;

  /**
   * 满意度评价列表
   *
   * CSHumanEvaluateItem getValue():取满意度评价值
   * CSHumanEvaluateItem getDescription():取满意度评价描述
   * {@link io.rong.message.CSHumanEvaluateItem}
   */
  public ArrayList<CSHumanEvaluateItem> humanEvaluateList;

  public CustomServiceConfig() {
  }
}