近日,統一推送聯盟宣布将把聯盟的相關标準與成果納入到中國信通院與中國網際網路協會共建的“中國移動基礎服務平台”(China Mobile Service,CMS)相關體系中,為我國移動網際網路生态提供自主可控的第三方基礎服務。聯盟标準和成果中很重要的一部分就是統一推送标準及相關規範。
那麼,究竟什麼是統一推送?統一推送的意義和價值在哪裡?為何統一推送标準得以被納入到CMS中?開發者又該如何接入統一推送?
個推為您全面解讀統一推送的那些事兒。
統一推送之由來
衆所周知,谷歌的系統級推送服務GCM(Google Cloud Messaging)在國内無法使用。App開發者要在Android裝置上進行消息下發,就需要考慮自建消息推送通道或使用第三方消息推送平台。同時,不同手機硬體廠商也會提供各自的系統級别的推送服務,比如華為推送、小米推送等。如此一來,APP開發者就需要針對不同的裝置和系統去做适配,還要花費大量的時間和人力對接、管理和維護不同的推送通道。
為保證服務一緻性,降低開發者使用推送服務的成本,2017年10月,在工信部号召下,中國資訊通信研究院泰爾終端實驗室牽頭,聯手衆多手機廠商和個推等提供推送服務的網際網路企業,共同建立了統一推送聯盟。聯盟的核心任務之一,就是通過标準化的方式統一推送通道和接口,幫助開發者更好地解決消息推送需求,并為終端使用者帶來更好的使用體驗,破解移動網際網路生态碎片化的問題。
統一推送UPS:為開發者帶來重大利好
2018年,統一推送聯盟釋出了我國自主的移動基礎服務标準《統一推送通道層接口規範》。通過對規範進行更新和完善,聯盟于2019年釋出《T-UPA0002-2019統一推送接口層規範(當機版)》,為裝置廠商和第三方消息推送服務商适配和實作統一推送提供了具體規範和技術标準。UPS(Unified Push Service),指的則是使用統一的推送通道層接口規範,已經适配和滿足統一推送标準的消息推送服務。

圖檔來源:http://www.chinaupa.com
如上圖所示,UPS的接口規範主要包含兩部分:
- APP-Server與UPS-Server之間的API接口集L1,包含推送請求的鑒權(Auth)、送出推送(Send);
- App-Client與UPS-SDK之間的API接口集L2,包含注冊令牌(registerToken)、登出令牌(unRegisterToken)、開啟推送(turnOnPush)、關閉推送(turnOffPush)。
當應用方使用UPS時,無論是Server端還是Client端,隻需按照UPS接口,即可對接所有支援UPS的廠商,無需針對每家廠商一一對接不同接口,真正給開發者節省了大量成本,帶來了極大便利。
同時,由于UPS是系統級的推送服務,還能幫助APP大大提升消息的到達率,使得應用即使在背景不活躍的狀态下也能收到消息;同時,UPS還可減少手機因為無效連接配接所耗費的流量消耗以及對系統資源的占用,極大提升終端使用者的使用體驗。根據統一推送聯盟的待機功耗測試結果,系統級推送可以降低30%~40%的手機待機能耗。
綜上,無論是對開發者還是對終端使用者,統一推送标準的制定和應用都具有非常重要和明顯的積極意義。目前,華為、榮耀、OPPO、中興、vivo、小米、紅米等衆多知名手機廠商均已認證統一推送聯盟測試,完成了對統一推送聯盟相關标準的支援。
個推統一推送解決方案
個推是統一推送聯盟内唯一一家成為副理事長機關的第三方消息推送服務商。一直以來,個推積極開放和分享自身在推送領域的多年實踐和經驗,是工信部安卓統一推送服務UPS技術标準制定的主要推動方之一。個推還是業内首家支援UPS标準的第三方消息推送服務商,并陸續同三星、索尼、堅果、比亞迪、海信、零跑汽車等達成戰略合作,為手機及電視廠商、智能汽車制造商、汽車作業系統提供商等客戶搭建符合UPS标準的智能觸達體系,提供統一推送解決方案。
接下來,本文介紹廠商和開發者如何通過個推接入統一推送UPS。
一、廠商通過個推接入UPS
Step1:建立系統級長連接配接
個推提供符合統一推送标準的推送SDK——個推UPS SDK。廠商将個推UPS SDK內建到系統層後,即可與個推UPS服務建立系統級長連接配接。
Step2:通過UPS下發消息
廠商通過UPS下發消息的方式有兩種,一種是直接使用個推的消息推送服務下發消息,此種方式适用于未自建推送通道的廠商,能夠幫助廠商一次性、高效率搭建起符合UPS的消息推送通道,同時還能依托個推智能标簽推送、場景推送等技術能力,對使用者展開個性化、智慧化的有效觸達。
另一種方式主要面向擁有開發者平台的廠商,該類型廠商通過個推UPS服務,幫助開發者完成消息的統一推送。
二、開發者通過個推內建UPS
個推還面向廣大App開發者開放了UPS內建方式。
已經注冊接入個推SDK的開發者隻需要完成以下兩步,即可使用個推UPS服務:
Step1:進入個推開發者中心開通UPS機型
目前個推消息推送服務支援的UPS手機廠商有堅果、索尼等。
Step2:在dependencies中增加UPS擴充包依賴
implementation 'com.getui.opt:ups:{version}'
詳細接入流程請參考個推文檔中心:https://docs.getui.com/getui/mobile/vendor/vendor_open,