消息未读数
未读消息计数是 IMKit 默认提供的一项功能,可告知用户每个会话中未读消息的数量。
未读消息计数显示在会话列表 会话组件-Component(ConversationComponent
) 的会话条目上。每个会话的未读消息数显示在会话图标右上角。如果未读消息数超过 100 条,则会显示为 99+
。
提示
为了使用未读消息计数功能,您必须首先构建会话列表页面。IMKit 默认未实现底部导航栏。
用法
IMKit SDK 默认已经实现了一整套会话未读消息数获取和展示逻辑,使用默认会话列表和会话页面时,不需要额外调用会话相关 API。
IMKit 会在用户进入单聊、群聊、系统会话页面时将会话未读数清零。在用户多端登录时,IMKit 会在设备间同步会话的阅读状态,您也可以按业务需求选择关闭该功能,详见下文多端同步阅读状态。
定制化
如果 IMKit 已有实现无法满足您的需求,可以使用 IMKit 或 IMLib SDK 中相关 API。
获取会话未读数
获取单个会话的未读数
示例代码
TypeScript
let conId = new ConversationIdentifier();
conId.conversationType = ConversationType.Private;
conId.targetId = "TestTargetId"; // 按需填写实际的会话 id
RongIM.getInstance().conversationService().getUnreadCount(conId).then(result => {
if (EngineError.Success !== result.code) {
// 获取未读数失败
return;
}
if (!result.data) {
// 未读数为 null
return;
}
let unreadCount = result.data as number;
});
参数说明
参数名 | 类型 | 详细说明 |
---|---|---|
conId | ConversationIdentifier | 会话标识,包含会话类型与会话的 targetId |