跳到主要内容

版本:5.X

多端同步阅读状态

多端同步阅读状态

调用 sendSyncReadStatusMessage 同步多个客户端的消息阅读状态。

接口

JavaScript
RongIMLib.sendSyncReadStatusMessage(conversation, timestamp)

参数说明

参数类型必填说明
conversationIConversationOption目标会话
timestampnumber同步时间戳,可通过消息的 sendTime 获取

示例代码

JavaScript
const conversation = {
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: "<目标用户ID>",
channelId: ""
};

const timestamp = Date.now(); // 阅读消息的 sendTime

// 发送同步已读消息
const syncReadStatusRes = await RongIMLib.sendSyncReadStatusMessage(conversation, timestamp);
console.info('多端同步阅读状态:', syncReadStatusRes);

服务器记录会话未读数

从 SDK 5.34.0 版本开始,融云 Web 与 Electron 平台支持由服务器记录会话未读数,确保多端未读数统一。开启该功能后,会话未读数由服务器统一管理,用户在任意设备上阅读消息后,其他设备的未读数会自动同步更新。

您可提交工单开通服务器记录会话未读数功能。开启后,您需要通过调用 markRemoteConversationAsRead 接口来清理会话未读数。

important

服务器记录会话未读数功能开启后,以下接口将被禁用:

  • clearAllMessagesUnreadStatus
  • clearMessagesUnreadStatus
  • clearUnreadCountByTimestamp
  • sendSyncReadStatusMessage

接口

JavaScript
RongIMLib.markRemoteConversationAsRead(identifier)

参数说明

参数类型必填说明
identifierIConversationIdentifier会话标识,包含会话类型和目标 ID

示例代码

JavaScript
// 构建会话标识
const identifier = {
conversationType: RongIMLib.ConversationType.PRIVATE,
targetId: "<目标用户ID>",
};

// 调用接口清理会话未读数
RongIMLib
.markRemoteConversationAsRead(identifier)
.then(res => {
if (res.isOk) {
console.log('清理未读数成功');
} else {
console.log('清理未读数失败:', res.code);
}
});