在离线或飞行模式下处理远程推送通知

时间:2015-12-10 08:09:32

标签: ios swift apple-push-notifications

推送通知服务

我现在正在使用 OneSignal 向我的iphone发送推送通知服务

申请状态:

假设我的应用程序在后台运行,但设备处于飞行模式。

我从“身体”中的一个信号“测试1 ”,“测试2 ”,“测试 3”发送3条消息以及apns提供的“标题”。

当我关闭我的飞机模式并将我的设备恢复到在线状态时,只有“测试3 ”到达并且仍然是“测试1 ”& “测试2 ”没有出现。

是不是因为APNS通知限制?我认为它不到2KB。我做错了什么?我真的需要帮助来指导我。

帮助: 那么,如果设备离线,我们如何处理很多通知?

1 个答案:

答案 0 :(得分:9)

对,APNS仅为无法访问的设备存储一条最新消息。这在Apple Developer Library

中有记录
  

如果APN尝试发送通知但设备处于离线状态,   通知存储一段有限的时间,并且   在设备可用时送到设备。

     

仅存储特定应用的最近通知。如果   在设备离线时发送多个通知,每个都是新的   通知导致先前通知被丢弃。这个   仅保留最新通知的行为称为   合并通知。

     

如果设备长时间处于离线状态,则会发出任何通知   被存放,因为它被丢弃。

确保后台数据不丢失的最可靠方法是将服务器上的每个用户的数据存储起来,然后使用后台通知指示您的应用从服务器获取最新数据,而不是从服务器获取数据。通知元数据本身。