推送通知在被删除之前排队等待多长时间?

Nic*_*TGD 20 apple-push-notifications ios

我一直在努力为客户端发现苹果推送通知的一些数据,而我无法找到答案的是推送通知在被删除之前将多长时间排在队列中.

可能有很长一段时间,例如2-3个月,其中设备可能处于非活动状态并且断电.我只是想知道在自动删除通知之前我可以期待一段时间可以延迟,等待传递给离线设备(这是我理解的情况).

pai*_*lee 19

官方开发者文档不清楚这一点.来自developer.apple.com :

Apple推送通知服务包括执行存储转发功能的默认服务质量(QoS)组件.如果APN尝试发送通知但设备处于脱机状态,则QoS会存储通知.它在设备上每个应用程序仅保留一个通知:从该应用程序的提供程序收到的最后一个通知.当离线设备稍后重新连接时,QoS将存储的通知转发到设备. QoS会在删除之前保留有限时间段内的通知.

但根据PCWorld,它是28天:

如果应用程序正在运行,它会立即收到通知.如果应用程序未运行,则通知将保留在手机中,以便在应用程序下次启动时使用.如果iPhone在发件人尝试发送时处于脱机状态,则APNS会尝试将通知发送28天.

虽然2009年的情况可能已经过了28天,但如果今天有所不同,我也不会感到惊讶.文档中的含糊不清是苹果公司毫不犹豫地改变这个超时期限的一个很好的借口.

  • 要验证这一点,您需要28-30个已关闭的iPhone,每个iPhone都有排队通知.然后每天打一个,直到你没有收到消息.他们真的没有让我们这么容易.. (3认同)