获取未读消息
本文介绍在超级群业务中,如何获取全部未读 @ 消息、跳转至指定未读 @ 消息等功能。
提示
本功能依赖融云服务端保存的超级群会话「未读 @ 消息摘要」数据。「@所有人」消息的摘要固定保留 7 天(不可调整),其他类型 @ 消息的摘要数据与超级群历史消息的存储时长保持一致。
获取指定会话的未读 @ 消息列表
提示
该方法从 SDK 5.5.2 版本开始支持。
可通过 SDK 从远端获取指定超级群频道中的未读 @ 消息摘要数据。返回的摘要可获取未读 @ 消息的 messageUId 和 sentTime,再结合其他接口拉取消息详情。
使用场景示例 如果 App 希望实现仅展示未读 @ 消息的功能,可按以下步骤:
step1:获取未读 @ 消息摘要列表
调用 getUltraGroupUnreadMentionedMessages,可一次获取最多 50 条未读 @ 消息摘要。
接口
JavaScript
RongIMLib.getUltraGroupUnreadMentionedMessages(options)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
options | IUltraGroupUnreadMentionedOption | 是 | 获取指定会话未读 @ 消息列表参数 |
示例代码
JavaScript
const options = {
targetId: 'targetId',
channelId: 'channelId',
sentTime: 0,
count: 10,
};
const res = await RongIMLib.getUltraGroupUnreadMentionedMessages(options);
console.log('获取指定会话未读 @ 消息列表结果:', res);
提示
- 返回 Promise,成功时 res.data 为 IUltraUnreadMsg 数组(@ 消息摘要,不含完整消息内容)。
- 自 5.8.0 起,摘要中新增 messageType 字段,便于筛选所需消息类型。
step2:获取 @ 消息的完整内容
从上一步得到的 IUltraUnreadMsg 中提取 messageUId 和 sentTime,调用 getUltraGroupMessageListByMessageUId 获取消息详情。
接口
JavaScript
getUltraGroupMessageListByMessageUId(conversation: IConversationOption, messages: IMessageDesc[])
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
conversation | IConversationOption | 是 | 目标会话 |
messages | IMessageDesc[] | 是 | 消息列表 |