偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

百度云推送應(yīng)用場景

移動(dòng)開發(fā)
開發(fā)者向應(yīng)用的特定終端或特定用戶推送消息。 特定終端對(duì)于應(yīng)用來說,就是安裝了應(yīng)用的一臺(tái)具體的設(shè)備。 而一個(gè)用戶可能有多個(gè)端,在某些應(yīng)用場景下,我們希望消息是針對(duì)用戶的——應(yīng)用的同一個(gè)用戶在他的所有終端上都能收到消息,這時(shí)候我們就需要向特定用戶推送消息。

1.名詞解釋

API Key - 應(yīng)用標(biāo)識(shí),終端上的綁定和服務(wù)端推送消息時(shí)都要用到。

Secret Key - 應(yīng)用私鑰,服務(wù)端推送消息時(shí)用到。

app id - 應(yīng)用ID,就是百度開發(fā)者中心的應(yīng)用基本信息中的應(yīng)用ID??蛻舳私壎ㄕ{(diào)用返回值中可獲得。

channel id - 推送通道ID,通常指一個(gè)終端,如一臺(tái)android系統(tǒng)手機(jī)??蛻舳私壎ㄕ{(diào)用返回值中可獲得。

user id - 應(yīng)用的用戶ID,一個(gè)應(yīng)用在多個(gè)端可以都屬于同一用戶。user id和channel id配合可以唯一指定一個(gè)應(yīng)用的特定終端。如果應(yīng)用不是基于百度賬戶的賬戶體系,單獨(dú)用user就通常指定了一個(gè)應(yīng)用的特定終端。客戶端綁定調(diào)用返回值中可獲得。

2.單播消息推送

描述

開發(fā)者向應(yīng)用的特定終端或特定用戶推送消息。 特定終端對(duì)于應(yīng)用來說,就是安裝了應(yīng)用的一臺(tái)具體的設(shè)備。 而一個(gè)用戶可能有多個(gè)端,在某些應(yīng)用場景下,我們希望消息是針對(duì)用戶的——應(yīng)用的同一個(gè)用戶在他的所有終端上都能收到消息,這時(shí)候我們就需要向特定用戶推送消息。

解決思路

(1)向應(yīng)用的特定終端推送消息

一個(gè)channel id指定一個(gè)終端,因此在這種需求下,開發(fā)者需要通過服務(wù)端API,向一個(gè)特定channel id推送消息。在推送之前,客戶端應(yīng)用通過綁定接口的返回值獲取到channel id,并通過網(wǎng)絡(luò)等手段發(fā)送給開發(fā)者,開發(fā)者需自行維護(hù)channel id。

例如,Android客戶端,在調(diào)用了startWork之后,自定義消息 receiver將會(huì)收到返回值,其中包含了channel id、user id等信息。

(2)向應(yīng)用的特定用戶推送消息

云推送用user id來表示用戶,因此在這種需求下,開發(fā)者需要通過服務(wù)端API,向一個(gè)特定user id推送消息。和channel id獲取方式類似,客戶端應(yīng)用通過綁定接口的返回值獲取到user id。開發(fā)者需要自行維護(hù)user id。

應(yīng)用場景舉例

在線問答應(yīng)用。用戶A用手機(jī)發(fā)表一個(gè)問題,問題的解答并不是實(shí)時(shí)的。假設(shè)在第二天用戶B發(fā)表了第一個(gè)解答,這時(shí)需要將答案單獨(dú)推送給A。

解決方案

用戶A發(fā)表問題時(shí),記錄問題id及其對(duì)應(yīng)的A的user id(或channel id)。用戶B發(fā)表解答時(shí),通過服務(wù)端API向問題id對(duì)應(yīng)的user id(或channel id)推送解答。

3.用戶分組的消息推送

描述

開發(fā)者向應(yīng)用的符合特定分類條件的若干用戶的集合推送消息。廣播是分組推送的特例,它向應(yīng)用的所有用戶(同時(shí)也是所有端)推送消息。

解決思路

云推送通過Tag(標(biāo)簽)這種技術(shù)方式來實(shí)現(xiàn)用戶分組的功能。例如,對(duì)于分類信息的應(yīng)用,一個(gè)用戶觀看了體育欄目,就給該用戶打一個(gè)Tag——sport。6月的某一天NBA總決賽熱火奪冠了,則向sport這個(gè)Tag推送一條及時(shí)的奪冠新聞。

Tag的設(shè)置有兩種方法:

(1)客戶端設(shè)置

這是最常見的設(shè)置方式,因?yàn)楹陀脩糁苯咏换サ目蛻舳俗钫鎸?shí)的收集了用戶的喜好、習(xí)慣等信息。這些信息往往是用戶分組的依據(jù)。在客戶端程序中,一旦用戶觸發(fā)了開發(fā)者預(yù)先設(shè)定的分組條件(如:觀看了體育欄目,設(shè)置了年齡,團(tuán)購了電影票等),則調(diào)用客戶端API進(jìn)行Tag設(shè)置(對(duì)應(yīng)的Tag:sport,80s,movie),如Android端的setTags接口。

(2)服務(wù)端設(shè)置

如果開發(fā)者自己維護(hù)了用戶的分組信息,或者存在已發(fā)布的還不具備某分組設(shè)置功能的終端版本,也可以通過服務(wù)端API給特定用戶設(shè)置Tag,如PHP接口setTag。

廣播功能和Tag無關(guān),不需要開發(fā)者進(jìn)行分組的任何操作就已經(jīng)具備。

推送Tag消息的方法:

(3)通過管理控制臺(tái)推送

若要推送廣播消息,選中上圖中的所有人即可。

