浏览 SDKs · React Native
平台
SDKsReact Native商业版

上报群消息已读

OpenIM React Native SDK 上报群消息已读。

复制

向群聊中已读的消息批量发送已读回执。当群成员在聊天界面中浏览了他人发送的群消息时调用,群内其他成员将收到该消息的已读状态更新。

await OpenIMSDK.sendGroupMessageReadReceipt({
  conversationID,
  clientMsgIDs,
});

参数说明

参数类型必填含义
conversationIDstring是群聊会话 ID。
clientMsgIDsstring[]是已阅读的消息客户端 ID 列表;列表中的消息应均属于该群聊会话。

返回结果

调用成功代表已读回执请求已提交至服务端。如果需要清除当前账号在该群聊会话中的未读消息计数,请调用标记会话已读。

监听群消息已读变化

当群内其他成员上报消息已读后,会触发 OnRecvGroupReadReceipt 事件。回调携带 GroupMessageReceiptInfo[],其中包含目标 conversationID 以及各消息的已读人数、未读人数等统计。客户端应以 clientMsgID 为合并标识更新本地消息气泡的已读人数。

interface GroupMessageReceiptItem {
  clientMsgID: string;
  readCount: number;
  unreadCount: number;
}

interface GroupMessageReceiptInfo {
  conversationID: string;
  receiptList: GroupMessageReceiptItem[];
}

const handleGroupReadReceipt = (payload: GroupMessageReceiptInfo) => {
  // 根据 payload.conversationID 匹配会话,并以 clientMsgID 为合并标识更新消息已读人数
};

// 设置监听
OpenIMSDK.on(OpenIMEvent.OnRecvGroupReadReceipt, handleGroupReadReceipt);

// 取消监听
OpenIMSDK.off(OpenIMEvent.OnRecvGroupReadReceipt, handleGroupReadReceipt);

组件销毁、退出登录或切换账号时,取消该监听。