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