(4)通過服務(wù)端API推送

如PHP接口

 

  1. public function pushMessage ( 
  2. $push_type
  3. $messages
  4. $message_keys
  5. $optional = NULL ) 

 

push_type為2,且正確設(shè)置tag_name 參數(shù)。詳情參考PHP-SDK使用手冊(cè)

應(yīng)用場景舉例

閱讀應(yīng)用。對(duì)不同閱讀喜好的人群推送不同類別的新圖書廣告。

解決方案

應(yīng)用提供喜好設(shè)置頁面,用戶勾選不同的類別,觸發(fā)對(duì)應(yīng)Tag的設(shè)置?;蛘哂脩糸喿x了某個(gè)類別的圖書,觸發(fā)對(duì)應(yīng)Tag的設(shè)置。在服務(wù)端,給特定類別圖書的Tag推送新書廣告。

4.使用自己的賬戶系統(tǒng)或百度賬戶

描述

開發(fā)者可以使用自己的賬戶體系開發(fā)應(yīng)用,或者應(yīng)用就是無賬戶的。開發(fā)者也可選擇使用百度賬戶作為應(yīng)用賬戶系統(tǒng)的接入。

解決思路

(1)使用自己的賬戶系統(tǒng)或者無賬戶系統(tǒng)

這兩種情況,云推送都是無法理解賬戶信息的,所以對(duì)于云推送來說都屬于無賬戶體系。
云推送通過終端標(biāo)識(shí)(channel id)和應(yīng)用標(biāo)識(shí)(APIKey)來唯一確定一個(gè)應(yīng)用的一個(gè)特定端。應(yīng)用的每個(gè)端都是不同的用戶,擁有不同的user id。 客戶端的綁定方式,用Android API舉例:

PushManager.startWork(Context, LOGIN_TYPE_API_KEY, apiKey)

(2)使用百度賬戶系統(tǒng)

云推送和百度賬戶系統(tǒng)是連通的,應(yīng)用的所有用戶將使用百度的user id作為唯一標(biāo)識(shí)。不同的端使用同一個(gè)用戶百度賬戶登錄,獲得的user id是一樣的。這種方式可以實(shí)現(xiàn)對(duì)用戶的多個(gè)端做消息推送。
百度賬戶的客戶端綁定使用用戶AccessToken作為驗(yàn)證憑證,用戶AccessToken的獲得需要百度賬戶登錄界面的輔助,具體使用可以參看客戶端SDK demo或者百度賬號(hào)連接官方文檔。
同樣的,客戶端的綁定方式,用Android API舉例:

PushManager.startWork(Context, LOGIN_TYPE_ACCESS_TOKEN, UserAccessToken)

(2) 百度賬號(hào)連接官方文檔

5.單服務(wù)單通道的端上實(shí)現(xiàn)

云推送的Android SDK,是通過后臺(tái)service和socket長連接機(jī)制來實(shí)現(xiàn)的。從消息時(shí)效性、耗電量、網(wǎng)絡(luò)流量等因素考慮,這是目前最好的實(shí)現(xiàn)方式。

在同一臺(tái)設(shè)備安裝了多個(gè)使用推送的應(yīng)用的情況下,如果每個(gè)應(yīng)用都執(zhí)行獨(dú)立的后臺(tái)service,且各自建立獨(dú)立的長連接,這無疑是系統(tǒng)資源的巨大浪費(fèi)。內(nèi)存使用、耗電量、網(wǎng)絡(luò)流量等關(guān)鍵因素都將以接近與應(yīng)用數(shù)正比的倍數(shù)增長。

在這個(gè)背景下,云推送實(shí)現(xiàn)了單服務(wù)單通道的機(jī)制。同一臺(tái)設(shè)備上,云推送服務(wù)的資源消耗不受集成該服務(wù)的應(yīng)用數(shù)量影響。任何時(shí)刻,只會(huì)運(yùn)行一個(gè)后臺(tái)service和維持一個(gè)socket長連接。

應(yīng)用的初始化、tag等接口調(diào)用,將通過intent方式發(fā)送到后臺(tái)運(yùn)行的service處理。service接收到推送消息時(shí),將根據(jù)消息中指定的發(fā)送對(duì)象,通過intent,以指定目標(biāo)應(yīng)用包名的方式,發(fā)送私有消息給應(yīng)用。應(yīng)用無法接收到不屬于自己的消息,也無法通過冒充截獲。

示意圖:

 

責(zé)任編輯:閆佳明 來源: 51CTO
相關(guān)推薦

2013-07-01 16:36:26

百度云推送免費(fèi)云推送移動(dòng)開發(fā)

2014-07-25 17:12:39

數(shù)據(jù)庫WOT2014MongoDB

2013-10-10 16:28:16

百度云推送免費(fèi)云推送移動(dòng)開發(fā)

2013-03-11 10:26:37

百度云MTC

2016-10-13 15:19:34

百度

2012-05-28 22:51:53

百度

2013-07-15 16:43:53

百度云百度云Push云推送

2013-07-16 15:05:03

云推送極光推送

2012-10-19 09:47:30

百度云百度音樂云計(jì)算

2013-06-27 10:23:30

百度云百度開放云

2015-07-29 16:49:47

百度

2017-04-28 17:44:45

百度

2012-05-24 13:55:02

XML

2018-09-06 18:37:45

百度云

2013-04-08 15:19:53

百度云百度

2012-03-23 12:12:37

百度開發(fā)者大會(huì)

2013-10-12 10:25:20

百度云 Cooliris

2017-09-27 15:03:00

百度云云計(jì)算加速

2013-08-22 17:08:50

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)