安卓推送技術探討<br />
<br />
<br />
背景介紹<br />
隨著蘋果產品的風靡,推送技術在國內也越來越熱門。推送最開始用於郵件系統。隨著iPhone 和 Android 手機的風靡,逐漸在手機上也越來越常見。不少手機客戶端也時常推送一些消息。<br />
<br />
推送技術的應用<br />
推送技術在手機上的應用主要有兩塊:廣告推送、SNS信息推送。<br />
l 廣告推送:給目前有一定安裝量但沒有盈利模式的手機應用開發者帶來了一定希望,但要注意推送的頻度和內容選中,不然會因為推送的東西用戶不感興趣造成打擾。<br />
l SNS信息推送:主要用於QQ空間、人人網、微博和天涯論壇等web2.0社區網站推送好友的留言等,可以用來提升用戶黏性。<br />
推送的想象空間很大,和電商團購、新聞資訊、生活服務等類應用都有很強的結合點:<br />
比如電商團購應用,推送可以<br />
1) 提供限時促銷信息(公車秒殺)<br />
2) 根據商品銷售情況進行即時營銷活動(熱賣推薦)<br />
3) 提供個性化商品信息進行精確營銷(關聯推薦)<br />
甚至,推送和相親類的APP也可以有如下結合點:<br />
1) 線下活動或電視相親類節目參與通知發送<br />
2) 每周推薦一位相親對象,並事前通過多媒體方式展示,為高級會員提供高附加值服務<br />
3) 關注及時提醒,不再錯過良緣<br />
<br />
<br />
客戶端/服務器通信的兩種方式:<br />
服務端和客戶端推送有兩種方式,分別是Pull 和 Push。<br />
l Pull :由客戶端定時訪問服務器,詢問是否有新信息。而Push則在手機客戶端和服務器之間建立持久連接通道,服務端一有消息就通過通道發給手機。<br />
l Push:相比Pull,Push推送的消息是實時的,而且更節省手機的電量和流量,不需要定時訪問服務器。Pull輪詢方式一般信息會有1到10分鐘不等的延時,且耗電量也比Push方式消耗得多。<br />
<br />
<br />
推送解決方案<br />
目前Android上主要的推送實現方案有以下幾種:<br />
方案一、Google Cloud Messageing<br />
Google在Android上標配了自己的推送GCM(Google Cloud Messageing),可以幫助開發人員給他們的Android應用程序發送數據。<br />
GCM使用比較簡單,但有下面三個缺陷也導致了GCM在國內基本不可用:<br />
1.GCM要求Android系統必須是2.2以上的版本,所以不少2.2以前的系統沒法推送<br />
2.國內服務不穩定,且不少國內的終端廠商紛紛把Google的服務去掉,替換上自己的。<br />
3.需要用戶綁定Google賬號,但不少國內用戶沒有Google賬號。<br />
<br />
方案二、采用XMPP協議<br />
XMPP是一種基於XML的協議,它繼承了在XML環境中靈活的發展性,有很強的可擴展性。包括上面講的GCM服務器底層也是采用XMPP協議封裝的。<br />
XMPP協議缺點也很明顯:費電費流量,這個對當前智能機的消耗太大,在窄帶網絡和不穩定的(手機)網絡都不是最優的選擇。<br />
<br />
方案三、采用MQTT協議<br />
MQTT是個輕量級的、基於代理的“發布/訂閱”模式的消息傳輸協議。<br />
MQTT協議也有自己的缺點:協議復雜,部署成本比較高,還不夠成熟。<br />
<br />
方案四、采用第三方服務<br />
目前有不少第三方提供了類似服務,客戶端只需要嵌入第三方提供的lib庫,由第三方建立長連接,負責消息的接收/發送。國外的parse、pubnub做的很不錯,基本版也是免費的,但是由於大家都懂的原因國外的服務在國內經常訪問不了。<br />
<br />
國內做得不錯的有<a href="http://www.igetui.com">個推</a>,新浪微博,天天動聽,招商銀行,墨跡天氣等android上的推送也是他們做的,空載耗電每日15-50mAh,空載流量0.8-1.2M/月。據說耗電量,耗流量都是全行業最低的。<br />
單機支持200萬用戶並發在線,每秒鐘下行消息超過10萬條。比常規的推送高出幾個數量級。<br />
消息到達率在96%以上,延時小於250ms,換句話說消息會在1/4秒內到達。同時對於消息都有詳細的報表數據,可以用於做數據分析挖掘和用戶體驗的改善,總體來說是開發成本最低的。<br />
個推平台有兩種接入模式:<br />
l 群發模式<br />
ü 提供群發管理後台,滿足消息群發需求<br />
ü 無需設備部署,當天開通賬號,客戶端集成SDK發布即可使用<br />
l 業務整合模式<br />
如果希望推送與業務深度結合,還可以使用其提供的業務整合模式。<br />
ü 提供服務端API接口,可以與客戶已有業務系統深度整合<br />
ü 客戶一般經過1-2周開發改造即可實現新功能的上線<br />
<br />
通過對推送四種方案的比較,可以發現每種方案都有自己的優缺點。但總體上來說,第三方推送接入相對最簡單,開發也比較容易。無論是從消息的到達率、集成開發成本、並發量還是統計報表的完善程度,<a href="http://www.igetui.com">個推</a>都表現的非常出色。有興趣的朋友可以到如下地址體驗:<a href="http://www.igetui.com">http://www.igetui.com</a><br />
<br />