『壹』 android消息推送原理是怎麼樣的
主要介紹其中的五種實現方式:短輪詢、Comet、Flash XMLSocket、Server-sent、WebSocket
1、短輪詢
指在特定的的時間間隔(如每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來實現系統的推送。
關於第三方推送平台,極光推送,操作簡單,穩定性高,送達率快
『貳』 蘋果和安卓的推送(通知)有什麼不同
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比較容易斷開推送數據失敗,
安卓推送可以考慮使用第三方推送工具,比如極光推送
『叄』 android推送消息如何實現
安卓消息推送的實現方案有下面幾種:
MQTT協議實現
XMPP協議實現
C2DM雲端推送功能(google官方提供,系統內置,但是國內用不了......)
中國統一推送(工信部牽頭成立,但是目前只是開了幾次會議,並沒有什麼實際的介面出來,不過以後應該會是中國境內的首選方案)
選擇第三方消息推送平台,例如極光,個推等,極光成立於2011年,是國內最早開始做開發者服務的一批公司,極光推送的穩定性和送達率一直是業內做的比較好的,具體可以到極光官網了解
『肆』 安卓手機怎麼關閉應用推送消息通知
安卓手機關閉消息提醒的方法是:
1、打開設置選項。
2、找到應用許可權設置。
3、找到你想要關閉的應用,關閉消息通知的許可權,關閉之後便不會有消息提醒了。
4、在安全中心中也可以進行此操作。關閉通知
『伍』 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比較容易斷開推送數據失敗,
安卓推送可以考慮使用第三方推送工具,比如極光推送
『陸』 Android消息推送整個鏈路大概分幾步
所謂的消息推送就是從伺服器端向移動終端發送連接,傳輸一定的信息。比如一些新聞客戶端,每隔一段時間收到一條或者多條通知,這就是從伺服器端傳來的推送消息;還比如常用的一些IM軟體如微信、GTalk等,都具有伺服器推送功能。
推送方法如下:
1)通過SMS進行伺服器端和客戶端的交流通信。在Android平台上,你可以通過攔截SMS消息並且解析消息內容來了解伺服器的意圖,可以實現完全的實時操作。但是問題是這個方案的成本相對比較高,且依賴於運營商。
2)循環主動定時獲取:這種方法需要客戶端來做一個定時或者周期性的訪問伺服器端介面,以獲得最新的消息。輪詢的頻率太慢可能導致某些消息的延遲,太快則會大量消耗網路帶寬和電池。
3)持久連接:這個方案可以解決由輪詢帶來的性能問題,但是還是會消耗手機的電池。我們需要開一個服務來保持和伺服器端的持久連接(蘋果就和谷歌的GCM是這種機制)。
消息推送推送可以到極光了解一下。極光推送提供了基於HTTP協議的推送API? API包含全部的推送功能?開發者完全可以基於此API開發獨立的推送頁面或者將推送功能集成到現有的管理系統內。
『柒』 請問安卓APP消息推送,不管在後台運行,用戶都能收到信息怎麼弄
目前常用的解決方式是接入第三方消息工具,比如極光推送,
極光的通道共享功能是利用極光 SDK 的高覆蓋率,將各個應用中的長連接通道共享化,可以解決以下問題:
APP(均需要集成極光 SDK )進程間交互有效的情況下,針對某應用被殺死之後,極光也能通過共享通道將消息有效的下發到設備端並將該應用拉起。
某應用處於後台時,如果被系統關閉網路後,無法及時收到消息;此時可以從共享通道正常將下發下發到SDK,保證消息及時性。
使用方式:
集成好極光的 SDK (SDK 版本 3.1.6 及以後版本)以後,即可使用通道共享功能。
共享通道在啟動時會掃描一遍手機上的其他應用,並拉起相關應用,即被殺死的 App 會被其他啟動應用拉起,你的 App 啟動也將拉起其他被殺死的應用。如果需要關閉該功能,將 Androidmanifest 中 downloadprovider 的 android:exported 設為 false 即可
『捌』 android push 推送服務 如何做到app進程被清理掉還能收到推送 我看有少部分應用做到了
在國內 Android 生態中,推送通道都是由終端與雲端之間的長鏈接來維持,嚴重依賴於應用進程的存活狀態,軟體推出後台運行後會接受不到消息推送。
針對這個問題,如今一些手機廠家會在自家 rom 中做系統級別的推送通道,再由系統分發給各個 app,以此提高在自家 rom 上的推送送達率
極光推送率先和國內包括華為,小米,OPPO,VIVO,魅族等7大主流手機廠商打通通道,大大提高消息送達率
『玖』 Android中消息推送有哪幾種方式
Android中消息推送有如下幾種方式:
1、輪詢(Pull)方式:客戶端定時向伺服器發送詢問消息,一旦伺服器有變化則立即同步消息。
2、SMS(Push)方式:通過攔截SMS消息並且解析消息內容來了解伺服器的
命令,但這種方式一般用戶在經濟上很難承受。
3、持久連接(Push)方式:客戶端和伺服器之間建立長久連接,這樣就可以實現消息的及時行和實時性。
消息推送,就是在互聯網上通過定期傳送用戶需要的信息來減少信息過載的一項新技術。推送技術通過自動傳送信息給用戶,來減少用於網路上搜索的時間。根據用戶的興趣來搜索、過濾信息,並將其定期推給用戶,幫助用戶高效率地發掘有價值的信息。
關於消息推送的方式也可以使用第三方平台來幫助實現,然而極光就是一個不錯的選擇。極光私有雲提供貼身專屬定製,為您打造安全穩定高性能的私有雲系統,助力企業業務升級。