欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

唠一唠融云的消息补偿机制

程序员文章站 2022-06-05 22:09:29
...

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

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

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

方案

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

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

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

相关标签: IM 即时通信