由于一些特殊的原因,在國内的使用者無法享受到谷歌安卓系統提供的 gms 消息推送服務,不少國産安卓軟體接收消息依靠背景服務存在,也由此出現了使用者反映的耗電以及占用記憶體問題,不過未來這一問題有望得到全面解決。
據工信部旗下泰爾終端實驗室釋出消息稱,各個終端廠商的系統級推送通道不可避免的存在差異性,是以,開發者同時接入、維護多條推送通道存在着一定的困難。在此背景下,泰爾終端實驗室聯合包括華為、oppo、vivo、小米、三星、魅族、金立、努比亞、谷歌、百度、阿裡巴巴、騰訊、個推、極光等國外内主要相關企業共同制定安卓統一推送服務(unified push service,簡稱ups)技術标準,旨在為國内的消息推送服務建立統一的标準,為終端使用者提供更好的手機使用體驗,為應用開發者更好解決消息推送需求,并取得了階段性成果。
具體來說:未來将由終端廠商提供系統級推送服務(類似apns的唯一推送通道),確定 app 的推送消息接收;相應的不再允許各 app 在背景保留常連接配接,降低終端能耗、提升使用者體驗。與此同時,各終端廠商實作推送通道接口和功能統一,友善開發者接入。另外,第三方推送服務商原則上也遵循統一推送的标準,保證服務一緻性,降低開發者學習成本。
目前 android 的各種自定義推送消息的泛濫也對手機通知欄的展示造成了影響,破壞了界面的統一性。統一推送的标準後,對于消息推送會增強管理。例如,通過推送消息的互相拉起明确不被允許,利用透傳消息拉起app的行為也被禁止。同時,為了保證使用者體驗,原則上也不支援推送消息的定制化(包括消息樣式的定制化以及提示音的個性化,通知欄圖示不允許使用外鍊),保證消息推送的公平性和使用者界面的一緻性。
為了幫助開發者提高推送的準确性,統一推送标準在推送通道中定義了批量推動消息的資訊回報機制,在消息過期後将每次推送的最終情況(展示、拒絕或其他類型錯誤)傳回給開發者,幫助開發者不斷根據回報資訊提升消息推送的準确度。同時,對于濫用推送消息也将進行限制,對于使用者點選率很低或使用者消息屏蔽較多的app,可能采取包括限制推送條數、拉入黑名單等懲罰性措施。引導開發者注重使用者體驗,實作淨化安卓生态的目标。
統一推送對于開發者的一個福音是,由于推送 api 的統一,未來各終端廠商将提供系統級 api 實作推送功能(即app無需嵌入各通道sdk)。考慮到實際情況,為了相容已有機型,手機端還是會提供一個簡單的sdk,判斷手機是否支援統一推送。若支援則可以直接調用 rom api ,否則按照目前已有方式進行推送(為了适配已有機型還需要保留推送sdk)。随着手機的自然更替,未來支援統一推送的終端數目會不斷更加,進而逐漸實作統一推送的平滑演進。