5.3 用户信息和参数设置

使用 SDK 提供的 UI 集成,需要在启动会话界面之前进行用户信息和参数配置。配置项如下:

V5ClientConfig config = V5ClientConfig.getInstance(MainActivity.this); 
// V5客服系统客户端配置(以下值均为默认值,仅作示例,不需修改可不必设置) 
// V5ClientConfig.USE_HTTPS = true; // 使用加密连接,默认true 
// V5ClientConfig.AUTO_RETRY_ONERROR = true; // 链接错误时是否自动重试链接,默认true,否则弹出提示框选择是否重试
// V5ClientConfig.SOCKET_TIMEOUT = 20000; // 设置连接超时20s 
// config.setShowLog(true); // 显示日志,默认为true 
// config.setLogLevel(V5ClientConfig.LOG_LV_VERBOSE); // 显示日志级别,默认为全部显示

/*** 客户信息设置 ***/
// 【建议】设置用户昵称 
config.setNickname("android_sdk_test");
// 设置用户性别: 0-未知 1-男 2-女
config.setGender(1); 
// 【建议】设置用户头像URL
config.setAvatar("http://debugimg-10013434.image.myqcloud.com/fe1382d100019cfb572b1934af3d2c04/thumbnail"); 
/**
 *【建议】设置用户OpenId,以识别不同登录用户,不设置则默认由SDK生成,替代v1.2.0之前的uid,
 *  openId将透传到座席端(长度32字节以内,建议使用含字母数字和下划线的字符串,尽量不用特殊字符,若含特殊字符系统会进行URL encode处理,影响最终长度和座席端获得的结果)
 *    若您是旧版本SDK用户,只是想升级,为兼容旧版,避免客户信息改变可继续使用config.setUid,可不用openId
 */
config.setOpenId("android_sdk_test");
//config.setUid(uid); //【弃用】请使用setOpenId替代
// 设置用户VIP等级(0-5)
config.setVip(0);
// 使用消息推送时需设置device_token:集成第三方推送(腾讯信鸽、百度云推)或自定义推送地址时设置此参数以在离开会话界面时接收推送消息
config.setDeviceToken(XGPushConfig.getToken(getApplicationContext())); 

// [1.3.0新增]设置V5系统内置的客户基本信息,区别于setUserInfo,这是V5系统内置字段
JSONObject baseInfo = new JSONObject();
try {
    baseInfo.put("country", "中国");
    baseInfo.put("province", "广东");
    baseInfo.put("city", "深圳");
    baseInfo.put("language", "zh-cn");
    // nickname,gender,avatar,vip也可在此设置
} catch (JSONException e) {
    e.printStackTrace();
}
config.setBaseInfo(baseInfo);

// 客户信息键值对,下面为示例(JSONObject)
JSONObject customContent = new JSONObject();
try {
    customContent.put("用户名", "V5KF");
    customContent.put("用户级别", "VIP");
    customContent.put("用户积分", "3000");
    customContent.put("浏览商品", "衬衣");
} catch (JSONException e) {
    e.printStackTrace();
}
// 【新】设置客户信息(自定义JSONObjectjian键值对,开启会话前设置,替代之前通过`setUserWillSendMessageListener`在消息中携带信息的方式,此方式更加安全便捷)
config.setUserInfo(customContent);

nicknameopenIdavatardevice_token 等配置项配置完,下次需要修改(如App内切换了登录账号,修改了客户昵称或头像时)并向座席更新时需要在开启会话前调用 V5ClientConfig.getInstance(context).shouldUpdateUserInfo(),这样才会向服务端更新这几个配置项。同样若想更新站点信息,需要在onChatActivityConnect中调用 V5ClientAgent.getInstance().updateSiteInfo()。客户信息、站点信息(包含机器人信息和转人工开场白等V5后台可设置的信息)的更新存在缓存策略,系统每隔7天更新,一般无需处理,需要即时更新时方才调用此处接口。

指定人工客服或分组设置方式:

/*
 * 连接建立后才可以调用接口,以下是两种转人工情况示例(在onChatActivityConnect回调中执行,参考:5.5 会话界面回调)
 */
// 【转】指定人工客服(调用时立即转),参数: 客服组id,客服id (以下数字仅作为示例,具体ID请前往V5后台查看客服信息)
V5ClientAgent.getInstance().transferHumanService(0, 132916);
// 【指定人工客服】点击转人工按钮或者问题触发转人工时会转到指定人工,参数"0 132916"中两个数字先后对应需要转的客服组ID和客服ID
V5ClientAgent.getInstance().sendMessage(new V5ControlMessage(4, 2, "0 114052"), null);

results matching ""

    No results matching ""

    results matching ""

      No results matching ""