㈠ android統一消息推送平台如何選擇
目前全球安卓手機用戶數量龐大,android統一推送平台和機構也逐漸被關注。選擇優秀的平台進行推送可以獲得非常好的效果,以下是選擇android統一消息推送平台的注意事項:㈡ Android中消息推送有哪幾種方式
Android中消息推送有如下幾種方式:㈢ android消息推送怎麼實現
極光推送可以輕松實現android消息推送。具有操作步驟如下:㈣ 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如果僅僅通過通知欄消息,是無法接觸到消息數據本身的。
可自定義通知提醒的樣式(包括提示樣式、提示形式如聲音等等)
所以大家可以根據不同的使用場景來對推送消息類別進行選擇了。
㈤ android 消息推送是什麼,消息推送一般是怎麼做的
是從伺服器不定的向手機客戶端即時推送各種通知消息。消息推送方法是:㈥ android推送服務,目前哪家相對較好
因為目前從總體App的市場佔有率來說,第三方推送服務是佔比最大的一塊。㈦ android怎麼做推送
android消息推送主要有一下幾種方式:㈧ Android消息推送:第三方消息推送平台詳細解析
其他推送方式還有:C2DM、輪詢、SMS、MQTT協議、XMPP協議等等,相對於這些推送方式,第三方推送方式的特點分別是:
請記住一個潛規則:操作系統是不會殺死屬於自己品牌的推送服務。
當今市場上的Android手機系統份額最高是MIUI系統,即小米(具體排名請看 http://www.umindex.com/ )
因為:免費、到達率高且在Android系統市場份額第一的MIUI系統上不被殺死。所以,如果要選擇手機廠商的推送服務, 請選擇小米推送作為第三方平台實現推送服務
下面一些應用可以從側面來證明我的推斷:
請記住一個規則:推送系統會共享一條推送渠道
所以說,關於如何選擇第三方平台類的推送,推送平台的規模效應就很重要了。
那如何得知他們的規模和市場份額呢?按個人經驗,主要看兩點:
BAT大廠其實並沒有什麼優勢, 同時謹記:
所以,大家可根據自己的使用場景來進行消息推送平台的選擇。
通常第三方推送平台都支持兩種推送消息類型:通知欄消息和透傳消息。
不定期分享關於 安卓開發 的干貨,追求 短、平、快 ,但 卻不缺深度 。
㈨ 整理 Android 所有的廠家推送平台
統一推送聯盟 成立之後,各大手機廠家都開始推出了自己的推送服務,打造更健康的Android推送生態。下面就匯總一下這幾大推送平台,並給予開發者一些建議。
小米消息推送服務在MIUI上為系統級通道,並且全平台通用,可以為開發者提供穩定、可靠、高效的推送服務。小米是國內最早開始做推送的手機廠家,所以基本所有的小米手機都可以在沒有打開APP的情況下收到推送。
https://dev.mi.com/console/appservice/push.html
https://dev.mi.com/console/doc/detail?pId=230
Huawei PUSH(華為推送服務)是華為為開發者提供的消息推送平台,雖然華為推送也很早期也有,但是華為並不重視華為推送,所以比較難用,而且早期的手機到達率也是很有問題。由於統一推送聯盟的成立,華為才開始重視起來。華為推送不支持別名推送,所以必須通過服務端管理token,這一點對開發者也非常不友好。
https://developer.huawei.com/consumer/cn/console#/openCard/AppService/6
https://developer.huawei.com/consumer/cn/service/hms/catalog/huaweipush_agent.html?page=hmssdk_huaweipush_introction_agent
魅族推送在Flyme系統上的長連接由系統維護,能夠充分保障消息在 Flyme系統上的到達率。魅族推送雖然是後期之秀,但是魅族對待推送的態度和小米是一樣的好,是真正為了做好用戶服務,魅族除了推出自家的推送以外,還推出了 魅族集成推送服務 ,方便用戶管理多家的推送平台,這種精神非常值得嘉獎,是用心最好技術的公司。
http://push.meizu.com
http://open-wiki.flyme.cn/doc-wiki/index#id?73
https://github.com/MEIZUPUSH/PushDemo
https://github.com/MEIZUPUSH/JavaSdk
https://github.com/MEIZUPUSH/phpsdk
https://github.com/MEIZUPUSH/PushAPI
OPPO PUSH是ColorOS上的系統級通道,為開發者提供穩定,高效的消息推送服務。
https://push.oppo.com
https://push.oppo.com/documents
Funtouch OS系統級通道,提供穩定、可靠、高效的推送服務。
https://dev.vivo.com.cn/openAbility/pushNews
FCM是Google推出的新推送推送平台,是用來代替GCM(Google Cloud Messaging),主要用於消息推送的,即使在應用沒有起來的情況下,由於FCM需要google service支持,在國內基本不能用。
https://console.firebase.google.com
https://firebase.google.com/docs/cloud-messaging?authuser=0
㈩ Android消息推送原理
產品的角度:功能需要,比如說資訊類產品的新聞推送、工具類產品的公告推送等等
運營的角度:活動運營需要,比如說電商類產品的促銷活動;召回用戶 / 提高活躍度等等
作為開發者,不要有需求就接,應該多思考、多理解用戶 / 功能的使用場景,有助於我們更好地去選擇合適的開發方式
系統級別:任何時候都可以推送給用戶,且不會被系統殺死
Android的消息推送服務稱為:C2DM(Cloudto Device Messaging)
消息推送的本質是:App將伺服器更新的信息推送給用戶,即App獲取伺服器信息,再推送給用戶
App從伺服器獲取最新消息的基本方式(原理)有3種:Push、Pull 和 SMS
經總結,Android中實現消息推送的有7種主流解決方案,接下來將一一介紹。
4.1 C2DM
定義:Cloud to Device Messaging,雲端推送
Android系統級別的消息推送服務-Google出品
原理:基於Push方式,C2DM服務負責處理諸如消息排隊等事務,並向運行於目標設備上的應用程序分發這些消息。如下圖:
定義:輕量級的消息發布/訂閱協議
原理:基於Push方式,wmqtt.jar 是IBM提供的MQTT協議的實現,原理如下圖:
其他三種:
客戶端
通信能夠在這三者的任意兩個之間雙向發生。
原理流程
現今主流的推送平台分為
手機廠商類:小米推送、華為推送。
第三方平台類:友盟推送、極光推送、雲巴(基於MQTT)
BAT大廠的平台推送:阿里雲移動推送、騰訊信鴿推送、網路雲推送