2012-02-09 83 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