Android訊息推送原理

2021-09-22 19:29:19 字數 1748 閱讀 5051

出處:

產品的角度:功能需要,比如說資訊類產品的新聞推送、工具類產品的公告推送等等

運營的角度:活動運營需要,比如說電商類產品的**活動;召回使用者 / 提高活躍度等等

作為開發者,不要有需求就接,應該多思考、多理解使用者 / 功能的使用場景,有助於我們更好地去選擇合適的開發方式

作業系統有自身的訊息推送功能(系統級別)

系統級別:任何時候都可以推送給使用者,且不會被系統殺死

android的訊息推送服務稱為:c2dm(cloudto device messaging)

經總結,android中實現訊息推送的有7種主流解決方案,接下來將一一介紹。

定義:cloud to device messaging,雲端推送

android系統級別的訊息推送服務-google出品

原理:基於push方式,c2dm服務負責處理諸如訊息排隊等事務,並向執行於目標裝置上的應用程式分發這些訊息。如下圖:

定義:輕量級的訊息發布/訂閱協議

原理:基於push方式,wmqtt.jar 是ibm提供的mqtt協議的實現,原理如下圖:

客戶端

通過tcp/ip與xmpp伺服器連線,然後在之上傳輸與即時通訊相關的指令(xml);

解析組織好的xml資訊包

理解訊息資料型別

與即時通訊相關的指令,在以前要麼用2進製的形式傳送(比如qq),要麼用純文字指令加空格加引數加換行符的方式傳送(比如msn)。

xmpp傳輸的即時通訊指令的邏輯與以往相仿,只是協議的形式變成了xml格式的純文字。

伺服器

監聽客戶端連線,並直接與客戶端應用程式通訊(客戶端資訊記錄)

與其他 xmpp 伺服器通訊;

閘道器:與異構即時通訊系統進行通訊

異構系統包括sms(簡訊),msn,icq等

通訊能夠在這三者的任意兩個之間雙向發生。

原理流程

更多關於xmpp協議更加詳細

現今主流的推送平台分為

android訊息推送 mqtt協議

對與訊息推送是什麼個概念,在此就不贅述啦。google自帶的c2md服務,可以幫助我們實現該功能,可以該伺服器在國外,所以鑑於網速等各種條件限制,我們也沒法實現。為解決該問題,在讀了大量的部落格等質料之後,終於見到啦陽光。第三個是由ibm提供的mqtt協議的實現,就相當於乙個 開啟1883埠,在se...

android整合fcm訊息推送

2.新增依賴 2.2新增依賴 fcm訊息通知 implementation com.google.firebase firebase messaging 17.3.4 implementation com.google.firebase firebase core 16.0.4 2.3在根目錄的bu...

Android App訊息推送 實現原理

1.訊息推送的實質 2.作用 產品角度 功能需要,如 資訊類產品的新聞推送 工具類產品的公告推送等等 運營角度 活動運營需要,如 電商類產品的 活動 召回使用者 提高活躍度等等 作為開發者,不要有需求就接,應該多思考 多理解使用者 功能的使用場景,有助於我們更好地去選擇合適的開發方式 3.原理 4....