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

2024-03-25

众所周知:

  • 如果应用程序处于后台或离线模式,则不会收到推送通知(应用程序在用户操作后获取一次:点击通知或应用程序图标).
  • 苹果推送通知服务保留只有最后一个通知当设备离线时。设备连接到互联网后,APN 会发送最后一条通知。

怎么解决这个问题呢?

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

问题是:

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

通知必须针对每个设备。为什么?例如,通知“从核心数据中删除对象”必须在每个设备中实现。因为only one用户可以同时在多个设备上登录。


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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