我正在尝试制作一个完全像 WhatsApp 的应用程序,到目前为止最大的限制是当用户在一段时间后重新打开应用程序并转到 Conversation View
时,新消息
在应用程序处于后台/暂停或终止状态期间发送必须从服务器 (API) 恢复,这会导致潜在的延迟新消息显示在 Conversation View
中。
如何使用服务器 API 实现应用程序的永久同步?我很确定像 WhatsApp 这样的应用程序能够做到这一点,因为当您在一段时间后重新打开应用程序时,消息
似乎永远不会被下载,对吗?
模仿这种行为的正确方法是什么?我真的很想学习如何执行这种“高级”同步,但我不知道从哪里开始。同样,我的目标是尝试避免在用户重新进入 Conversation View
时服务器下载新的 Message
(例如,因为那会是糟糕的 UX)
提前致谢!
最佳答案
您的应用需要推送通知。这是此类应用的必备。
在服务器上,当您知道有新消息时,向应用程序发送推送通知。这会让应用程序知道有消息要阅读。此时应用程序可以标记应用程序图标,弹出警报并显示在通知屏幕上。用户控制通知的显示方式。
此处有关通知的详细信息: https://developer.apple.com/notifications/
您的应用可以在收到通知时加载所有消息。
iOS 应用确实有一些有限的后台进程选项:https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html
关于ios - 有没有办法让 CoreData 与服务器 API 保持同步,即使应用程序处于后台/暂停/终止状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45655449/