浏览 SDKs · React Native
平台
SDKsReact Native

加载历史消息

OpenIM React Native SDK 加载历史消息。

复制

分页加载指定会话中较早的历史消息。首次拉取首页历史时,startClientMsgID 传入空字符串;后续向上滑动加载更多较早消息时,传入当前已展示列表中最早一条消息的 clientMsgID。

const page = await OpenIMSDK.getAdvancedHistoryMessageList({
  conversationID,
  startClientMsgID: oldestMessage?.clientMsgID ?? '',
  count: 30,
  viewType: ViewType.History,
});

参数说明

参数类型必填含义
conversationIDstring是要读取历史消息的会话 ID。
startClientMsgIDstring是分页锚点消息 ID;首页拉取时传入空字符串 ""。
countnumber是本次拉取的消息数量上限。
viewTypeViewType是场景类型,浏览普通聊天历史传入 ViewType.History。

返回结果

调用成功后返回 AdvancedGetMessageResult 对象:

字段类型含义
messageListMessageItem[]当前页获取到的历史消息列表,按时间先后顺序排列。
isEndboolean是否已拉取到该会话历史记录的最早起点;为 true 表示没有更早的历史消息了。
errCodenumber本次历史读取的状态码。
errMsgstring与 errCode 对应的状态说明。

客户端将拉取到的 messageList 合并入本地会话消息列表时,应以 clientMsgID 为合并标识进行去重,防止网络重试或异步回调引起重复展示。