请教:IOS 怎么导入历史聊天记录

用IOS demo举例:APP重装或者换另一个手机登陆之后 历史聊天记录就没有了,是因为聊天记录是保存到本地沙箱数据库中,我现在需要解决的问题是重装APP或者换手机登陆之后能保证聊天记录存在。现在能想到的有两个解决方案?第一种:IOS的SDK提供了从服务器拉取聊天记录数据并自动保存到本地沙箱的方法,但不知SDK是否提供了这种方法。第二种:如果第一个解决方案不能实现那么 我只能从REST API上拉数据,然后手动用代码的方式将数据写到沙箱数据库对应的表中,但是从REST API获取的数据和本地沙箱生产的表结构有不匹配(沙箱数据库中聊天记录表有很多字段,但是从REST API拉的数据只有很少一部分的字段)  请问环信工程师们  我应该怎么处理呢?
共3个回复

play a game

2015-09-24 16:43

非常感谢  已经按你建议的方式 实现了该功能 但是导入的消息 前面有一个感叹号,见附件截图 [attach]1397[/attach] 应该是构造EMMessage对象并插入的时候的问题,代码如下,请问需要怎么调整:   [code]EMMessage *message = [[EMMessage alloc] initMessageWithID:@"109583740858008100" sender:@"wanhongbo6" receiver:@"wanhongbo4" bodies:@[body]]; message.timestamp = 1443083360360L; [[EaseMob sharedInstance].chatManager insertMessageToDB:message append2Chat:NO];[/code]

lifei9241

2015-09-24 18:21

message.deliveryState = eMessageDeliveryState_Delivered;  加上这个  给消息的发送状态赋值。

lifei9241

2015-09-24 15:54

环信SDK内没有从服务器拉取聊天记录的方法。实现的话,你可以调用rest导出聊天记录保存到你们自己的服务器上,卸载app之后,想要显示的话,从你们服务器去获取。如果想存入环信SDK建的数据库中,SDk提供有插入的方法,可以构造得到EMMessage对象,然后调用插入的方法(insertMessageToDB等)。具体方法注释可以看下IChatManagerConversation.h头文件。

play a game

2015-09-24 16:44

麻烦帮我看下 另一个问题
点击此处继续提问与开发者们互动

申请试用

提交后工作人员会尽快与您联系进行功能演示
技术咨询已转移到管理后台,请先登录

即时通讯云使用者请在应用详情页面咨询
客服云使用者请进入管理员模式咨询

×

400电话

商务咨询

技术咨询

免费试用