android輪詢推送
A. 怎麼實現伺服器給android客戶端主動推送消息
採用MQTT協議實現Android推送功能是一種解決方案。MQTT是一個輕量級的消息發布/訂閱協議,是實現基於手機客戶端的消息推送伺服器的理想解決方案。
常見的解決方案實現原理:
1、輪詢(Pull)方式:客戶端定時向伺服器發送詢問消息,一旦伺服器有變化則立即同步消息。
2、SMS(Push)方式:通過攔截SMS消息並且解析消息內容來了解伺服器的命令,但這種方式一般用戶在經濟上很難承受。
3、持久連接(Push)方式:客戶端和伺服器之間建立長久連接,這樣就可以實現消息的及時行和實時性。
(1)android輪詢推送擴展閱讀:
推送消息注意事項:
1、支持第三方推送內容,是要客戶端和伺服器都支持的,客戶端和伺服器都導入推送SDK。
2、伺服器推送內容,可以精確指定推送時間,推送的具體接收人,用戶群,位置。
3、即推送的維度可以使時間,位置,人群。
4、極光使用了兩種不同的通知方式,一種是推送通知,一種是推送消息。
5、如果要使用androidpn,則還需要做大量的工作,需要理解XMPP協議、理解Androidpn的實現機制,需要調試內部存在的BUG。
參考資料來源:網路-伺服器
參考資料來源:網路-Android客戶端
參考資料來源:網路-信息推送
B. 如何做安卓推送
在安卓系統上做推送的方法如下:1.通過SMS進行伺服器端和客戶端的交流通信。在Android平台上,你可以通過攔截SMS消息並且解析消息內容來了解伺服器的意圖,可以實現完全的實時操作
2.循環主動定時獲取:這種方法需要客戶端來做一個定時或者周期性的訪問伺服器端介面,以獲得最新的消息。
3.持久連接:這個方案可以解決由輪詢帶來的性能問題,但是還是會消耗手機的電池。需要開一個服務來保持和伺服器端的持久連接(蘋果就和谷歌的C2DM是這種機制)。
推送消息應該找一家安全,穩定的平台。例如極光。極光穩定的自有數據與多源外部數據交叉驗證與補充,確保數據指標的趨勢准確與穩定。70+中國投資機構、100+海外投資機構以及200+中國知名互聯網公司正在使用極光iAPP的付費數據服務輔助其投資和戰略決策。
C. android的消息推送怎麼做
android的消息推送辦法:1、可以使用輪詢(Pull)方式
就是用客戶端定時向伺服器發送相關的信息,一旦伺服器有變化就會馬上同步消息。但這種方式對伺服器的壓力是十分大的,而且比較費客戶端的流量,就是不斷地向伺服器發送請求,但是這樣開發很簡單。
2、使用持久連接(Push)方式
就是客戶端和伺服器之間建立起一連接,這樣就可以實現消息的及時發送,而且這種方式開發難度大,開發周期較長。但是這是一種最常使用的方式,目前主流的消息推送都是通過這種方式做的。
選擇消息推送軟體,深圳極光就不錯。極光截至2020年12月,已有超169萬款APP在使用極光提供的服務。而且專注於為開發者提供穩定高效的消息推送、一鍵認證以及流量變現等服務,助力開發者的運營、增長與變現。
D. iOS 和 Android 的後台推送原理各是什麼有什麼區別
iOS 系統的推送(APNS,即 Apple Push Notification Service)依託一個或幾個系統常駐進程運作,是全局的(接管所有應用的消息推送),所以可看作是獨立於應用之外,而且是設備和蘋果伺服器之間的通訊,而非應用的提供商伺服器所以, iOS 的推送,可以不嚴謹的理解為:蘋果伺服器朝手機後台掛的一個 IM 服務程序發送的消息。
然後,系統根據該 IM 消息識別告訴哪個 App 具體發生了什麼事。
然後,系統分別通知這些 App
而 Android每個需要後台推送的應用有各自的單獨後台進程,才能和各自的伺服器通訊,交換數據。
其實 Android 也有類似 APNS 的 GCM(Google Cloud Message)的服務,如果一個應用的推送採用這種模式的話,就和iOS推送一個樣了。
GCM相關的程序應該是集成在所謂的Gapps中,但國內的 Android 手機上 GCM 處於基本不可用的狀態,而且Android 因為後台可以長駐,所以,App們各顯神通。
聊天類應用的話,大多數直接借用 XMPP 規范里的一些成果。少量如微信有IM底子的,自己開發協議。這些在實現原理上與 APNs / GCM 沒有本質的區別,但有一定的技術門檻。
而大多數普遍應用,要使用推送的話,則使用輪詢的方式簡單實現,就是定時去伺服器上查詢數據,也叫Polling,還有一種手機跟伺服器之間維護一個 TCP 長連接,當伺服器有數據時,實時推送到客戶端,也就是我們說的 Push。
輪詢的方式不論怎麼優化都比較費電費流量,長連接的方式在網路不穩定的情況下,Socket比較容易斷開推送數據失敗,
安卓推送可以考慮使用第三方推送工具,比如極光推送
E. Android中消息推送有哪幾種方式
Android中消息推送有如下幾種方式:1、輪詢(Pull)方式:客戶端定時向伺服器發送詢問消息,一旦伺服器有變化則立即同步消息。 2、SMS(Push)方式:通過攔截SMS消息並且解析消息內容來了解伺服器的命令,但這種方式一般用戶在經濟上很難承受。 3、持久連接(Push)方式:客戶端和伺服器之間建立長久連接,這樣就可以實現消息的及時行和實時性。
消息推送,就是在互聯網上通過定期傳送用戶需要的信息來減少信息過載的一項新技術。推送技術通過自動傳送信息給用戶,來減少用於網路上搜索的時間。根據用戶的興趣來搜索、過濾信息,並將其定期推給用戶,幫助用戶高效率地發掘有價值的信息。
關於消息推送的方式也可以使用第三方平台來幫助實現,然而極光就是一個不錯的選擇。極光私有雲提供貼身專屬定製,為您打造安全穩定高性能的私有雲系統,助力企業業務升級。
F. android 消息推送是什麼,消息推送一般是怎麼做的
是從伺服器不定的向手機客戶端即時推送各種通知消息。消息推送方法是:1、可以通過SMS進行伺服器端和客戶端的交流通信。 可以通過攔截SMS消息並且解析消息內容來了解伺服器的意圖,可以實現完全的實時操作。
3、循環主動定時獲取
這種方法是需要客戶端來做一個定時或者周期性的訪問伺服器端介面,來獲得最新的消息。
3、持久連接
這個方案雖然可以解決由輪詢帶來的性能問題等各種問題,但是還是會消耗手機的電池。
消息推送可以選擇深圳極光,是一個不錯的軟體;也是是國內領先的移動開發者服務提供商。極光通過該一體化消息下發平台,助力行業客戶實現多通道高效精準觸達目標用戶。截至2021年3月,已有超173.1萬款APP在使用極光提供的服務。
G. 關於android使用輪詢進行推送的問題
因為生活還
H. android消息推送怎麼實現
極光推送可以輕松實現android消息推送。具有操作步驟如下:1、到極光官網注冊賬號:https://www.jpush.cn/
2、創建應用,按照要求填寫你的應用名稱,包名提交
3、下載案例,一般情況測試是能收到信息的
4、集成到自己的項目中,按照官網的集成http://docs.jpush.cn/pages/viewpage.action?pageId=557214
5、集成時將注意的要點,官網上也有說,但是我再強調一下要注意兩個許可權的包名填寫,有可能直接用案例上的拷貝到自己的manifest中時沒有替換掉包名,切記,要替換成自己的項目的包名。
極光推送已經覆蓋了近10億Android、IOS終端,30多萬款APP應用,服務總用戶數超過30億,每天消息推送量達5億多條,已成為移動應用數據平台。極光分享幫助應用具備國內主流社交平台分享功能,提供新浪微博、QQ、微信等第三方社會化分享服務,提高產品推廣效率,幫助產品提高用戶體驗,獲得更多用戶。
I. android系統的APP消息推送機制
參考文章:
http://blog.csdn.net/carson_ho/article/details/52862418
1. 主流的第三方推送平台分類
手機廠商類:小米推送、華為推送。
第三方平台類:友盟推送、極光推送、雲巴(基於MQTT)
BAT大廠的平台推送:阿里雲移動推送、騰訊信鴿推送、網路雲推送
2. 對比其他推送方式的特點
其他推送方式還有:C2DM、輪詢、SMS、MQTT協議、XMPP協議等等,相對於這些推送方式,第三方推送方式的特點分別是:
優點:
成本低
上述的推送大多數是免費的,假如自己實現則消耗過多資源(開發成本和後台管理、統計成本)
消息到達率高
如果一個手機里有多個App使用了同一家推送服務,那麼這些App將共用一條消息通道,即使你家的App推送服務被殺死了,那麼只要用戶打開了其他集成該推送服務的App,你家的推送就能到達用戶
缺點
安全性低
使用別人的伺服器,所以你懂的。
服務會被殺死
由於Android系統的機制,後台推送 Service 會被各種主動的或是被動的行為給殺死,而服務一旦被殺死,意味著就接收不到推送消息。
3. 第三方推送服務方式的特點
第三方服務基本都具備免費、和到達率高的特點
那麼應該如何選擇呢?我們來分別看一下第三方推送各種方式的優點:
3.1 手機廠商推送
請記住一個潛規則:操作系統是不會殺死屬於自己品牌的推送服務。
手機廠商的推送服務在自家的手機上屬於系統級別的服務,這意味著系統不會殺死自家的推送服務
比如說,Android原生系統是不會殺死C2DM消息推送服務,MIUI系統是不會殺死小米的推送服務。
當今市場上的Android手機系統份額最高是MIUI系統,即小米(具體排名請看http://www.umindex.com/)
因為:免費、到達率高且在Android系統市場份額第一的MIUI系統上不被殺死。所以,如果要選擇手機廠商的推送服務,請選擇小米推送作為第三方平台實現推送服務
下面一些應用可以從側面來證明我的推斷:
騰訊新聞使用的小米推送,沒有使用自己家的信鴿推送
淘寶使用了自家的阿里雲推送,同時還集成了小米推送
網路視頻和愛奇藝使用的是小米推送,沒有用自家的網路推送
官網截圖 - 集成應用:
如果希望進一步提高推送的效果,其實可以集成多個手機廠商的推送服務
比如小米渠道用小米推送,華為渠道用華為推送,但這樣的實現成本會大一些
3.2 第三方平台類
請記住一個規則:推送系統會共享一條推送渠道
這意味著假設你接入了友盟推送,而恰好今日頭條也接入了友盟。
有一天你的App被殺死了,但這時用戶啟動了今日頭條,那麼推送系統也就會通過共享的推送通道順便把你推送消息送達到手機上,然後還可能把你的進程也喚醒(被「保活」了)。
所以說,關於如何選擇第三方平台類的推送,推送平台的規模效應就很重要了。
那如何得知他們的規模和市場份額呢?按個人經驗,主要看兩點:
問內部的朋友。
看推送平台的合作客戶里有哪些大的app - 參考對應官網的合作案例
3.3 BAT大廠的推送
BAT大廠其實並沒有什麼優勢,同時謹記:
不要以為用了騰訊信鴿推送,就能占上微信的光保證你的App永遠內部被殺死。
說個題外話,手機淘寶除了自家的阿里雲的移動推送,同時也使用其它的第三方推送平台啊(比如友盟推送)。
4. 如何選擇第三方平台推送服務?
主要從用戶類別+實現成本+渠道來選擇不同的使用場景
1. 如果用戶群體精準(使用小米手機或華為手機居多),可以考慮只集成對應手機廠商的推送;
注意:單一的手機廠商也能工作,比如小米推送在非小米手機上當然也能工作,只不過不是系統級別的服務了,容易被殺死。
如果用戶群體廣泛、希望實現成本低,可以考慮只使用單一第三方平台類的推送(極光、友盟blabla,選一個規模效應最大的)
如果用戶群體廣泛、不在意實現成本,個人建議:
對於小米手機,使用小米推送;
對於華為手機,使用華為推送;
對於其他手機,只使用單一第三方平台類的推送(極光、友盟blabla,選一個規模效應最大的)
讓不同的推送運行在各自擅長的環境里,最大化實現推送的到達率和產品的存活率
大家可以根據自己的使用場景來進行消息推送平台的選擇。
5. 推送消息類別的選擇
5.1 推送消息的類別
通常第三方推送平台都支持兩種推送消息類型:通知欄消息和透傳消息。
通知欄消息:該類消息在被送達用戶的設備後,直接以系統通知欄的形式展示給用戶
不會繼續被傳遞到App
透傳消息:該類消息在被送達用戶的設備後,還會繼續傳遞到App
通過回調App的某個BroadcastReceiver的形式將消息傳遞到App內部。然後由App決定如何處理和顯示這個消息。
所以透傳消息不一定會以系統通知欄的形式進行推送,由程序猿自定義
5.2 消息類別的區別與特點
二者的區別在於:透傳消息在整個消息傳遞過程中比通知欄消息多了一步-傳遞到App
通知欄消息的優點:送達率高
因為透傳消息在整個消息傳遞過程中比通知欄消息多了一步-傳遞到App,因此透傳消息就增加一些被系統限制的概率,給系統殺死的概率就高一些,所以說,通知欄消息比透傳消息應該能提供更好的送達率。
我們來看下小米推送的官方文檔描述:
在一些 Android 系統(如 MIUI)中,受到系統自啟動管理設置的限制,應用不能在後台自啟動
在這類系統中,如果在發送消息的時候對應的應用沒有被啟動,透傳類消息將不能順利送達。
因此,對於對送達率要求很高的消息,建議盡量採用通知欄提醒的方式推送消息
透傳消息的優點:對消息操作程度高 & 自定義程度高
提供了對消息數據的更靈活的操縱能力。
App如果僅僅通過通知欄消息,是無法接觸到消息數據本身的。
可自定義通知提醒的樣式(包括提示樣式、提示形式如聲音等等)
所以大家可以根據不同的使用場景來對推送消息類別進行選擇了。
J. android消息推送原理是怎麼樣的
主要介紹其中的五種實現方式:短輪詢、Comet、Flash XMLSocket、Server-sent、WebSocket1、短輪詢
指在特定的的時間間隔(如每10秒),由瀏覽器對伺服器發出HTTP request,然後由伺服器返回最新的數據給客戶端的瀏覽器。瀏覽器做處理後進行顯示。無論後端此時是否有新的消息產生,都會進行響應
2、Comet
包括了長輪詢和長連接,長輪詢是客戶端向伺服器發送Ajax請求,伺服器接到請求後hold住連接,直到有新消息才返回響應信息並關閉連接,客戶端處理完響應信息後再向伺服器發送新的請求;長連接是在頁面中的iframe發送請求到服務端,服務端hold住請求並不斷將需要返回前端的數據封裝成調用javascript函數的形式響應到前端,前端不斷收到響應並處理
3、Flash XMLSocket
在 HTML 頁面中內嵌入一個使用了 XMLSocket 類的 Flash 程序。JavaScript 通過調用此 Flash 程序提供的socket介面與伺服器端的socket進行通信。JavaScript 在收到伺服器端以 XML 格式傳送的信息後可以很容易地控制 HTML 頁面的內容顯示
4、Server-sent
伺服器推指的是HTML5規范中提供的服務端事件EventSource,瀏覽器在實現了該規范的前提下創建一個EventSource連接後,便可收到服務端的發送的消息,實現一個單向通信。客戶端進行監聽,並對響應的信息處理顯示
5、WebSocket
WebSocket是HTML5下一種新的協議,是基於TCP的應用層協議,只需要一次連接,便可以實現全雙工通信,客戶端和服務端可以相互主動發送消息。客戶端進行監聽,並對響應的消息處理顯示
針對自己系統的應用場景選擇合適的推送方案才是合理的,因此最後簡單說一下實現個性化推送的兩種方式。第一種很簡單,直接使用第三方實現的推送,無需復雜的開發運維,直接可以使用。第二種就是自己封裝,可以選擇如今較為火熱的WebSocket來實現系統的推送。
關於第三方推送平台,極光推送,操作簡單,穩定性高,送達率快