Android 上的訊息推播通知(Push Notification)

來源:互聯網
上載者:User

Android froyo 之後,引入了 C2DM,基於XMPP 協議實現的推送機制。C2DM 的優點無需多言,但缺點也是顯而易見:
1. 需要google帳號。這一點約束太大了,很多手機廠家把google Apps給閹割了。
2. 國內服務不穩定,原因你懂得的。如果有能力在國外有伺服器,可以很快的發送訊息到C2DM 伺服器,從國內post 資料到 Google server,幾乎沒響應。
3. C2DM 僅支援 Android 2.2 以上

C2DM 運行在系統層級上,系統記憶體少時不容易被kill。C2DM與Gmail、Gtalk等共用同一個串連,減少耗電。跟iOS不一樣,Android支援App常駐進程,所以大家都不願意用。現在一些惡意的Android軟體,安裝後後台開啟一個服務,定時向使用者PUSH垃圾廣告,很邪惡。國內互連網公司都瞎折騰這樣那樣雲,但就沒有一家願意開發和提供一個Google C2DM的牆內替代品。

目前基於長串連push的開源軟體有:

AndroidPN

AndroidPN 是一個基於XMPP協議的java開源Android push Notification 實現,包含server與client,server 使用SSH架構,預設後台使用jetty,資料庫是hsqldb,該伺服器端基本上是在openfire基礎上修改實現的,據說在Android上的推送實現也是基於openfire,具體未詳。官方上的版本已經很久沒更新,而且還有一些bugs,比如:
1. 當伺服器端重啟的時候,用戶端就無法在串連到伺服器.
2. 不支援離線訊息。
3. 推送多條訊息重複問題

可以改造成tomcat版本,已經有很多網友在做這樣的事。

MQTT

IBM 產品,使用php寫的,據說外國網友在論壇上爆料,Facebook Android用戶端的推送使用這個。

沒有條件自己搞 push 伺服器的,可以使用第三方服務

Urban Airship http://urbanairship.com/

http://www.push-notification.org/

http://www.android-push.com/

據瞭解,錢方支付的 Android 用戶端是使用 http://www.android-push.com/ 的服務。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.