public class CustomServiceManager extends java.lang.Object implements ModuleManager.MessageRouter
限定符和类型 | 类和说明 |
---|---|
static interface |
CustomServiceManager.OnHumanEvaluateListener
人工客服评价监听
|
限定符和类型 | 方法和说明 |
---|---|
void |
evaluateCustomService(java.lang.String kefuId,
boolean isRobotResolved,
java.lang.String knowledgeId)
当建立客服连接时,返回的
CustomServiceConfig.CSEvaType 为 CSEvaType.EVA_SEPARATELY, 即人工机器人分开评价,调用此方法对机器人客服进行评价。 |
void |
evaluateCustomService(java.lang.String kefuId,
int source,
CustomServiceConfig.CSEvaSolveStatus solveStatus,
java.lang.String suggest,
java.lang.String dialogId)
对人工客服评价,并且可以反馈问题解决状态。
|
void |
evaluateCustomService(java.lang.String kefuId,
int source,
CustomServiceConfig.CSEvaSolveStatus solveStatus,
java.lang.String tagtext,
java.lang.String suggest,
java.lang.String dialogId,
java.lang.String extra)
对人工客服评价,并且可以反馈问题解决状态。
|
static CustomServiceManager |
getInstance() |
void |
init(android.content.Context context,
RongIMClient.OnReceiveMessageListener onReceiveMessageListener,
IHandler stub) |
void |
leaveMessageToCustomService(java.lang.String kefuId,
java.util.Map<java.lang.String,java.lang.String> contentMap,
RongIMClient.OperationCallback operationCallback)
发送留言消息给客服。
|
boolean |
onReceived(Message message,
int left,
boolean offline,
int cmdLeft) |
void |
sendChangeModelMessage(java.lang.String kefuId,
java.lang.String groupId)
发送转人工消息
|
void |
setHumanEvaluateListener(CustomServiceManager.OnHumanEvaluateListener listener) |
void |
startCustomService(java.lang.String kefuId,
ICustomServiceListener listener,
CSCustomServiceInfo customServiceInfo)
启动客服服务
|
void |
stopCustomService(java.lang.String kefuId)
结束客服。
|
void |
switchToHumanMode(java.lang.String kefuId)
切换到人工客服模式,切换的结果需要在
ICustomServiceListener.onModeChanged(CustomServiceMode) 方法回调中处理。 |
public void init(android.content.Context context, RongIMClient.OnReceiveMessageListener onReceiveMessageListener, IHandler stub)
public boolean onReceived(Message message, int left, boolean offline, int cmdLeft)
onReceived
在接口中 ModuleManager.MessageRouter
public static CustomServiceManager getInstance()
public void startCustomService(java.lang.String kefuId, ICustomServiceListener listener, CSCustomServiceInfo customServiceInfo)
启动客服服务
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服 idlistener
- 客服监听,监听客服的状态 ICustomServiceListener
启动客服没有回调,启动后的客服状态需要在此监听中处理。customServiceInfo
- 客服用户信息,包括用户基本信息,用户联系信息以及请求信息。
其中 nickName 不能为空, 如果为空,则上传当前用户userId
CSCustomServiceInfo
。public void sendChangeModelMessage(java.lang.String kefuId, java.lang.String groupId)
kefuId
- 客服 idgroupId
- 分组 idCSChangeModeMessage}
public void switchToHumanMode(java.lang.String kefuId)
切换到人工客服模式,切换的结果需要在 ICustomServiceListener.onModeChanged(CustomServiceMode)
方法回调中处理。
如果客服没有分组, 则直接切人工模式;如果客服有分组,那么需要在回调ICustomServiceListener.onSelectGroup(List)
中去弹出分组选择窗口并选择分组,之后在这个回调中调用 @seeRongIMClient.selectCustomServiceGroup(String, String)
,
根据客服 id 和 分组 id 去切换到人工模式。
客服模式分为无服务、机器人模式人工模式、机器人优先模式、人工优先模式。
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服 id
CustomServiceMode
。public void evaluateCustomService(java.lang.String kefuId, boolean isRobotResolved, java.lang.String knowledgeId)
CustomServiceConfig.CSEvaType
为 CSEvaType.EVA_SEPARATELY, 即人工机器人分开评价,调用此方法对机器人客服进行评价。kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服 id。isRobotResolved
- robot 客服是否解决了您的问题。 true 表示解决 ,false 表示未解决。knowledgeId
- 机器人评价的消息 id,同时满足以下 4 个条件,此参数有效,其余情况可以传空字符串。
当参数有效时, 取出 4 中描述的 “sid” 对应的值就是需要传入的 knowledgeId,
1.机器人模式
2.新收到的消息,不是从数据库中加载的历史消息
3.CustomServiceConfig 的 robotSessionNoEva 为true @see CustomServiceConfig
这个CustomServiceConfig 是客服启动成功后的回调 onSuccess() 带回的参数 @see ICustomServiceListener
4.MessageContent 的 Extra 中有 “robotEva” 和 “sid” 两个字段
public void evaluateCustomService(java.lang.String kefuId, int source, CustomServiceConfig.CSEvaSolveStatus solveStatus, java.lang.String suggest, java.lang.String dialogId)
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服 id。source
- 星级,范围 1-5,5为最高,1为最低。solveStatus
- 问题解决进度。CustomServiceConfig.CSEvaSolveStatus
。suggest
- 客户的针对人工客服的意见和建议。dialogId
- 会话 id。客服后台主动拉评价的时候这个参数有效,其余情况传空字符串即可。
客服主动拉评价的时候,,会走 ICustomServiceListener 的 onPullEvaluation 回调,并带回 dialogId
ICustomServiceListener
。public void evaluateCustomService(java.lang.String kefuId, int source, CustomServiceConfig.CSEvaSolveStatus solveStatus, java.lang.String tagtext, java.lang.String suggest, java.lang.String dialogId, java.lang.String extra)
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服 id。source
- 星级,范围 1-5,5为最高,1为最低。solveStatus
- 问题解决进度。CustomServiceConfig.CSEvaSolveStatus
。tagtext
- 5星以下意见标签,以 "," 分隔。suggest
- 客户的针对人工客服的意见和建议。dialogId
- 会话 id。客服后台主动拉评价的时候这个参数有效,其余情况传空字符串即可。
客服主动拉评价的时候,会走 ICustomServiceListener 的 onPullEvaluation 回调,并带回 dialogId
ICustomServiceListener
。extra
- 预留扩展字段。public void leaveMessageToCustomService(java.lang.String kefuId, java.util.Map<java.lang.String,java.lang.String> contentMap, RongIMClient.OperationCallback operationCallback)
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服 id。contentMap
- 留言内容。该 map 的 key 是CSLMessageItem.getName()
的值, CSLMessageItem
在启动客服时通过CustomServiceConfig.leaveMessageNativeInfo
返回。operationCallback
- 留言是否成功的回调。public void stopCustomService(java.lang.String kefuId)
kefuId
- 客服 id,用户去融云开发者后台申请开通后获得客服 id。public void setHumanEvaluateListener(CustomServiceManager.OnHumanEvaluateListener listener)