首頁>科技>

2019 年剛剛過去,蒸蒸日上的中國產手機事業推動了國內 Android 群體的日漸壯大。一方面我們能夠享受到 iPhone 陣營沒有的高重新整理率螢幕、超級快充技術等,另一方面卻因為國內 Android「碎片化」的問題至今沒有能夠媲美 App Store 標準的應用生態。

資訊推送系統成為這當中至關重要的一環。

如果你關注新聞,會發現一個名為「統一推送聯盟」的組織在近期尤為活躍:vivo、iQOO 完成手機統一推送適配,華為、OPPO、一加、realme 完成統一推送服務開發,與 12321 舉報受理中心開展合作,三星支援接入統一推送標準……

這個在去年下半年曝光率直線上升的組織,今年能為國內 Android 生態帶來怎樣的變化?

國內 Android 訊息推送服務的癥結

無論是 iOS 還是 Android 平臺,Apple 和 Google 都為自家系統準備了專門的訊息推送服務。蘋果的推送服務叫 APNs(Apple Push Notification service),Google 的過去叫 GCM(Google Cloud Message for Android),現在叫 FCM,名稱不同,但兩者的作用大同小異:將開發者想推送的訊息精確推送給終端使用者。

而國內 Android 由於無法接入 Google 原生 GMS 服務,FCM 推送也長期處於不穩定甚至被濫用的狀態,與國內定製系統配套的訊息推送主要靠「土生土長」的訊息推送服務來完成。為了保證訊息推送的及時性,手機端必須維持一個後臺常駐的推送服務,當接收到伺服器推送的訊息時,這個推送服務就會將對應的訊息以對應的 APP 提示樣式準確提示到使用者。

基於 APNs 和 FCM 實現的各種推送 | 圖:GoodBarber

這個常駐的推送服務有沒有、選哪個,對國內 Android 應用而言一直是個大問題:一般來說,大廠通常會有選擇地接入適合自己的推送服務,並且有選擇地不接入部分推送服務;但對於中小規模的開發團隊而言,App 享受不了系統級別的白名單特權(比如微信),又要保障推送的及時,只能儘可能多的接入主流推送服務。

當一個 APP 同時接入了三方推送(如極光推送、友盟等),多個系統級別推送(小米、華為、OPPO、魅族等)後,不僅安裝包變大,程式碼開發和維護成本也直線上升。

更為惱火的是,在那些沒有固定推送服務的作業系統上,要維持推送通知的及時有效,就必須保證各應用通知推送服務的後臺常駐。

涉及到的推送服務越多,佔用的執行記憶體和電量消耗也就更多:中國產旗艦 Android 的電池一直比蘋果電量大,一方面就是為此考慮;另一方面,更多的後臺意味著更大的記憶體消耗,如果記憶體不夠的話常規使用體驗就會大打折扣,常見的APP 閃退,突然黑屏,應用卡頓等直接原因都是記憶體不夠,而中國產手機相應地不得不加大手機記憶體,以此衍生了 6G、8G 不同記憶體配置的版本,實質都是國內市場部分妥協的後果。

顯然,如果沒有系統級推送服務框架,同時通知推送服務又難以在後臺「保活」,推送訊息延遲最終會成為一個大問題:

為了保障推送體驗,我們在 小米推送官網 上可以看到,除了第三方推送服務,微博也已經接入了小米家的 MiPush 推送服務。隨著小米、華為和 OPPO 等系統級別的推送服務越來越成熟,更多 APP 會逐漸接入。

非小米機型只能通過第三方工具來享受推送服務帶來的便利 | 圖:MiPushFramework (GitHub)

想象一下中午 12 點的時候收到了領導早上 8 點發送的微信訊息通知,這是一件多麼恐怖的事情。即時通訊工具一旦推送不及時,幾乎自費了一半武功。微信、QQ 這類即時通訊軟體重度依賴推送訊息的及時和準確,所以騰訊即使是自建伺服器也要保證訊息推送的可控。

因此要想從根本上解決這些問題,我們還是需要一個與 APNs 類似的、統一的推送服務。開頭提到的統一推送聯盟也應運而生。

統一推送能解決哪些問題

2017 年 10 月,掛靠在電信終端產業協會(TAF)下,接受工業和資訊化部業務指導的統一推送聯盟正式成立,其成員幾乎包含國內所有前沿的網際網路廠商。聯盟成立的目標也很簡單:各家企業和 APP 都要遵從聯盟建立的統一推送體系,不再使用獨立的推送服務和標準。

減少電池功耗、流量及資源佔用

