最近项目发现了一个很诡异的现象,纵使删除了会话且清除了历史消息,一旦卸载重装应用,之前删除的部分消息又莫名其妙的重新收到且显示了,见鬼啦~💀~,在“福尔摩斯·我”的缜密排查下(提工单问了融云的技术支持🌟),真相只有一个。

真相:原来是因为开启了融云的“多设备消息同步”服务,在卸载重装应用时,触发了该服务中的“消息补偿”机制,默认会把当天收发过的消息重新拉取回来。

如果既需要开通“多设备消息同步”服务,又需要卸载重装应用时保证之前删除的会话和历史消息不再显示,该如何处理呢?

方案

  • 删除会话且清除历史消息
  • 向该会话发送一条不存储不计数的自定义消息,作用是标识该会话已经被清除
  • 卸载重装应用
  • 触发“消息补偿”机制,除了收到之前收发过的消息,也会收到标识该会话被清除的自定义消息
  • 在接收到该自定义消息时,对该会话再做一遍清除操作,也就是“删除会话且清除历史消息”

“消息补偿”默认是当天,也可以修改这个时间,具体可以咨询融云 https://www.rongcloud.cn/

顺便说一下,他们的技术支持服务还是挺到位的,基本都能得到相对满意的答复,如果觉得问他们比较麻烦,可以自己先在文档 https://docs.rongcloud.cn/v4/ 里面找找,说不定会有惊喜哟~


融云RongCloud
82 声望1.2k 粉丝

因为专注,所以专业