APNS推送通知未送达*某些*设备

时间:2014-07-04 12:51:05

标签: ios django apple-push-notifications

我为我的移动应用程序开发了一个Web API使用它。

此API是使用Django开发的,我使用django-push-notifications lib来处理推送通知。

推送通知对所有设备都运行良好,直到它停止为少数人工作,这在某些时候起作用,没有明显的原因。

我已经调试了服务器,我可以看到发送到APNS的消息和正确的格式。还审查了证书,一切正常。我正在使用生产证书发送到适当的服务器。 我确信这不是证书问题,因为其他一些手机会收到通知。

我现在应该从哪里开始寻找问题?

感谢。

2 个答案:

答案 0 :(得分:3)

  1. 他们不可靠!即使APNS服务器接受了推送通知,也无法保证实际发送推送通知。 就您的服务器而言,推送通知是偶然的;在将通知发送到APNS后,无法确定通知的状态。交货时间也可能有所不同,从几秒到半小时。

  2. 此外,用户的iPhone可能无法始终接收推送通知。它们可能位于WiFi网络上,因为所需的端口被阻止,因此无法与APNS建立连接。或者手机可以关闭。

  3. See this link

答案 1 :(得分:1)

您确定那些某些设备没有应用的开发版本吗?

尝试生成apn开发证书和apn生产证书的组合p12证书,而不是单独调用gateway.push.apple.com和gateway.sandbox.push.apple.com。