國內安卓推送的窘境 運營商贏了微信又能如何?

袁迪  ●移動互聯網 ●  2013-04-15

曾經有這樣一段笑話,某高鐵列車因為設備故障原因停在某小站,車內飲品食品均已搶購一空,躁動的空氣彌漫在車廂各個角落,諾基亞手機用戶電量充沛心中淡定,蘋果用戶看著1/3的余電量情緒還算穩定,安卓用戶看著電量刷刷向下掉,有的手握備用電池待命,有的早已惶恐地四處搶奪充電插口……的確,智能手機發展到今天,處理器、內存、顯示芯片、屏幕等等硬件都已不是問題,電池卻成為智能設備唯一的短板。

如今,三星NoteII 5.3寸的大屏手機,已經將電池容量升到了3100mAh,主流安卓手機也將電池容量提升至了2000-2500mAh,以解決安卓一直以來被用戶詬病的待機時間問題。不過,安卓拼電池容量打得熱火朝天的時修,蘋果的最新一代手機iPhone 5的手機電池卻依然停留在1500mAh。雖然屏幕耗電與安卓大屏相比確實少一些,但蘋果在節電管理方面似乎確實比安卓更有“心得”。但事實的確如此么?

近期圍繞微信收費的傳言成為移動互聯網圈子里熱議的話題,微信也在4月10日官方發布消息否認向用戶收費的傳言。如果復盤運營商與微信紛爭的始末,我們不難發現,擁有大面積非3G用戶的中移動不滿的聲音似乎最大。與此前一篇在商業視角寫微信運營商之爭的文章不同,本文將從技術角度講講這一問題的來源始末,將在第一部分講講安卓APP在國內做消息推送的難題,在第二部分通過數據分析一下為什么微信對中移動的沖擊最大,并在第三部分講講我對這一問題的看法。

blog0701d1

安卓手機費電的根源——推送

消息推送,顧名思議,就是手機內的APP在需要的時候向用戶推送一條信息顯示在信息欄上,并以鈴聲、提示音等方式提醒用戶打開。這條消息有可能是微博、微信的新消息,也有可能是鬧鐘提醒、日程提醒,也有可能是開發商為了提醒用戶盡可能多地開啟APP的營銷策略,如推送一個免費游戲道具等。

在iOS和安卓原生系統中,蘋果和谷歌兩家大佬都充分考慮到了第三方APP推送消息的訴求,并且為開發者提供了統一的推送接口。有所差異的是,在蘋果這個封閉的體系中,推送通道被定義成標準的系統級接口供開發者使用,而谷歌的通道則被集成在Google服務包(包含Google Play、Google Now、地圖和日程表等官方應用)中,作為可選服務提供給開發者。

理論上講,開發者使用蘋果或谷歌提供的標準接口開發APP做推送最為省事,也不必為高并發推送的技術細節而自己架設推送服務器。在iOS中,絕大多數開發者使用蘋果官方的通道,而對于安卓系統,由于Google官方推送通道的服務器因為某些原因不夠穩定,而國產安卓手機、大多數第三方ROM開發商常因為種種原因將安卓系統的Google服務包閹割掉。對于想通過消息推送與用戶互動的APP開發者來說,如果Google官方通道不穩定,并且不能夠覆蓋大多數用戶的手機,那么推送的事情就要由自己來完成,這對中小型開發商來說,將面臨技術與成本兩個方面的壓力。

歷史上任何一個偉大產業的興起,都有許許多多看到當局者需求的“賣水人”,如美國淘金熱時賣牛仔褲的,澳門賭場邊上賣水餃的……國內安卓開發的生態系統也是如此。在筆者半年多看過的移動互聯網項目,就有如極光推送、個推、巨能推等一批為中小開發者提供推送的第三方軟件服務公司。他們的商業邏輯是中小開發者無法承受APP千萬量級推送的技術成本和服務器成本,因此為開發者提供推送服務,并以此掌握不同品類APP的運營數據。其中,為抬杠等一些熱門APP提供推送服務的極光推送,在中小開發者中擁有良好的口碑,公司的估值已達到2500萬美金。

