IM 即时通讯 (442)
Android (209)
- 初始化&链接 (8)
- 事件&监听处理 (7)
- 用户信息 (13)
- 会话列表 (16)
- 聊天会话 (26)
- 消息处理 (35)
- 自定义消息 (6)
- 音视频 (2)
- 推送&通知 (34)
- 扩展功能 (4)
- 第三方地图 (3)
- 依赖&配置 (9)
- 升级说明 (3)
- 其他 (43)
iOS (168)
- SDK 导入 (10)
- 连接 (8)
- 事件处理 (2)
- 用户信息 (3)
- 会话列表 (14)
- 聊天会话 (44)
- 消息处理 (26)
- 自定义消息 (8)
- 推送&通知 (19)
- 扩展功能 (5)
- 国际化 (4)
- 音视频 (3)
- 其他 (22)
Web (36)
Server (29)
Web 如何获取历史消息
获取历史消息获取机制
发布时间: 2016-05-17 17:16
回答:
var conversationType = RongIMLib.ConversationType.PRIVATE; var targetId = 'user1'; var timestrap = null; // 默认传 null, 若从头开始获取历史消息, 请赋值为 0 var count = 20; RongIMLib.RongIMClient.getInstance().getHistoryMessages(conversationType, targetId, timestrap, count, { onSuccess: function(list, hasMsg) { /* list: 获取的历史消息列表 hasMsg: 是否还有历史消息可以获取 */ console.log('获取历史消息成功', list); }, onError: function(error) { // 请排查:单群聊消息云存储是否开通 console.log('获取历史消息失败', error); } };
当 timestrap = null 时, 拉取历史消息支持自动拉取, 具体逻辑:
条件: 历史记录为 45 条, 每次拉取 20 条(count = 20)
第一次拉取 list 长度为 20, hasMsg 为 true
第二次拉取 list 长度为 20, hasMsg 为 true
第三次拉取 list 长度为 5, hasMsg 为 false
第四次拉取 list 长度为 0, hasMsg 为 false