浏览 SDKs · iOS
平台
SDKsiOS商业版

上报群消息已读

使用 iOS SDK 上报群消息已读回执。

复制

在群聊会话中,当用户屏幕内浏览了群消息后,可调用发送群消息已读回执接口上报已读状态。SDK 会将已读回执同步至服务端,并由服务端向群内其他成员推送阅读进度更新。

发送群消息已读回执

[[OIMManager manager] sendGroupMessageReadReceipt:conversationID
                                     clientMsgIDs:visibleClientMsgIDs
                                        onSuccess:^(NSString * _Nullable data) {
    // 已读回执已成功发送至服务端
}
                                        onFailure:^(NSInteger code, NSString * _Nullable msg) {
    // 处理上报失败
}];

参数说明

  • conversationID:目标群聊会话 ID。
  • clientMsgIDs:当前屏幕已阅览的消息客户端消息 ID 列表(NSArray<NSString *>)。同一批 ID 必须属于同一个群聊会话。
  • onSuccess:上报成功回调,表示 SDK 已成功向服务端提交已读回执。
  • onFailure:上报失败回调,返回错误码 code 和错误信息 msg。

监听群消息已读回执事件

群聊中其他成员阅读消息后,SDK 通过 OIMAdvancedMsgListener 协议的群已读回执方法推送更新:

- (void)onRecvGroupReadReceipt:(OIMGroupMessageReceipt *)receipt {
    if (receipt == nil) {
        return;
    }
    // 依据 conversationID 与 clientMsgID 合并群消息的已读人数和状态
    [self mergeGroupReceipt:receipt];
}

客户端状态合并与注意事项

  • 客户端状态合并标识为 clientMsgID(限定当前 conversationID)。收到群回执时,应更新对应消息气泡上的已读人数与未读人数。
  • 监听群已读回执需在组件中实现 OIMAdvancedMsgListener 协议,并通过管理类成对添加与移除监听,具体监听生命周期见接收消息。
  • 上报已读回执、接收远端回执事件与主动分页拉取成员是三个不同阶段。若需查看某条群消息的具体已读成员列表,见查询群消息已读成员。