怎么实现单聊已读未读?

单聊实现已读未读
发布时间: 2021-09-09 17:40

回答:

Web 端历史消息是存在服务端的,服务端不会对每个消息标记已读未读

详情请参考:https://doc.rongcloud.cn/im/Web/4.X/guide/private/msgmanage/receipt/web

1、在发送 RC:ReadNtf 回执消息时,消息中包含最后一条消息的会话 id 、消息的 id 和 发送时间,然后根据发送时间来判断,如果比这个时间小的消息都是已读

2、一般会在 localstorage 存储每个会话的回执消息中的已读时间,这样占用空间会比较小

3、如果有清除缓存动作,SDK 会重新拉取离线补偿消息(默认两天), 也包括已读回执,这时候再收到已读回执,就可以再次存储