删除消息后,卸载重装应用,删除的消息又出现了

问题原因: 如果开启了“多设备消息同步”服务,卸载重装应用,会触发“消息补偿”机制,默认会拉取到补偿时间内收发过的消息,如果删除的消息是在补偿时间内收发的,也会被拉取回来。解决思路: 1. 在删除消息后,向会话发一条自定义消息,作为清除消息的标识。 2. 当卸载重装后,如果在消息监听中监听到第 1 步中的自定义消息,再删除一次消息,如需删除会话,也要再执行一次。

点赞
收藏

评论区

加载中...

相关推荐

(绝对有用)iOS获取UUID,并使用keychain存储

UDID被弃用,使用UUID来作为设备的唯一标识。获取到UUID后,如果用NSUserDefaults存储,当程序被卸载后重装时,再获得的UUID和之前就不同了。使用keychain存储可以保证程序卸载重装时,UUID不变。但当刷机或者升级系统后,UUID还是会改变的。但这仍是目前为止最佳的解决办法了,如果有更好的解决办法,欢迎留言。(我整理的解决办法的参

RabbitMQ小技巧

导读在使用RabbitMQ消息中间件时,因为消息的投递是异步的,默认情况下,RabbitMQ会删除那些无法路由的消息。为了能够检出消息是否顺利投递到队列,我们需要相应的处理机制。今天就来验证一下相关的验证机制。!RabbitMQ小技巧确定消息投递情况RabbitMQ小技巧确定消息投递情况(https://imgblog.csdnim

RabbitMQ 三种方式的TTL

TTL说明RabbitMQ支持三种方式PerQueueMessageTTL(为进入队列的每一条消息设置一个TTL)QueueTTL(队列的TTL,如果在设置的TTL时间内,没有消费者连接,没有消息发送,RabbitMQ会默认其是将要抛弃不用的,会考虑在TTL到期后删除掉该队列)PerM

RabbitMq学习(二)RabbitMQ的消息确认机制

一.为什么有消息确认机制在RabbitMq中,一个消息从产生到最终的消息接受,中间大致会有三个环节,首先是消息到达交换机、然后是消息通过交换机到达队列,最后消费者消费绑定的队列消息。 但是在这个过程中,如果出现网络或者系统的异常,就会导致消息不能被正常消费。如果不能正常消费消息,会造成两方面的问题。 1.1在服务端消息到

删除消息后,卸载重装应用,删除的消息又出现了

问题描述同时删除本地消息和服务端历史消息后,卸载重装应用或者换设备登录,删除的消息重新出现。原因分析针对单聊会话、群聊会话,如果通过任何接口以传入时间戳的方式删除远端消息,服务端默认不会删除对应的离线消息补偿(该机制仅会在打开多设备消息同步开关后生效)。此

融云IM干货丨IM服务聊天室中离线消息同步需要多久一次?

关于离线消息同步的频率,根据搜索结果,这里有几个关键点可以提供参考:离线消息的获取是自上而下的方式(按时间序),客户端一次获取200条离线消息,如果离线消息过多,则会分页多次拉取。客户端拉取离线消息时,需要带上当前客户端缓存的消息的最大时间戳,服务器会根据