SDKsFlutter
加载历史消息
使用 Flutter SDK 分页读取会话历史消息。
从指定会话向上分页拉取更早的历史聊天记录:
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
conversationID | String | 是 | 目标会话 ID。 |
startMsg | Message? | 否 | 分页锚点消息对象。首屏查询传 null;后续分页传当前已加载的最早一条完整消息。 |
count | int | 是 | 每页拉取的消息数量。 |
viewType | int? | 否 | 历史记录视图类型,默认为普通历史(GetHistoryViewType.history)。 |
final page = await OpenIM.iMManager.messageManager
.getAdvancedHistoryMessageList(
conversationID: conversationID,
startMsg: oldestMessage,
count: 30,
viewType: GetHistoryViewType.history,
);
prependMessages(page.messageList ?? const <Message>[]);返回结果
Future 成功返回历史消息分页对象(AdvancedMessage),其 messageList 为当前批次的消息列表,isEnd 表示是否已拉取到最早的历史消息。
当 isEnd == true 时,表示本地及云端已无更早的历史记录,应停止继续向上拉取。查询操作仅获取静态数据快照,不会触发新消息事件通知;本地列表必须统一使用非空 clientMsgID 进行去重。若需从搜索结果等特定锚点向下反向加载更新的消息,请参考反向加载历史消息与按 ID 定位消息。
这个页面有帮助吗?