这个是业务功能,一个是能够转接客服,切换不同的客服人员进行聊天;另外一个是所有的聊天记录都要保存,客服和用户都要能看到。群组功能能满足这个需求,可以把新的客服人员拉进来就能实现转接功能,而且群组可以查看加入之前的消息记录,这样历史记录也不是问题了
你们在开发文档提出方案:
客服端如果是移动客户端或者是PC客户端就需要特殊处理一下,因为历史消息存储在本地数据库中,拉取历史消息是先读取本地消息,本地读取不到再拉取历史,如果一个客户经过多个客服服务,客服被加入和踢出多次,本地消息记录就会不全。处理方法可以是在每次加入和退出时清理一下本会话的消息,这样就能保证从服务器拉取到完整的历史消息。Web和小程序端没有这个问题。可以使用不同的line,能够与正常会话分开。
里面方案中为了保证本地消息记录全,处理方法可以是在每次加入和退出时清理一下本会话的消息,这样就能保证从服务器拉取到完整的历史消息;其中清理一下会话信息是指这个方法进行清空吗?
public void clearMessages(Conversation conversation) {
if (!checkRemoteService()) {
return;
}
try {
mClient.clearMessages(conversation.type.getValue(), conversation.target, conversation.line);
for (OnClearMessageListener listener : clearMessageListeners) {
listener.onClearMessage(conversation);
}
} catch (RemoteException e) {
e.printStackTrace();
}
}