『技術(shù)分享』—— 我和 Android 推送的時間簡史

2017 年 3 月 3 日

「極光」跟我的淵源真的是極深的嘲叔,說到極光亡呵,不得不追溯到 2017 年 3 月 3 日,當(dāng)時正做畢設(shè)項目趣聞借跪≌海基本的預(yù)期功能已經(jīng)實現(xiàn)了,開始考慮集成推送功能,鑒于水平和時間的約束歇由,決定還是集成第三方推送最為保險卵牍。

然后百度了一下「第三方推送」,映入眼簾的便是「極光推送」沦泌,毫不猶豫的選擇了它糊昙。在集成過程中也是比較順利,在收到第一條推送后谢谦,喜悅的心情無以言表释牺,不得不說大平臺就是強(qiáng)。

2017 年 3 月 7 日

3 月 7 日回挽,找到了第一份實習(xí)工作(畢業(yè)后也在這里轉(zhuǎn)了正)没咙,坐標(biāo)「南京」。入職不久千劈,老大開始讓我接手公司項目中的推送模塊祭刚。然后我把公司推送的邏輯大致看了一下,無論是設(shè)置 tag墙牌、或者是處理通知欄點擊事件處理涡驮、還是自定義消息推送,對于剛?cè)肼毜奈沂窍喈?dāng)?shù)膹?fù)雜喜滨。畢竟在之前集成的畢設(shè)項目中捉捅,邏輯處理很少,只是簡單的收到通知虽风、點擊并打開應(yīng)用...

邏輯整理的差不多棒口,開始了主要的任務(wù)--升級到新版的極光推送

當(dāng)我看到項目極光當(dāng)前的版本焰情,硬是被嚇一跳陌凳。

當(dāng)前版本

我記得當(dāng)時極光已經(jīng)到 3.0.0+ 的版本了剥懒,看來升級果斷是有必要的内舟!還有一點,我們公司是「極光」的 VIP,在原來推送的基礎(chǔ)上初橘,多了一項非常強(qiáng)大的功能验游!集成產(chǎn)商的推送(小米、華為和魅族)保檐。

這意味著耕蝉,如果在「小米、華為和魅族」的大部分的設(shè)備上夜只,推送不再走極光的通道垒在,而是走設(shè)備的產(chǎn)商通道。

什么意思呢扔亥?就拿公司老版本的項目來說场躯,不僅集成了極光推送還集成了小米推送谈为,不僅服務(wù)端需要推送兩份推送,就連客戶端自己都要對設(shè)備的類型進(jìn)行判斷踢关,如果是「小米」設(shè)備就調(diào)用「小米」的接口伞鲫。那如果集成了產(chǎn)商推送,就不需要此操作签舞,你只需提供應(yīng)用的 APPID 等其他配置信息即可秕脓,華為和魅族同樣!

那么走產(chǎn)商通道又意味著什么呢儒搭?有集成過推送的小伙伴應(yīng)該知道吠架,推送能準(zhǔn)確到達(dá)在于一個長連接,假如應(yīng)用的進(jìn)程被殺死搂鲫,推送也便收不到诵肛。假如集成了產(chǎn)商的推送,即便進(jìn)程被殺死默穴,推送還是可以正常收到的怔檩,不過僅限于基本的推送,不包括自定義推送蓄诽。

這個升級的過程也是相當(dāng)?shù)目部姥ρ担矣浀眠@部分的功能也是「極光」的測試功能,正好我們集成過來一并測試...不過還有有一位熱心的小姐姐仑氛,習(xí)慣稱之為「大俠」乙埃!這個稱號是當(dāng)時她的昵稱,一直都這么叫過來的锯岖。每次遇到問題都能不厭其煩的為我解惑介袜。

其中讓我印象最為深刻的,是那天公司項目已經(jīng)到了發(fā)版周期的最后兩天出吹,在華為的設(shè)備上推送沒有收到遇伞。這可把我急的,第一時間就是找「大俠」幫忙捶牢,可能因為我在 QQ 上表達(dá)的不是很清楚鸠珠,小姐姐看起來比我 還著急,直接讓我跟她通電話討論一下具體的原因秋麸,這讓我意想不到渐排。還好最后是解決了問題,在此說聲 謝謝灸蟆。

2017年 9月19日

9月 19 日驯耻,工作半年了,打算和大神同事一起維護(hù)一個開源項目,于是就有了 WeaponApp 的誕生可缚,目前也快到 600 的贊了孽水。

WeaponApp

當(dāng)然,推送的功能也是少不了的城看,由于有了前面的經(jīng)驗女气,集成起來也是相當(dāng)順手,不過因為是個人項目就沒有考慮测柠,后來同事自學(xué)了服務(wù)端炼鞠,順便也把服務(wù)端的極光推送集成了,感興趣的話可以把項目 clone 下來轰胁。

在這個項目中初次嘗試了集成「極光IM」谒主,官方的接口也是很詳細(xì),并且還有自己的用戶系統(tǒng)赃阀,登錄和注冊不需要自己實現(xiàn)了霎肯,不過目前的用戶還是很少...

所有用戶

2017年 10 月 26 日

10 月 26 日,咱們公司另一交易項目「原油」開始進(jìn)行大版本的升級榛斯,基本上屬于重頭做起观游。不用多說,推送的部分還是由我負(fù)責(zé)驮俗,鑒于又是「極光」的 VIP懂缕,直接將「貴金屬」項目的推送部分挪過來,去除不需要的部分王凑,修改一些基礎(chǔ)的配置搪柑,最后也是順利的完成了。

