Android推送方案及比較
經常有朋友困擾于Android上面實現推送的技術,希望知道各種方案的優缺點、性能、開發難度等,于是特意寫了這篇文章。
Android上實現推送的技術方案大致有如下幾種:
方案一:
Google官方的服務
但,通過對比研究發現C2DM機制存在以下缺點:
1)GCM要求Android系統必須是2.2以上的版本,所以對于不少2.2以前的系統沒法推送。
2)國內服務不穩定。而且不少國內的終端廠商紛紛把Google的服務去掉,替換上自己的。
3)需要用戶綁定Google賬號,但不少國內用戶沒有Google賬號。
方案二:
利用MQTT協議,broker做代理服務器,但是隨著用戶的增多這個方案會有問題,因為broker的連接數有上限,到了一定程度后就無法連接了,這也就導致消息很難發送出去。
總之,連接數量有限制。
方案三:
基于XMPP協議,很多人都建議使用這個,谷歌官方的C2DM也是基于XMPP研發的,使用這個方案不會依賴android系統,也不依賴于谷歌服務器。
XMPP協議比較費電費流量,對當前智能機的消耗太大。
在窄帶網絡和不穩定的(手機)網絡都不是***的選擇。
方案四:
最近新出的一種是APNS,這個也不需要自己架設服務器(可以查看http://www.push-notification.mobi/),很簡單,自己不用開發服務端。不過很少有人去用,不是很穩定。
主要有以下特點:
快速集成:提供一種比C2DM更加快捷的使用方式,避免各種限制.
無需架設服務器:通過使用"云服務",減少額外服務器負擔.
可以同時推送消息到網站頁面,android 手機
耗電少,占用流量少.
第三方服務:
目前也有不少第三方提供了推送服務,由于接入簡單、服務比較專業可靠、還提供報表等,不少國內開發者和企業都采用這種方案。比如國外的parse、 pubnub,國內的個推,都是這類。36kr前段時間有報道,新浪微博就是用的一家叫“個推”的第三方服務(有興趣的朋友可以前往查 看 http://www.igetuicom)
特點:
方便,易集成
沒有C2DM中的版本限制和必須用gmail綁定
云服務,不用架設自己的服務器
系統穩定、專業,能夠承受高并發支持
簡單高效,并且省電