SDKsuni-app / uni-app x商业版
上报群消息已读
使用 UniApp SDK 上报群消息的成员级已读回执。
群消息成员级已读属于商业版能力。同一批消息必须属于目标群聊会话:
import { sendGroupMessageReadReceipt } from '@/uni_modules/unix-openim-sdk'
await sendGroupMessageReadReceipt({
conversationID,
clientMsgIDs: visibleUnreadMessageIDs,
})conversationID 是群聊会话 ID,clientMsgIDs 是本次上报已读的客户端消息 ID 数组。不要混入其他会话的消息,也不要重复上报尚未展示给用户的消息。
Promise 成功只表示本次回执上报请求已经完成,不等于其他客户端已经更新。会话未读数由会话级已读能力独立维护,本页方法用于群聊成员级阅读明细。
接收群消息已读变化
onRecvGroupReadReceipt() 的载荷类型为 string,SDK 没有公开字符串的内部结构。将事件作为当前群消息已读明细可能变化的刷新信号,重新查询正在展示的消息成员列表。
import { off, onRecvGroupReadReceipt } from '@/uni_modules/unix-openim-sdk'
const handleGroupReadReceipt = (_payload: string) => {
reloadVisibleGroupMessageReaders()
}
const groupReadReceiptSubscription =
onRecvGroupReadReceipt(handleGroupReadReceipt)
// 页面卸载或账号切换时:
off(groupReadReceiptSubscription)上报 Promise、回执事件和查询群消息已读成员返回的查询结果是三个独立阶段。
这个页面有帮助吗?