获取列表

注意事项

  1. 单群聊历史消息需要在开发者后台高级功能设置中开通 IM 商用版后, 开启单群聊消息云存储功能才可使用
  2. 获取聊天室历史消息请查看 聊天室
  3. 拉取历史消息最多一次行拉取 20 条消息。拉取顺序按时间倒序拉取

参数说明:

参数 类型 必填 说明 最低版本
conversationType Number 会话类型 2.2.0
targetId String 目标 id 2.2.0
timestrap Number 获取时间戳, null 为自动拉取, 0 为从当前时间拉取 2.2.0
count Number 获取条数, 范围 1 - 20 2.2.0

当 timestrap = null 时, 拉取历史消息支持自动拉取, 具体逻辑:

条件: 历史记录为 45 条, 每次拉取 20 条(count = 20)
第一次拉取 list 长度为 20, hasMsg 为 true
第二次拉取 list 长度为 20, hasMsg 为 true
第三次拉取 list 长度为 5, hasMsg 为 false
第四次拉取 list 长度为 0, hasMsg 为 false

代码示例:

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);
  }
});