SDKsiOS
标记会话已读
使用 iOS SDK 将指定会话的消息标记为已读。
用户打开会话并阅读完当前可见消息后调用:
[[OIMManager manager] markConversationMessageAsRead:conversationID
onSuccess:nil
onFailure:nil];不要在只预览通知或后台收到消息时提前标记。成功 callback 表示请求完成,不等于 onConversationChanged: 已到达;随后按 conversationID 合并最新会话,需要立即确认时重新查询。
对于单聊,当前用户标记会话已读后,对端可通过 onRecvC2CReadReceipt: 收到消息已读回执。本页是该 delegate 的正文归属页;先按对端用户定位单聊会话,再按每项 msgIDList 中的 clientMsgID 更新已读状态。
- (void)onRecvC2CReadReceipt:(NSArray<OIMReceiptInfo *> *)items {
[self mergeC2CReceipts:items ?: @[]];
}承载该回调的稳定 listener 需要成对调用 addAdvancedMsgListener: 与 removeAdvancedMsgListener:,完整生命周期见接收消息。群聊中调用本 API 只清理当前账号的会话未读数;成员级回执另见上报群消息已读。
这个页面有帮助吗?