关于消息监听中收到消息的问题?

1、自己发送的消息能在监听中收到吗 2、多端登入为什么可以在监听中拿到自己发送的消息 3、换端登入或者清除缓存登入为什么会再次收一遍消息
发布时间: 2021-09-24 11:44

回答:


自己发送的消息能在监听中收到吗


其他人给本端发送消息成功,本端会在消息监听中收到该消息,所以消息监听只能收到其他用户发送的消息,本端发送的消息可以在发送消息成功回调中拿到


多端登入为什么可以在监听中拿到自己发送的消息


如果用户多端登入,那么其他端的相同账号是可以在监听中收到该消息,原因是开通多设备消息同步后,服务端会将消息同步给其他端,该消息也会在监听中抛出


换端登入或者清除缓存登入为什么会再次收一遍相同消息


清除所有浏览器缓存会将 SDK 内部使用的 收件箱/发件箱时间戳也一并清掉,导致 SDK 会再次拉取一次离线补偿消息。

建议用户如果有清空 localStorage 的操作, 建议只清除项目内的 key, 这样不会影响第三方业务逻辑


Tip:如果您想要实现系统消息或者机器客服,文件消息等功能,您可以约定好固定的用户 ID 来代替