2013-03-13 108 views
1

我正在構建需要使用推送通知的應用程序。目前它只是一個iPhone應用程序,我已經實現了推送通知的手動版本。使用推送通知提供者有什麼好處嗎?

有相當多的服務爲你做這種事情......使用它們有什麼好處嗎?有一個很好的API並不真正相關,因爲我已經實現了手動推送。

主要的原因,我想問的是,我下載的應用程序的路徑,發現他們的推送通知似乎快了很多和很多比我的應用程序更可靠......

順便說一句,使用GAE爲IM後端。

感謝

+0

只是好奇:你是如何在App Engine上實現推送通知的?我認爲[那是不可能](http://stackoverflow.com/questions/1811439/is-it-possible-to-implement-iphone-push-notifications-in-a-google-app-engine-app) 。還是GAE代表別的東西? – omz 2013-03-13 02:47:28

+0

從技術上講,我所做的只是使用2個服務器 - 一個在GAE上,另一個是在VHS上運行的應用程序引擎開發服務器 – 2013-03-13 03:46:56

+0

我看,謝謝澄清。 – omz 2013-03-13 04:07:20

回答

1

最明顯的好處是用一個推送通知供應商是不是有自己編寫的代碼。編寫一個高效可靠的Apple推送通知提供程序並不簡單。如果您想要一個快速解決方案並願意爲此付費,那麼使用現有的提供商可能是最佳選擇。

在我看來,APNS API很糟糕。事實上,您沒有得到成功通知的確認,這使得編寫可靠的提供商變得困難。如果你想確保你不會錯過蘋果的錯誤響應,你必須經常從連接嘗試閱讀,並有大量的超時,這將使你的提供商變得緩慢。另一方面,如果您想盡快發送通知,則必須犧牲可靠性(因爲您無法依賴獲取Apple發送的所有錯誤響應)。當然,如果您確保數據庫不包含無效的設備令牌,並且始終發送有效的有效負載,則可以假設您不會收到來自Apple的錯誤響應,這將允許您快速發送通知。

這就是說,我不確定現有的APN提供商有多可靠和/或快速。 確保您使用的提供商質量的最佳方法是自己編寫它(除非您願意花時間測試現有提供商的可靠性和速度)。