2011-03-15 56 views
0

我的苹果通知有时收到一些无法达到设备上。 当Apple通知失败时,请帮助我并告诉不同的情况。苹果推送通知

任何帮助将不胜感激。

+0

你说的失败是什么意思?没有收到通知?或发送失败?你在生产环境? – malinois

+0

某些时候通知丢失未达到目标设备。没有收到通知。是的,我正在生产 – user661274

回答

1

Apple明确指出通知不能得到保证。他们可能因各种原因而失败。例如,如果您在发送第一个通知之前向设备发送多个通知,则先前的通知将被删除。我似乎记得在某些地方的文档中看到,沙箱环境偶尔会传递一条消息,以便测试失败代码。

+0

请您发布一些相同的链接,我必须将其呈现给客户端。非常感谢。 – user661274

+0

从这里开始:http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html – mlewis54

6

推送通知可能有各种原因不起作用。该检查列表可以帮助你找到几个: APNS核对表

  • 提供商应该安装委托安全服务器CA根证书。这允许TLS/SSL验证完整的APNs服务器证书链。这个根证书可以从Entrust's site下载。

  • 开发环境中的设备令牌不适用于产品推送服务。每个pushenvironment将为同一设备发出不同的标记。如果一个无效的设备令牌被发送到错误的环境,推送服务会将其视为无效令牌并丢弃通知。

  • 如果您从您的设备中删除您的应用程序,然后发送推送通知给您,您会希望设备令牌被拒绝,并且无效的设备令牌应显示在反馈服务上。但是,如果这是设备上最后一个启用了推送的应用程序,则它不会显示在反馈服务中。这是因为在删除通知可以发送之前,删除最后一个应用程序会将推送服务的持久连接关闭。

  • 推送提供程序通常位于防火墙之后。要发送通知,您需要打开TCP端口2195。要获得反馈服务,您需要打开TCP端口2196。通过Wi-Fi连接推送服务的设备需要打开TCP端口5223。

  • 推送服务的IP地址范围可能会更改;预期供应商将通过主机名而不是IP地址进行连接。但是,整个17.0.0.0/8地址块已分配给Apple,因此您可以在防火墙规则中指定该范围。

  • 我们可以启用APNS日志记录,在设备上安装配置文件APNsLogging.mobileconfig,方法是将文件放在Web服务器上并使用设备上的Safari下载它的位置,或者将它作为电子邮件附件发送并打开在您的设备上的邮件附件。我们可以使用mdm来推送配置文件。

更多细节可以发现here