繁体   English   中英

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

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

众所周知:

  • 应用程序在后台或离线模式下不会收到推送通知( 应用程序在用户操作后获取一次:点击通知或应用程序图标 )。
  • 当设备离线时,Apple推送通知服务保留最后一个通知 设备连接到Internet后,APN会发送最后一个通知。

怎么解决这个?

  • 刚到达应用程序( 非设备 )的最新通知必须反映应用程序中尚未实现的实际通知数量。 那么,我可以从服务器上下载最后n通知,并随时在应用程序中实现它们。

问题是:

服务器如何知道在应用程序中实现了哪些通知,哪一个没有?

通知必须是每台设备。 为什么? 例如,必须在每个设备中实现通知“从Core Data中删除对象”。 因为只有一个用户可以在多个设备上登录。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM