如何确保 iOS 应用程序收到服务器发送的每条推送通知?

How to ensure that iOS app received EVERY push notification send by server?

众所周知:

如何解决?

问题是:

How the server knows what notifications were implemented in the app, and which one not?

通知必须针对每台设备。为什么?例如,通知 "remove object from Core Data" 必须在每个设备中实现。因为只有一个 用户可以在多台设备上同时登录。

您应该在服务器上跟踪任务的状态(删除记录或您的应用程序需要执行的任何操作),并在任务完成时让客户端报告。然后将任务标记为已完成。

不要将推送通知用作您任务的可靠交付方式,否则您会失败。使用通知作为您设置的补充部分。

因此,例如,当您的应用收到通知时,它可以与后端同步,检索标记为未完成的任务,执行它们,然后让后端知道它已完成。