Ios 当iPhone重新联机时,推送通知不会发送

Ios 当iPhone重新联机时,推送通知不会发送,ios,push-notification,apple-push-notifications,apigee,Ios,Push Notification,Apple Push Notifications,Apigee,我正在为我们的iPhone应用程序测试苹果推送通知。应用部署目标是6.1,iPhone运行的是7.1.1。我们使用Apigee作为推送通知提供程序。手机通过手机和wi-fi在线时会收到通知,确认应用程序端和Apigee端的注册正确。我打开飞行模式,推送来自Apigee的通知,等待3分钟,将手机从飞行模式中取出,手机从未收到推送通知。我等待几分钟(最多30分钟),然后从Apigee推送另一个通知,手机就会收到通知 我读过苹果的,我也读过 根据故障排除指南,“由于您的设备未连接到该服务,任何未立即发

我正在为我们的iPhone应用程序测试苹果推送通知。应用部署目标是6.1,iPhone运行的是7.1.1。我们使用Apigee作为推送通知提供程序。手机通过手机和wi-fi在线时会收到通知,确认应用程序端和Apigee端的注册正确。我打开飞行模式,推送来自Apigee的通知,等待3分钟,将手机从飞行模式中取出,手机从未收到推送通知。我等待几分钟(最多30分钟),然后从Apigee推送另一个通知,手机就会收到通知

我读过苹果的,我也读过

根据故障排除指南,“由于您的设备未连接到该服务,任何未立即发送的推送通知都会排队等待将来的重新发送。”立即“当然需要考虑您的连接延迟。由于APN将在该时间点超时,偏远情况将超过60秒。”这就是为什么我要等3分钟。我还知道APNS对一条消息进行排队,我想我知道我不会覆盖该消息——除非APNS QoS队列的延迟/吞吐量比几分钟差得多

在Apigee的消息历史记录中,我看到手机脱机时发送的通知。它的状态为“已完成”,发送总数为1,错误总数为0。我还在数据/收据下看到收据。这似乎表明Apigee成功地向APNS发送了通知(但我不是100%确定)。我验证了Apigee的notifierId对于在线和离线发送的所有通知都是相同的


我是否可以使用任何技术来了解为什么通知不是从APN发送的?还有什么我可以检查的吗?

您是对的,如果通知没有显示任何错误,并且已经创建了回执,则消息已正确传递给APNS


除了APNS本身的任何变幻莫测之外,我能想到的唯一一件事就是在通知上设置“expire”属性。你试过看这对你的结果有没有影响吗?

谢谢你,斯科特。我可能需要一段时间来验证这一点,因为我在一个限制性的环境中工作——我不希望你的答案不被承认。我在文档中遗漏了这个属性,我觉得这将解决这个问题。我会在可能的时候更新。我确认设置expire属性可以解决问题。如果Apigee记录了不设置它的行为,那就太棒了——假设Apigee和APNS边界之间有一个灰色区域。我们目前正在使用Apigee的管理门户发送通知,不支持expire标志(但这是我们的问题)。再次感谢斯科特。谢谢你的分析和反馈,戴维!