訊息推送應用場景與解決方案

2021-09-12 15:31:25 字數 1413 閱讀 1945

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

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

3.2 推送的本質與原理

主動獲取方式(pull)

客戶端隔固定時間主動向伺服器獲取資訊,看是否有更新的資訊;若有更新資訊,則傳送到客戶端

被動接受方式(push)

當伺服器有更新資訊時主動傳送到客戶端

對比:push方式比pull方式更優越。因為採用pull方式時客戶端需要不停地去監測伺服器的變化,更費客戶端的資源(cpu資源、網路流量、系統電量)

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

4.1 c2dm

c2dm原理

4.2 輪詢

4.3 sms

4.4 mqtt協議

mqtt協議原理

專案例項源

乙個採用php書寫的伺服器端

拓展:rsmb是從mqtt協議引申出來的另外一種解決方案:簡單的mqtt**,詳情

4.5 xmpp協議

原理:xmpp中定義了三個角色,分別是客戶端、伺服器和閘道器

客戶端

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

解析組織好的 xml 資訊包;

理解訊息資料型別。

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

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

伺服器

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

與其他 xmpp 伺服器通訊;

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

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

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

原理流程

原理流程

更多關於xmpp協議更加詳細

4.6 使用第三方平台

現今主流的推送平台分為

手機廠商類:小公尺推送、華為推送。

第三方平台類:友盟推送、極光推送、雲巴(基於mqtt)

具體各推送平台的優缺點請看我寫的文章:android推送:第三方訊息推送平台詳細解析

如果你的產品對於訊息推送具備較高的功能和效能要求,同時對安全性要求非常高的話,自己搭建可能是最好的方式,但這種方式無疑成本是最高的。

Android訊息推送解決方案

怎麼定位gps座標佔時不考慮,我們來分析下服務端打折優惠資訊是怎麼推送給手機客戶端的。一 訊息推送基礎 如何使客戶端能夠實時的收到伺服器的訊息和通知,總體來說有兩種方式,第一種是客戶端使用pull 拉 的方式,就是隔一段時間就去伺服器上獲取一下資訊,看是否有更新的資訊出現。第二種就是 伺服器使用pu...

訊息佇列應用場景

場景說明 使用者註冊後,需要發註冊郵件和註冊簡訊。傳統的做法有兩種1.序列的方式 2.並行方式。id iframe 0.05881618439392011 scrolling no 2 並行方式 將註冊資訊寫入資料庫成功後,傳送註冊郵件的同時,傳送註冊簡訊。以上三個任務完成後,返回給客戶端。與序列的...

訊息佇列應用場景

場景說明 使用者註冊後,需要發註冊郵件和註冊簡訊。傳統的做法有兩種1.序列的方式 2.並行方式。1 序列方式 將註冊資訊寫入資料庫成功後,傳送註冊郵件,再傳送註冊簡訊。以上三個任務全部完成後,返回給客戶端。2 並行方式 將註冊資訊寫入資料庫成功後,傳送註冊郵件的同時,傳送註冊簡訊。以上三個任務完成後...