截止到 12 月 24 日,已經有 9 個手機品牌相繼完成了統一推送適配。他們分別是:華為、榮耀、OPPO、realeme、一加、中興、三星、vivo、iQOO。暫未接入的還有小米、魅族、努比亞、聯想、酷派、堅果等。其中聯盟公眾號有表示小米正在適配中,堅果也在釋出會宣告會接入。

據聯盟去年公佈的時間節點來看,2019 年 3 月 1 日,聯盟開始統一推送標準符合性測試;2019 年 12 月 31 日,現有各推送通道相容統一推送標準。 雖然尚未接入所有的手機品牌,但統一推送顯然已經是大勢所趨。

那麼統一推送究竟能解決耗電大、佔資源、推送不及時的問題嗎?

從官方給出的 三星手機適配測試 中,我們應該能看出一二。測試樣機在北京移動 4G 網路駐留,手機處於熄屏、靜音狀態,安裝常用 30 款 App,對應用自建通道和採用統一推送的功耗進行對比。資料顯示:經過 200 分鐘的比對測試,採用統一推送可以降低手機待機能耗 30.4%。同時,系統推送服務可以大大提升手機重要訊息的到達率(尤其是在弱網路的情況下),減少手機嘗試無效連線所耗費的流量消耗以及系統資源佔用。

應用自建通道的待機平均電流 18.64mA

注2:應用自建長連線功耗與應用個數正相關。

「推必達」接入災害預警

不可忽視的是,除了上述統一推送服務(類似 APNS 和 FCM ),統一推送聯盟還開放了「推必達」服務,接入後我們還可以享受到運營商電信級別的災害預警推送服務。

相比統一推送而言,理論上需要保持的後臺和長連線索性都不需要了,據說接收推送和收到簡訊一樣可靠。拋開「推必達」的落地成本和時間來看,這一點在重大災害預警和救援上大有可為。一旦遇險,資訊推送將變得至關重要,第一時間推送的逃生路線和 GPS 資訊,都將為避險和救援爭取到寶貴時間。

降低推送開發和維護成本

響應統一推送服務,對開發者來說顯然省去了推送這個令人頭疼的問題,對大部分開發者而言接入統一推送標準應該也不會有太多的適配或遷移成本。

另外,儘管微信此前曾以「安全標準」為由拒絕加入,但事實上統一推送服務也提供了強制加密服務,不應該存在以安全的理由拒絕加入,尤其在騰訊還是聯盟重要理事的前提下。雖然這點其實作為使用者我們也不用太擔心:由於微信和 QQ 已經擁有很多系統的白名單(系統級的功耗優化),只要維持這個現狀,接入和不接入的差別並不會太大。

第三方推送服務接入已經開始

事實上,根據統一推送聯盟此前公佈的 時間表,第三方推送通道會在 2019 年 12 月 31 日完成對統一推送標準的對接。而就在 12 月 31 日當天,每日互動旗下的訊息推送服務「個推」就率先宣佈了對統一推送介面標準的 適配。

「個推」的接入無疑是一個不錯的開始——根據每日互動方面的公開資料,作為國內第三方推送服務市場的早期進入者,「個推」訊息推送 SDK 的日活獨立裝置數量約有 4.3 億(截至 2019 年 6 月),包括人民日報、新華社、CCTV、微博、京東、網易新聞、滴滴出行等應用在內的數十萬 App 都接入了「個推」的推送服務。

在接入統一推送標準後,採用「個推」的應用開發者只需升級到最新版「個推」服務 SDK 即可完成對統一推送服務的接入,幾乎不會有額外的適配工作量;這些應用在已經支援統一推送標準的手機上可以更加即時且高效地進行通知推送。

這同時也讓我們看到了統一推送標準的可行性和可能性:如果 MiPush、OPush、華為推送等其它國內主流推送通道陸續接入統一推送標準,省電且可靠的通知推送將成為國內 Android 的新常態,在 綠色應用 和統一推送標準的雙重槓桿撬動之下,飽受詬病的國內 Android 生態體驗也勢必會得到大幅改觀。

對國內 Android我生態而言,這顯然應該是 2020 年最值得期待的一件事情了,除「個推」外其他推送服務將於何時、以何種姿態接入統一推送,我們拭目以待。

最新評論
  • 1 #

    推送是不是說,我的qq賬號一直推送伺服器端掛住?

  • 2 #

    所以 谷歌不迴歸 我堅決不買任何安卓手機

  • 3 #

    國內的統一推送聯盟正在發展,不久的將來這個問題可以徹底解決。

  • 4 #

    所以說不是說安卓生態不是真的就那麼不堪,而是國內環境問題。

  • 5 #

    工信部沒有硬性規定 有啥辦法

  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 馬雲佈局新零售躺著掙錢?2019年最後一個上市企業也和他有關?