2012-02-09 80 views
19

我想添加一个火警功能到我的应用程序。我认为推送通知可能是最佳选择。但是如果延迟时间很长,比如超过10分钟,火灾报警就没有意义了。 假设设备在线,推送通知需要多长时间?ios推送通知需要多长时间?

回答

35

推送通知不可靠,不能保证它们已交付。这一切都取决于苹果APNS服务器,这就是说,通常当我发送推送通知时,我会在几秒钟内得到结果

更多信息:

他们不可靠!即使APNS服务器接受了推送通知,也不能保证实际上会推送推送通知。

就您的服务器而言,推送通知是即发即忘的;在将通知发送给APNS后,无法找到通知的状态。交货时间也可能不同,从几秒到半小时不等。

此外,用户的iPhone可能无法一直接收推送通知。他们可能在WiFi网络上,因为所需的端口被阻塞,所以不允许连接到APNS。或者电话可能被关闭。

APNS将尝试在设备恢复在线时发送最后收到的通知,但它只会在有限的时间内尝试。一旦超时,推送通知将永远丢失!

来源:http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12

+0

谢谢!有没有其他可靠的火灾报警解决方案? – realsnake 2012-02-10 02:39:08

+0

使用类似urbanairship的第三方工具可以反馈是否收到通知并显示任何错误。另外,如果它帮助你,请“接受”我的答案。 :) – danielbeard 2012-02-10 03:08:13

+3

Urbanairship不反馈是否收到通知。相反,如果令牌无效,它可以提供反馈,也可以使用苹果的反馈服务来检索。在我的经验中,Urbanairship比直接使用Apple可靠性要差一些。 – 2013-08-23 02:22:06

-3

我刚刚发现这一点的同时试图解决我有另外一个问题。这个问题的一个可行解决方案就像PubNub。他们提供可靠性,性能和服务保证

+0

PubNub如何解决Apple的APNS限制?问题是关于接收Apple推送通知的预期最大延迟,与PubNub无关。 – 2015-02-23 14:35:15

+0

对不起@so_mv,我从服务的“可靠性”角度来看你的问题(因为你在谈论火灾和威胁生命的问题),而且我知道APNS没有提供交付保证或任何东西。其他人会这样做,并且有一些额外的方法来确保消息通过我们都遇到的许多通常具有挑战性的场景传达给用户。很高兴你找到了适合你的答案! – 2015-02-23 18:10:58