浏览 SDKs · Flutter
平台
SDKsFlutter

标记会话已读

使用 Flutter SDK 将指定会话的消息标记为已读。

复制

用户进入会话界面并查阅当前消息后调用此方法,将会话未读消息数清零:

参数说明

参数类型是否必填说明
conversationIDString是目标会话 ID。
await OpenIM.iMManager.conversationManager.markConversationMessageAsRead(
  conversationID: conversationID,
);

返回结果

Future 成功表示标记已读请求已送达服务端。客户端应立即将本地该会话的未读数更新为 0。

SDK 随后会触发会话更新通知。客户端以 conversationID 为合并标识更新对应会话,完整事件监听请参考获取会话列表。

单聊已读回执通知

在单聊场景下,本端标记会话已读后,对端会通过 OnAdvancedMsgListener.onRecvC2CReadReceipt 收到已读回执。处理该回调时,根据对端 userID 确认对应 conversationID,并遍历 msgIDList 中的 clientMsgID 将消息状态更新为已读:

void handleC2CReadReceipts(List<ReadReceiptInfo> items) {
  for (final receipt in items) {
    mergeC2CReadReceipt(receipt);
  }
}

组合 listener 与集中注册方式请参考事件概览。Flutter SDK 不提供群聊成员级已读回执能力。