有没有办法让 CoreData 与服务器 API 保持同步,即使应用程序处于 Background/Suspended/Terminated 状态?
Is there a way to keep CoreData in Sync with a Server API even when the App is in Background/Suspended/Terminated states?
我正在尝试制作一个与 WhatsApp 完全一样的应用程序,到目前为止,最大的限制是当用户在一段时间后重新打开该应用程序并转到 Conversation View
、新的 [=在应用处于 Background/Suspended 或已终止 状态 期间发送的 13=]s 必须从服务器 (API) 恢复,这会导致Conversation View
.
中出现新消息的潜在延迟
如何实现应用程序与服务器API的永久同步?我有点确定像 WhatsApp 这样的应用程序能够做到这一点,因为 Message
似乎永远不会在您 重新打开 应用程序一段时间后下载,对吧?
模仿这种行为的正确方法是什么?我真的很想学习如何执行这种 "advanced" 同步,但我不知道从哪里开始。同样,我的目标是尝试避免在用户重新输入 Conversation View
时服务器下载新的 Message
(例如,因为那会是糟糕的 UX)
提前致谢!
您的应用需要推送通知。对于这样的应用程序,这是必须。
在服务器上,当您知道有新消息时,向应用程序发送推送通知。这会让应用程序知道有消息要阅读。此时应用程序可以标记应用程序图标,弹出警报并显示在通知屏幕上。用户控制通知的显示方式。
此处有关通知的详细信息:
https://developer.apple.com/notifications/
您的应用可以在收到通知时加载所有消息。
iOS 应用确实有一些有限的后台进程选项:https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html
我正在尝试制作一个与 WhatsApp 完全一样的应用程序,到目前为止,最大的限制是当用户在一段时间后重新打开该应用程序并转到 Conversation View
、新的 [=在应用处于 Background/Suspended 或已终止 状态 期间发送的 13=]s 必须从服务器 (API) 恢复,这会导致Conversation View
.
如何实现应用程序与服务器API的永久同步?我有点确定像 WhatsApp 这样的应用程序能够做到这一点,因为 Message
似乎永远不会在您 重新打开 应用程序一段时间后下载,对吧?
模仿这种行为的正确方法是什么?我真的很想学习如何执行这种 "advanced" 同步,但我不知道从哪里开始。同样,我的目标是尝试避免在用户重新输入 Conversation View
时服务器下载新的 Message
(例如,因为那会是糟糕的 UX)
提前致谢!
您的应用需要推送通知。对于这样的应用程序,这是必须。
在服务器上,当您知道有新消息时,向应用程序发送推送通知。这会让应用程序知道有消息要阅读。此时应用程序可以标记应用程序图标,弹出警报并显示在通知屏幕上。用户控制通知的显示方式。
此处有关通知的详细信息: https://developer.apple.com/notifications/
您的应用可以在收到通知时加载所有消息。
iOS 应用确实有一些有限的后台进程选项:https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html