百度云?極光?個推?
原創(chuàng)百度云推送的機制和特點:
1.單播消息推送
描述
開發(fā)者向應用的特定終端或特定用戶推送消息。 特定終端對于應用來說,就是安裝了應用的一臺具體的設備。 而一個用戶可能有多個端,在某些應用場景下,我們希望消息是針對用戶的——應用的同一個用戶在他的所有終端上都能收到消息,這時候我們就需要向特定用戶推送消息。
解決思路
(1)向應用的特定終端推送消息
一個channel id指定一個終端,因此在這種需求下,開發(fā)者需要通過服務端API,向一個特定channel id推送消息。在推送之前,客戶端應用通過綁定接口的返回值獲取到channel id,并通過網(wǎng)絡等手段發(fā)送給開發(fā)者,開發(fā)者需自行維護channel id。
例如,Android客戶端,在調(diào)用了startWork之后,自定義消息 receiver將會收到返回值,其中包含了channel id、user id等信息。
(2)向應用的特定用戶推送消息
云推送用user id來表示用戶,因此在這種需求下,開發(fā)者需要通過服務端API,向一個特定user id推送消息。和channel id獲取方式類似,客戶端應用通過綁定接口的返回值獲取到user id。開發(fā)者需要自行維護user id。
應用場景舉例
在線問答應用。用戶A用手機發(fā)表一個問題,問題的解答并不是實時的。假設在第二天用戶B發(fā)表了***個解答,這時需要將答案單獨推送給A。
解決方案
用戶A發(fā)表問題時,記錄問題id及其對應的A的user id(或channel id)。用戶B發(fā)表解答時,通過服務端API向問題id對應的user id(或channel id)推送解答。
2.用戶分組的消息推送
描述
開發(fā)者向應用的符合特定分類條件的若干用戶的集合推送消息。廣播是分組推送的特例,它向應用的所有用戶(同時也是所有端)推送消息。
解決思路
云推送通過Tag(標簽)這種技術方式來實現(xiàn)用戶分組的功能。例如,對于分類信息的應用,一個用戶觀看了體育欄目,就給該用戶打一個Tag——sport。6月的某一天NBA總決賽熱火奪冠了,則向sport這個Tag推送一條及時的奪冠新聞。
應用場景舉例
閱讀應用。對不同閱讀喜好的人群推送不同類別的新圖書廣告。
解決方案
應用提供喜好設置頁面,用戶勾選不同的類別,觸發(fā)對應Tag的設置?;蛘哂脩糸喿x了某個類別的圖書,觸發(fā)對應Tag的設置。在服務端,給特定類別圖書的Tag推送新書廣告。
3.使用自己的賬戶系統(tǒng)或百度賬戶
描述
開發(fā)者可以使用自己的賬戶體系開發(fā)應用,或者應用就是無賬戶的。開發(fā)者也可選擇使用百度賬戶作為應用賬戶系統(tǒng)的接入。
解決思路
(1)使用自己的賬戶系統(tǒng)或者無賬戶系統(tǒng)
這兩種情況,云推送都是無法理解賬戶信息的,所以對于云推送來說都屬于無賬戶體系。
云推送通過終端標識(channel id)和應用標識(APIKey)來唯一確定一個應用的一個特定端。應用的每個端都是不同的用戶,擁有不同的user id。 客戶端的綁定方式,用Android API舉例:
PushManager.startWork(Context, LOGIN_TYPE_API_KEY, apiKey)
(2)使用百度賬戶系統(tǒng)
云推送和百度賬戶系統(tǒng)是連通的,應用的所有用戶將使用百度的user id作為唯一標識。不同的端使用同一個用戶百度賬戶登錄,獲得的user id是一樣的。這種方式可以實現(xiàn)對用戶的多個端做消息推送。
百度賬戶的客戶端綁定使用用戶AccessToken作為驗證憑證,用戶AccessToken的獲得需要百度賬戶登錄界面的輔助,具體使用可以參看客戶端SDK demo或者百度賬號連接官方文檔。
同樣的,客戶端的綁定方式,用Android API舉例:
PushManager.startWork(Context, LOGIN_TYPE_ACCESS_TOKEN, UserAccessToken)
(2) 百度賬號連接官方文檔
4.單服務單通道的端上實現(xiàn)
云推送的Android SDK,是通過后臺service和socket長連接機制來實現(xiàn)的。從消息時效性、耗電量、網(wǎng)絡流量等因素考慮,這是目前***的實現(xiàn)方式。
在同一臺設備安裝了多個使用推送的應用的情況下,如果每個應用都執(zhí)行獨立的后臺service,且各自建立獨立的長連接,這無疑是系統(tǒng)資源的巨大浪費。內(nèi)存使用、耗電量、網(wǎng)絡流量等關鍵因素都將以接近與應用數(shù)正比的倍數(shù)增長。
在這個背景下,云推送實現(xiàn)了單服務單通道的機制。同一臺設備上,云推送服務的資源消耗不受集成該服務的應用數(shù)量影響。任何時刻,只會運行一個后臺service和維持一個socket長連接。
應用的初始化、tag等接口調(diào)用,將通過intent方式發(fā)送到后臺運行的service處理。service接收到推送消息時,將根據(jù)消息中指定 的發(fā)送對象,通過intent,以指定目標應用包名的方式,發(fā)送私有消息給應用。應用無法接收到不屬于自己的消息,也無法通過冒充截獲。
示意圖:
極光推送的機制和特點:
極光推送正是一個整合了Android推送、iOS推送的統(tǒng)一推送服務平臺。作為國內(nèi)最專業(yè)的第三方移動消息推送服務提供商,極光推送目前正為數(shù)千 企業(yè)和開發(fā)者提供穩(wěn)定的毫秒級送達移動消息推送方案,已經(jīng)覆蓋了上億 Android和 iPhone終端。目前積累應用開發(fā)者超過10000個,累計接入應用超過12000個。覆蓋獨立終端突破1億8000萬臺。日活躍推送用戶超過4000 萬。根據(jù)統(tǒng)計數(shù)據(jù),有效使用極光推送能夠在3個月內(nèi)提升App留存率 100%, 提升App活躍度更是高達 500%。而實現(xiàn)這些提升,開發(fā)者只需要花費3分鐘進行SDK集成,大大降低了開發(fā)者的獨立開發(fā)和維護推送功能的難度。 http://docs.jpush.cn官方wiki文檔有SDK集成指南 API描述及代碼示例。極光推送會通過blog分享推送相關技術。專門的問答系統(tǒng),開發(fā)者可以提問一切有關使用極光推送產(chǎn)品的問題。
極光推送提供了哪些功能
推送通知
使你的應用程序保持高注意力
即使用戶沒有打開應用程序,也能夠推送通知到達用戶手機。您可以即時向用戶推送活動提示、動態(tài)更新、積分信息等通知。
推送自定義消息
強大的自定義消息推送通道
開發(fā)者可以推送自定義的消息內(nèi)容。JPush SDK 把內(nèi)容完全轉給開發(fā)者應用程序,由開發(fā)者應用程序去處理自定義消息。
管理和推送WebPortal
靈活地根據(jù)需要定制推送服務
管理Portal上的推送助手,方便快速推送,普通用戶都可操作。
服務器端API
極光推送提供了基于HTTP協(xié)議的推送API,API包含全部的推送功能,開發(fā)者完全可以基于此API開發(fā)獨立的推送頁面或者將推送功能集成到現(xiàn)有的管理系統(tǒng)內(nèi)。
統(tǒng)計圖表
推送效果直觀呈現(xiàn)
推送到達了多少?到達后,用戶有沒有點擊打開應用?打開應用后,用戶逗留的時間有沒有延長?直觀的對比圖表,讓你輕松地評估推送效果。
極光推送的應用場景
極光推送按照接受者范圍的不同提供了廣播,標簽,別名,IMEI(Android Only)四種推送方式,不同的使用場景和開發(fā)者可以根據(jù)業(yè)務需求,
廣播
按標簽(tag)推送
按別名(alias)推送
按IMEI推送(Android Only)
定時推送
個推公共平臺云推送服務的機制和特點
個信互動(北京)網(wǎng)絡科技有限公司成立于2010年7月,位于北京、杭州兩地?,F(xiàn)有100余位員工。
公司產(chǎn)品包括:國內(nèi)最早的手機及時聊天類應用--個信,以及最早的PC TO PHONE軟件—八爪推送。2012年,公司全面開放其核心競爭力--推送技術,面向公眾提供專業(yè)的手機推送解決方案,即個推平臺,成為國內(nèi)該領域的先驅和最專業(yè)服務商。
作為一個專注于移動推送技術的服務商,個推已經(jīng)為新浪微博、百度等公司提供推送服務。通過個推的推送解決方案,開發(fā)者可以在應用推送功能上節(jié)省開發(fā)成本,并達到節(jié)省公司資源、保證用戶推送質量,省用戶流量和電能的效果。開發(fā)者還可獲得推送的BI數(shù)據(jù)。
個推平臺專注提供移動設備長連接SDK和服務端接入的整體解決方案。目前個推平臺主要提供兩種服務模式,消息群發(fā)模式,提供群發(fā)管理后臺,滿足消息群發(fā)需求;業(yè)務整合模式,提供服務端API接口,可以與客戶已有業(yè)務系統(tǒng)深度整合。
技術原理
首先我們來看一下組成一個推送系統(tǒng)的幾個要素
1. 個推SDK:
以jar的方式出現(xiàn),集成于第三方客戶端,解析第三方下行的數(shù)據(jù),并把結果透傳給第三方客戶端;也可以上行第三方定制的客戶端信息。
2. 個推服務器:
一側負責維護與成千上萬的個推SDK的長時連接,另一側與第三方服務器對接,將第三方定制數(shù)據(jù)下行推送至個推SDK。
3. 第三方服務器:
數(shù)據(jù)推送的發(fā)起者,通過對接個推服務器,將數(shù)據(jù)發(fā)送至第三方客戶端。
4. 第三方客戶端:
第三方集成個推SDK的客戶端,推送數(shù)據(jù)正真的接收者和展現(xiàn)者。
以上是個推推送系統(tǒng)中的四個不同角色,看起來比較抽象,可以通過以下圖片來加強理解:
說明:
AppID:應用ID,第三方在個推系統(tǒng)注冊帳號并創(chuàng)建生成的唯一的應用標識。
ClientID:用于標識客戶端身份,由第三方客戶端獲取并保存到第三方服務端。
UID:一般為第三方系統(tǒng)帳號體系中的用戶標識。第三方服務端一般需要保存UID和ClientID的映射關系,進行消息推送時,通過UID查找到相應的ClientID,便可進行定向推送了。
百度云推送,極光推送和個推各自的優(yōu)勢是什么?
極光推送功能優(yōu)勢:
1、高效穩(wěn)定的推送通知
為合作伙伴提供長連接SDK,開發(fā)者的服務消息可以推送到其客戶端。使你的應用程序保持高注意力,即使用戶沒有打開應用程序,也能夠推送通知到達用戶手機。您可以即時向用戶推送活動提示、動態(tài)更新、積分信息等通知。100萬并發(fā)量不超過40秒,水平服務器架構,任何單點失效都并不會影響推送。
2、自由度高,推送自定義消息。
強大的自定義消息推送通道。開發(fā)者可以推送自定義的消息內(nèi)容。JPush SDK 把內(nèi)容完全轉給開發(fā)者應用程序,由開發(fā)者應用程序去處理自定義消息。
3、靈活推送工具
靈活地根據(jù)需要進行推送。管理Portal上的推送助手,方便快速推送,普通用戶都可操作。另外也提示API調(diào)用方式,靈活強大。
4.推送平臺技術架構先進,經(jīng)過考驗的大規(guī)模用戶 Push 平臺
由于之前開發(fā)過IM應用,極光在消息推送業(yè)務上有豐富的技術沉淀期,并且不斷地優(yōu)化系統(tǒng),滿足快速的業(yè)務增長。
免費推送服務
推送的用戶數(shù)量沒有限制,推送的消息條數(shù)也沒有限制。
方便集成的SDK及良好的文檔和技術支持體系
android 3分鐘demo
ios 簡單配置
客戶端SDK以非常低的代價保持連接,電量、流量消耗少。
推送內(nèi)容的多少是由開發(fā)者決定的,網(wǎng)絡狀況不穩(wěn)定也會對電量造成影響。在不考慮推送的內(nèi)容和網(wǎng)絡影響前提下。理論數(shù)據(jù)平均值為:流量消耗 20K/天,電量消耗 30mAh/天
5、專業(yè)圖表、推送精準化
推送效果直觀呈現(xiàn)。推送到達了多少?到達后,用戶有沒有點擊打開應用?打開應用后,用戶逗留的時間有沒有延長 ? 直觀的對比圖表,讓你輕松地評估推送效果。
這是極光推送應用后的數(shù)據(jù)趨勢圖:
云推送平臺具備的優(yōu)勢
高安全性
平臺在服務端與SDK進行通訊時進行了數(shù)據(jù)加密,保證客戶數(shù)據(jù)的隱私安全。同時,個推平臺還支持客戶對傳輸數(shù)據(jù)自主加密,滿足高安全性客戶的需求。
高可靠性
平臺服務器部署在IDC核心機房,三線接入,保證不同運營商移動設備接入的穩(wěn)定性。個推平臺采用分布式架構部署,不僅系統(tǒng)容量可靈活擴容,還可以提供99.9% SLA。個信專業(yè)的運維團隊維護,消息到達率超過96%。
低成本
平臺專注推送服務領域的研究,單臺設備支持100-300萬用戶在線(根據(jù)單臺設備配置會有波動),平均成本控制業(yè)界領先。
出乎意料的快速,瞬間送達
平臺的消息投遞延時小于0.2s,無論何時何地,用戶移動設備有網(wǎng)絡即可送達。
專為手機優(yōu)化,省電省流量
平臺采用自主研發(fā)的獨有協(xié)議,比XMPP更適合移動設備使用,符合4S標準(小巧、省電、省流量、穩(wěn)定)。實測移動設備空載耗電每日15-50mAh,空載流量0.8-1.2M/月。
個推平臺具備的優(yōu)勢
高安全性
個推平臺在服務端與SDK進行通訊時進行了數(shù)據(jù)加密,保證客戶數(shù)據(jù)的隱私安全。同時,個推平臺還支持客戶對傳輸數(shù)據(jù)自主加密,滿足高安全性客戶的需求。
高可靠性
個推平臺服務器部署在IDC核心機房,三線接入,保證不同運營商移動設備接入的穩(wěn)定性。個推平臺采用分布式架構部署,不僅系統(tǒng)容量可靈活擴容,還可以提供99.9% SLA。個信專業(yè)的運維團隊維護,消息到達率超過96%。
低成本
個推平臺專注推送服務領域的研究,單臺設備支持100-300萬用戶在線(根據(jù)單臺設備配置會有波動),平均成本控制業(yè)界領先。
出乎意料的快速,瞬間送達
個推平臺的消息投遞延時小于0.2s,無論何時何地,用戶移動設備有網(wǎng)絡即可送達。
專為手機優(yōu)化,省電省流量
個推平臺采用自主研發(fā)的獨有協(xié)議,比XMPP更適合移動設備使用,符合4S標準(小巧、省電、省流量、穩(wěn)定)。實測移動設備空載耗電每日15-50mAh,空載流量0.8-1.2M/月。
易于實施
個推平臺移動設備SDK集成半天即可完成,使用推送管理后臺,當天即可零開發(fā)群發(fā)消息。同時,個推平臺也提供完善成熟的服務API可以與客戶已有業(yè)務系統(tǒng)緊密結合。
強大的分析報表
個推平臺可以提供應用的留存用戶,在線用戶等核心數(shù)據(jù),并會不定期提供行業(yè)數(shù)據(jù)分析報告及客戶的行業(yè)排名指數(shù)。對于消息投遞到用戶后的訪問行為,個推平臺也會提供精準的效果評估報告。
小編總結:
其實無論選哪種方式最適合我們的才是***的,以上就是這兩種推送的區(qū)別和各自的優(yōu)勢,哪種是你需要的呢,根據(jù)自己的需求來決定,是***的選擇!