android-sdk-all
android-sdk-all copied to clipboard
支持群聊的已读回执
方案
核心思想是当 app 调用 conversation.read 时,给服务端发 read 命令的同时,主动向群聊中发一个暂态消息,将 read 事件广播到其他成员。 SDK 会在 conversation 上维护一个名为 'lastReadTimestamps' 的 map,这个 map 以 clientId 作为 key,以该 client 最后 read 的消息的时间戳作为 value。RTM 内部也维护了这样一个 map,但之前 SDK 只拉取单聊的信息,所以要扩展该方法,让其支持群聊(协议上支持)。
iOS 端实现
所有群聊回执的代码在 https://github.com/leancloud/objc-sdk/tree/master/AVOS/AVOSCloudIMGroupChat 目录下。
JS 实现
所有群聊回执的代码在 https://github.com/leancloud/js-realtime-sdk/tree/master/plugins/groupchat-receipts 目录下。