getTotalUnreadMessageCount

功能介绍

获取会话未读总数

用户的会话列表中一般会有若干个会话,如果某个会话收到了新消息,通常需要在列表的 cell 中以小红点或者数字角标的方式,向用户展示该会话的未读消息数,提醒用户尚未阅读。

通常情况下,如果想得到所有会话的未读消息总数,可以遍历会话列表得到每个会话的信息 V2TimConversation,然后再把所有的 V2TimConversation 的 unreadCount 相加起来,展示在 UI 上。

但 IM SDK 为您提供了直接查询所有会话未读消息总数的 API getTotalUnreadMessageCount。

当会话的未读总数发生变更时,SDK 还会主动通过回调 onTotalUnreadMessageCountChanged,将最新的未读总数通知给您。

获取所有会话未读消息总数Flutter SDK 3.0.0. 及以上版本支持。

用户点击进入会话后退回到会话列表,需要清除未读消息数。清除后,会话列表的小红点或数字角标需要随之消失。

IM SDK 针对待清空会话未读数的不同会话类型,提供了 3 个 API:

清空单聊会话未读消息数 markC2CMessageAsRead

清空群聊会话未读消息数 markGroupMessageAsRead

清空全部会话未读消息数 markAllMessageAsRead

参数详解

此API无参数

返回模板

V2TimValueCallback<int>

{
    code : int
    desc : String
    data : int//会话未读总数
}

返回值详解

名称 数值类型 描述
code int 请求结果错误码
desc String 请求结果描述符
data int 会话未读总数

代码示例

    //获取会话未读总数
    V2TimValueCallback<int> getTotalUnreadMessageCountRes =
        await TencentImSDKPlugin.v2TIMManager
            .getConversationManager()
            .getTotalUnreadMessageCount();
    if (getTotalUnreadMessageCountRes.code == 0) {
      //拉取成功
      int? count = getTotalUnreadMessageCountRes.data;//会话未读总数
    }

results matching ""

    No results matching ""