說了這么多,我們就能夠理解iOS與安卓平臺在國內推送的現狀,iOS走蘋果統一通道,安卓走自己搭建的或第三方提供的通道。這樣的現狀對安卓來說會造成兩方面的問題,網絡資源搶占和手機費電。這是由于蘋果設備只開設一條推送通路,而安卓設備中的每一個APP都可能“私”開一條通路。一個簡單的例子,微信、QQ和微博在iPhone上的推送很可能只走蘋果服務器到用戶手機一條通路,共用一個用戶手機與運營商建立的網絡連接,而安卓設備則需要用戶手機與運營商建立三條推送網絡連接。結果顯而易見,三條連接通路更占用網絡資源,當然對安卓用戶來講也更加費電。這也是安卓手機電池容量不段增加也解決不了待機問題的根源,也是蘋果在iPhone 5上推持1500mAh電池的底氣所在。

中移動叫板微信的原因——2G架構之痛

目前,國內保持激活的智能設備保有量已超過3億,其中蘋果設備達1.1億,而安卓設備達到1.9億,并加速搶占市場份額。對三家運營商而言,中國移動的2G(GPRS)和2.5G(EDGE)用戶的基數是最大的,由于中移動2G架構的短信與數據流量都走數據通道,某種程度上造成了通信連接資源的稀缺,用戶安卓手機中的每一個APP都掛一個長連接進行推送,那么需要走數據通路的短信則勢必會出現延時等現象,這也是逢年過節群發短信屢屢遇到延遲和擁塞現象的重要原因之一。

在安卓的Google服務框架的推送標準的定義中,主動消息推送(PUSH)是通過長連接實現的,為了保證推送通路的暢通,APP所在服務器會在每28分鐘向已通過2G/3G網絡連接的用戶手機發送一個心跳測試,這種“慢心跳長連接”的設計,很大程度上是為了用戶手機節電而設計的。中移動2G/2.5G網絡的另一缺陷是,如果已經建立的一個連接6分鐘沒有數據往來,那么這個連接將被強行停止,這也意味著微博或微信這樣的APP與移動2G手機建立的推送通路,如果在6分鐘之內沒有心跳測試,推送通路將被強制關停,安卓28分鐘/心跳的設計在中移動網絡中完全失效。

根據微信公開的數據,其安卓版本的心跳測試是以2.5分鐘為單位的,目的是最大程度保證通訊的即時性。如果按照一個用戶每天12小時保持微信后臺運行計算,720分鐘將會有288次的心跳測試,這也意味著單就微信一款產品,一天就會有300次左右通信行為,再加上其他APP的心跳測試通信,安卓手機費電在情理之中。對于移動的2G網絡而言,頻繁的連接心跳測試和大量連接通路占用,勢必會造成信令資源緊張。微信這種擁有3億多用戶的即時通信類APP,成為中移動首先對準的茅頭,也在情理之中。

在聯通、電信的3G網絡蓬勃發展的今天,中移動的TS-SCDMA制式在技術和終端種類等因素上的短板,導致中國移動的2G網絡依然成為其數據流量的主要通道。由于2G網絡通信協議并未針對長連接傳輸進行優化,IP鏈路層的高頻度信令支持能力不強,對長連接空閑時間的支持較短,結果導致2G網絡承受著沉重的多APP頻繁的心跳檢測負擔。

一定要用長連接的方式推送么?

綜上兩節所述,由于行貨安卓手機閹割了Google服務包,開發者失去了天然的省電推送通路。無論是自己架設推送服務器,還是使用第三方推送服務,都離不開長連接的方式,而微信這種即時通信工具的普及,占用了大量網絡資源和高頻次心跳檢測,給運營商特別是中移動帶來了極大的負擔,移動率先叫板微信是可以理解的。

不過,Google自己的不能用,長連接讓運營商叫苦不迭,有沒有其他的解決方法呢?結論是肯定的,在移動通信網絡中信令是天然的消息推送載體,但是國內的運營商都將這一省電、不占用長連接資源的通路用于了SMS服務(如彩信等賺錢的增值業務)中。移動開發商沒有信用收費的運營商信令,而選擇了對三方都無益的長連接,核心就在于付費與否。互聯網選擇了免費方式服務用戶,侵蝕了運營商的SMS和語音業務,同時遭到了日漸管道化的運營商的反擊。兩個產業商業利益間的沖擊,以及商業價值觀的巨大差異,才是造成這種博弈的根源。

推送、長連接、信令、SMS……運營商叫苦,可如果沒有開放和變革的心態,以及擁抱移動互聯網大勢的心境,贏了戰役,輸了世界,又如何?

袁迪投資經理

關注TMT行業的早期投資,擁有清華大學自動化專業學士及碩士學位。

宁夏11选5回推荐