不知不覺中索烹,推送功能已經(jīng)在 4 個項目中集成了:

個人項目

公司的就不方便列出來了工碾,加在一塊也有數(shù)十萬的用戶了(絕大部分是公司)...整體的過程還是很順利的,無論是集成的步驟百姓,還是后續(xù)的服務(wù)都很完美渊额,這可能就是「極光」做的那么大的原因吧。

推送一覽

贅述

說完「極光」與我的淵源瓣戚,接下來就大概說一下集成的過程端圈。

官網(wǎng)已經(jīng)有詳細(xì)的集成介紹焦读,我就不贅述了子库。官網(wǎng)集成,只是總結(jié)一下集成的步驟矗晃,一共三步:

  1. 添加依賴
    手動集成仑嗅,需要拷貝相應(yīng)的 so 文件到制定的目錄
    自動導(dǎo)入Android Studio 直接添加依賴
  2. 添加配置文件
    拷貝官網(wǎng)AndroidManifest 數(shù)據(jù)到項目 app module 下的 AndroidManifest 中,并更換對應(yīng)的包名和 APPID仓技。
    調(diào)用「極光」接口進(jìn)行初始化
  3. 添加接收器
    創(chuàng)建自定義 Receiver 用于處理推送的消息鸵贬。

一般這樣集成就可以正常收到推送了。如果遇到問題也別慌脖捻,冷靜下來阔逼。從我的經(jīng)驗來看,最好在每個關(guān)鍵的地方打上日志地沮,方便運行時候查看和后面遇到問題方便定位嗜浮。還有就是日志的 TAG,最好和極光的日志過濾規(guī)則保持一致摩疑,比如 JPush危融。

當(dāng)你有下面的日志輸出,就證明已經(jīng)集成成功了雷袋!

[JPushInterface] action:init
.......
[PushService] Login succeed!

成功的日志只有這一個吉殃,錯誤的情況就各種各樣了,可以對照之前的日志進(jìn)行分析楷怒,比如:

初始化失敗

很有可能是因為 so 文件加載失敗...

還有好多東西蛋勺,我后續(xù)在添加吧,感興趣的小伙伴可以很我交流交流鸠删,希望能幫到你迫卢!

「本文系極光征文 | 寫寫文章就能贏 Filco,豈不美滋滋的參賽文章」

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末冶共,一起剝皮案震驚了整個濱河市乾蛤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捅僵,老刑警劉巖家卖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異庙楚,居然都是意外死亡上荡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門馒闷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來酪捡,“玉大人,你說我怎么就攤上這事纳账」滢保” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵疏虫,是天一觀的道長永罚。 經(jīng)常有香客問我啤呼,道長,這世上最難降的妖魔是什么呢袱? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任官扣,我火速辦了婚禮,結(jié)果婚禮上羞福,老公的妹妹穿的比我還像新娘惕蹄。我一直安慰自己,他們只是感情好治专,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布焊唬。 她就那樣靜靜地躺著,像睡著了一般看靠。 火紅的嫁衣襯著肌膚如雪赶促。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天挟炬,我揣著相機(jī)與錄音鸥滨,去河邊找鬼。 笑死谤祖,一個胖子當(dāng)著我的面吹牛婿滓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼厕诡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起卿吐,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锋华,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毯焕,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡衍腥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了纳猫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片婆咸。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖芜辕,靈堂內(nèi)的尸體忽然破棺而出尚骄,到底是詐尸還是另有隱情,我是刑警寧澤物遇,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布乖仇,位于F島的核電站憾儒,受9級特大地震影響询兴,放射性物質(zhì)發(fā)生泄漏乃沙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一诗舰、第九天 我趴在偏房一處隱蔽的房頂上張望警儒。 院中可真熱鬧,春花似錦眶根、人聲如沸蜀铲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽记劝。三九已至,卻和暖如春族扰,著一層夾襖步出監(jiān)牢的瞬間厌丑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工渔呵, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留怒竿,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓扩氢,卻偏偏與公主長得像耕驰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子录豺,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,305評論 25 707
  • 最初了解到極光朦肘,是看到極光在知乎發(fā)的一篇帖子,關(guān)于他們開源的 IM 項目:Aurora IMUI的双饥,從此知道了...
    碳酸氫鈉x閱讀 6,507評論 56 135
  • 推送技術(shù)產(chǎn)生場景: --服務(wù)器端主動性: 客戶端與服務(wù)器交互都是客戶端主動的, 服務(wù)器一般不能主動與客戶端進(jìn)行數(shù)據(jù)...
    原軍鋒閱讀 34,680評論 4 60
  • 雨后 天邊的晚霞在黃昏里笑了 笑紅了半天的云彩 小河里的水也笑了 和天成了一色 岸邊的垂柳笑了 招搖著裹了金邊的玉...
    Harvest收獲閱讀 545評論 60 78
  • 去年暑假寫的:) 我25歲之前唯一養(yǎng)過的植物是綠豆厚骗。丟進(jìn)水里它就會發(fā)芽,當(dāng)它長到5厘米左右葉子出來了兢哭,我從來都不知...
    溶溶月色淡淡清風(fēng)閱讀 479評論 0 0