我正在尝试制作一个与WhatsApp完全相同的应用程序,迄今为止最大的限制是,当用户在一段时间后重新打开该应用程序并转到Conversation View
,新的Message
秒应用程序处于后台/暂停或终止状态状态必须从服务器(API)中恢复,这会导致Conversation View
中显示的新消息出现延迟。即使应用程序处于后台/挂起/终止状态,有没有办法让CoreData与服务器API同步?
如何通过服务器API实现应用程序的永久同步?我很确定WhatsApp这样的应用能够做到这一点,因为Message
s永远不会被下载,无论何时你重新打开该应用一段时间后,对吧?
什么是正确的方式来模仿这种类型的行为?我真的很想学习如何进行这种“高级”同步,我不知道从哪里开始。再一次,我的目标是尝试避免服务器下载新的Message
,例如当用户重新输入Conversation View
(例如,因为这将是糟糕的UX)
在此先感谢!
你不能真正得到完美的** **同步。你可以靠近。使用推送通知让您的应用程序知道有消息要检索。你也可以做一些*后台处理来获取更新。 – ryantxr
是的,我开始意识到它不可能是完美的。但是,在进入它们所属的ViewController后,是否应该下载“一些”数据(消息)?还是应该像在AppDelegate回调中那样发生? – jlstr
当应用程序进入前台时,您可以加载所有对话的所有消息。然后他们在进入对话时已经加载。 – ryantxr