云通信拉取本地服务器消息,开通历史消息云存储功能,获取融云服务器端的消息为空的问题...
需要留意参数 dateTime 的设置值
调用 getRemoteHistoryMessages 返回的是本地数据库中没有存储的 Message,如果本地数据库中已经存在一个时间段的 Messages,那么调用 getRemoteHistoryMessages 获取这个时间段的消息会返回 null 。
所以在刚开始获取历史消息的时候先调用 getHistoryMessage 获取本地数据库中存在的 Messages,如果本地数据库中的 Messages 取完了,那么记录下最后获取的 Message 的 sentTime,再调用 getRemoteHistoryMessages 这个接口,这个时候 dateTime(getRemoteHistoryMessages的第三个形参)传递就是刚才记录下的sentTime。/**
*
获取融云服务器中暂存,特定类型,targetId 的N条(一次不超过20条)历史消息记录。通过此接口可以根据情况分段加载历史消息,节省网络资源,提高用户体验。
*
区别于 {@link #getHistoryMessages},该接口是从融云服务器中拉取。通常用于更换新设备后,拉取历史消息。
* 公众服务会话 {@link io.rong.imlib.model.Conversation.ConversationType#APP_PUBLIC_SERVICE}
* {@link io.rong.imlib.model.Conversation.ConversationType#PUBLIC_SERVICE}
*
* @param conversationType 会话类型。
* @param targetId 目标 Id。根据不同的 conversationType,可能是用户 Id、群组 Id。
* @param dateTime 从该时间点开始获取消息。即:消息中的 sentTime;第一次可传 0,获取最新 count 条。
* @param count 要获取的消息数量,最多 20 条。
* @param callback 获取历史消息记录的回调,按照时间顺序从新到旧排列。
*/public void getRemoteHistoryMessages(final Conversation.ConversationType conversationType, final String targetId, final long dateTime, final int count, final ResultCallback> callback)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
