在没有购买『实时消息回调』的情况下,你们是如何保证客户端离线超过7天/离线消息超过500条后再次上线,依然能成功获取到离线消息的?
我打算这样实现:
1.服务端定期刷聊天消息,全部存起来
2.客户端每收到一条消息时就把timestamp上报服务端
3.客户端每次启动时从服务端拉取离线消息,再从环信SDK拉取离线消息,两者合集视作真正收到的离线消息
目前实现到一半,还没开始完整测试,有没有哪位兄弟有相关经验,大家讨论一下
1.服务端定期刷聊天消息,全部存起来
2.客户端每收到一条消息时就把timestamp上报服务端
3.客户端每次启动时从服务端拉取离线消息,再从环信SDK拉取离线消息,两者合集视作真正收到的离线消息
目前实现到一半,还没开始完整测试,有没有哪位兄弟有相关经验,大家讨论一下
没有找到相关结果
已邀请:
1 个回复
laoyur - 80后IT男
这样一来,开发者自己的Server返回的那些超过7天/超过500条的消息,将没有机会被存到sdk自己的db中,需要开发者额外自行维护一个db,并调用EMChatManager将这个db的数据合并进去供App使用
如果我没理解错的话,以上的过程虽然比较复杂,但还是可行的
还有一个问题,请问所谓的离线消息7天后失效/超过500条失效,是指这些消息实实在在从服务端被删掉,还是说仅仅是无法从服务端拉取到?
举个例子:A给B发了消息,B当时不在线,过了10天后B上线,他自然从环信服务端是刷不到这条消息的,但假设我上面那套机制work的话,他是能拿到那条消息的,然后他调用EMChatManager.ackMessageRead来发送已读回执,请问此时A能否收到那条消息的已读回执?