V2TimConversation,然后再把所有的 V2TimConversation 的 unreadCount 相加起来,展示在 UI 上。getTotalUnreadMessageCount。
当会话的未读总数发生变更时,SDK 还会主动通过回调 onTotalUnreadMessageCountChanged,将最新的未读总数通知给您。// 获取全部未读数V2TimValueCallback<int> unread = await conversationManager.getTotalUnreadMessageCount();
conversationManager.addConversationListener(listener: V2TimConversationListener(onTotalUnreadMessageCountChanged: (totalUnreadCount) {// 最新的未读数},));
cleanConversationUnreadMessageCount(点击查看详情) 来清理指定会话未读消息数,通过传入特定格式的参数可以分别完成对指定单聊会话、全部单聊会话、指定群聊会话、全部群聊会话以及全部会话未读消息数的清理,具体的操作步骤如下文所示。参数 | 含义 | 单聊有效 | 群聊有效 | 说明 |
conversationID | 会话唯一 ID | YES | YES | C2C 单聊组成方式为: "c2c_userID";群聊组成方式为: "group_groupID" |
cleanTimestamp | 清理时间戳 | YES | NO | 指定清理哪一个 timestamp 之前的未读消息计数;当传入为 0 时,对应会话所有的未读消息将被清理,会话的未读数会清 0。 |
cleanSequence | 清理 sequence | NO | YES | 指定清理哪一个 sequence 之前的未读消息计数;当传入为 0 时,对应会话所有的未读消息将被清理,会话的未读数会清 0。 |
TencentImSDKPlugin.v2TIMManager.getConversationManager().cleanConversationUnreadMessageCount(conversationID: "c2c_userID",cleanTimestamp: 0,cleanSequence: 0,);
cleanConversationUnreadMessageCount 调用成功后:addConversationListener 添加了会话监听器,会收到 onConversationChanged 回调,可以在此回调中更新 UI。onRecvC2CReadReceipt 回调,回调里面会携带清空会话未读数的时间戳。// 自己conversationManager.addConversationListener(listener: V2TimConversationListener(,onConversationChanged: (conversationList) {// 变更后的最新会话},));// 对端TencentImSDKPlugin.v2TIMManager.getMessageManager().addAdvancedMsgListener(listener: V2TimAdvancedMsgListener(onRecvC2CReadReceipt: (receiptList) {// 消息被对方已读},));
TencentImSDKPlugin.v2TIMManager.getConversationManager().cleanConversationUnreadMessageCount(conversationID: "c2c",cleanTimestamp: 0,cleanSequence: 0,);
cleanConversationUnreadMessageCount 成功后,如果调用者事先调用 addConversationListener 添加了会话监听器,会收到 onConversationChanged 回调,该回调中携带了对应会话的最新未读消息数,可以在此回调中更新 UI。conversationManager.addConversationListener(listener: V2TimConversationListener(,onConversationChanged: (conversationList) {// 变更后的最新会话},));
TencentImSDKPlugin.v2TIMManager.getConversationManager().cleanConversationUnreadMessageCount(conversationID: "group_groupID",cleanTimestamp: 0,cleanSequence: 0,);
cleanConversationUnreadMessageCount 调用成功后,如果调用者事先调用 addConversationListener 添加了会话监听器,会收到 onConversationChanged 回调,可以在此回调中更新 UI。conversationManager.addConversationListener(listener: V2TimConversationListener(,onConversationChanged: (conversationList) {// 变更后的最新会话},));
TencentImSDKPlugin.v2TIMManager.getConversationManager().cleanConversationUnreadMessageCount(conversationID: "group",cleanTimestamp: 0,cleanSequence: 0,);
cleanConversationUnreadMessageCount 调用成功后,如果调用者事先调用 addConversationListener 添加了会话监听器,会收到 onConversationChanged 回调,该回调中携带了对应会话的最新未读消息数,可以在此回调中更新 UI。conversationManager.addConversationListener(listener: V2TimConversationListener(,onConversationChanged: (conversationList) {// 变更后的最新会话},));
TencentImSDKPlugin.v2TIMManager.getConversationManager().cleanConversationUnreadMessageCount(conversationID: "",cleanTimestamp: 0,cleanSequence: 0,);
cleanConversationUnreadMessageCount 调用成功后,如果调用者事先调用 addConversationListener 添加了会话监听器,会收到 onConversationChanged 回调,该回调中携带了对应会话的最新未读消息数,可以在此回调中更新 UI。conversationManager.addConversationListener(listener: V2TimConversationListener(,onConversationChanged: (conversationList) {// 变更后的最新会话},));
文档反馈