跳到主要内容

消息未读数

未读消息计数是 Global IM UIKit 默认提供的一项功能,可告知用户每个会话中未读消息的数量。未读消息计数显示在会话列表 ChatListFragment 的会话条目上。每个会话的未读消息数显示在会话图标右上角。如果未读消息数超过 100 条,则会显示为 99+

提示

为了使用未读消息计数功能,您必须首先构建会话列表页面。Global IM UIKit 默认未实现底部导航栏。

(width=250)

用法

Global IM UIKit 默认已经实现了一整套会话未读消息数获取和展示逻辑,使用默认会话列表和会话页面时,不需要额外调用会话相关 API。

在用户多端登录时,Global IM UIKit 会在设备间同步会话的阅读状态,您也可以按业务需求选择关闭该功能,详见下文多端同步阅读状态

定制化

如果 Global IM UIKit 已有实现无法满足您的需求,可以使用 Global IM UIKit 或 IMLib SDK 中相关 API。

获取会话未读数

Global IM UIKit 未直接提供获取会话未读数的 API。如果您有类似以下自定义需求,可以调用 IMLib SDK 相关方法。

  • 获取所有会话未读数(IMLib 方法)
  • 获取指定会话未读数(IMLib 方法)
  • 按会话类型获取未读数(IMLib 方法)

具体的核心类、API 与 使用方法,详见 IMLib 文档 处理会话未读消息数

注意:IMLib 方法并不提供页面刷新能力,您需要根据业务需求自定义通知机制进行页面刷新。

多端同步阅读状态

在即时通讯业务中,同一用户账号可能在多个设备上登录。仅在开通多设备消息同步服务后,融云会在多个设备之间同步消息数据,但设备上的会话中消息的已读/未读状态仅存储在本地。

Global IM UIKit 已默认实现了会话多端阅读状态同步功能,在一端发起同步后,其他端可接收通知,按要求同步阅读状态。您可以按业务需求决定是否使用该功能,该功能默认开启。

RongConfigCenter.conversationConfig().setEnableMultiDeviceSync(true);