Jack Jiang

          我的最新工程MobileIMSDK:http://git.oschina.net/jackjiang/MobileIMSDK
          posts - 499, comments - 13, trackbacks - 0, articles - 1

          1、引言

          IM在Android上的保活問題經(jīng)常在即時通訊網(wǎng)的論壇和技術(shù)群里被討論,自從Android 8.0后系統(tǒng)大大降低了后臺運行應(yīng)用的保活容忍度(詳見《Android P正式版即將到來:后臺應(yīng)用保活、消息推送的真正噩夢》),保活從黑科技橫行的時代進入了技術(shù)蠻荒階段,真要實現(xiàn)保活,技術(shù)難度越來越大。

          不過話說回來,既然用黑科技進行保活是Andriod技術(shù)的逆潮流,那何不回頭是岸,做個“良民”?

          本文將以某款線上的IM產(chǎn)品為例,介紹它是如何引導(dǎo)用戶在多款主流機型上加白名單的,并分享了該款I(lǐng)M中已制作完成的多達7款主流Andriod機型的詳細加白FAQ頁面資源(含完整HTML+圖片),方便您進行參考、學(xué)習(xí)和研究,希望能為你的應(yīng)用開發(fā)帶來幫助。

          特別申明:本文示例中的資源來自某款真實的IM產(chǎn)品,僅供學(xué)習(xí)和研究,請勿用作非法用途,如有侵權(quán),請告之于我。

          學(xué)習(xí)交流:

          - 即時通訊/推送技術(shù)開發(fā)交流5群:215477170[推薦]

          - 移動端IM開發(fā)入門文章:《新手入門一篇就夠:從零開發(fā)移動端IM

          本文已同步發(fā)布于“即時通訊技術(shù)圈”公眾號,歡迎關(guān)注:

          ▲ 本文在公眾號上的鏈接是:https://mp.weixin.qq.com/s/JqWloZLBYicpxElVL_HKYw ,原文鏈接是:http://www.52im.net/thread-3033-1-1.html

          2、Android保活,變的越來越不可能了

          IM產(chǎn)品在Android上的保活問題從早期的系統(tǒng)版本到現(xiàn)在,從未有人停止過嘗試。即時通訊通訊網(wǎng)也隨著Andriod系統(tǒng)版本的升級,持續(xù)整理了很多篇相關(guān)文章,比如下面這些(文章的順序按照Android系統(tǒng)的版本從低到高)。

          上面這些文章,我們可以看到,自從Android 8.0(即Andriod P)以后,IM以及其它需要在后臺保活的產(chǎn)品,存活難度越來越高,黑科技幾乎都不起作用了。

          于是,一些技術(shù)從牛們只能從更深的Android系統(tǒng)層面嘗試突破系統(tǒng)的保活限制,比如這兩篇:《史上最強Android保活思路:深入剖析騰訊TIM的進程永生技術(shù)》、《Android進程永生技術(shù)終極揭密:進程被殺底層原理、APP應(yīng)對被殺技巧》。

          正如上面兩篇文章,為了跟系統(tǒng)作斗爭,可謂斗智斗勇。但Android系統(tǒng)的歷史進程終究無人能阻擋,越來越嚴格的保活限制已經(jīng)是Android官方及各大手機廠商的共識。

          好吧,之前費盡心機折騰的各種黑科技,如今就像浮云一樣。。。

           

          3、死磕保活?別做夢了,回頭是岸

          正如上節(jié)所述,鑒于Andriod保活變的越來越不可能,很多原本靠黑科技保活的產(chǎn)品,開始重新審視保活技術(shù)實現(xiàn),到底是把保活黑科技這條路走到黑,還是回歸Android官方最佳實踐(乖乖引導(dǎo)用戶手動設(shè)置白名單)?

          我個人認為,后者是保活技術(shù)發(fā)展的必然結(jié)果,就像之前分享的這篇文章里所做的嘗試一樣:《2020年了,Android后臺保活還有戲嗎?看我如何優(yōu)雅的實現(xiàn)!》,規(guī)范地引導(dǎo)用戶“加白”。

          放棄“黑科技”,并不意味著技術(shù)不行,回歸“良民”,反而變的一身輕松。

           

          4、調(diào)用系統(tǒng)代碼引導(dǎo)用戶加白名單,也不完美

          之前整理的《2020年了,Android后臺保活還有戲嗎?看我如何優(yōu)雅的實現(xiàn)!》一文,是按照不同的機型,自動適配代碼并在代碼中調(diào)用系統(tǒng)的加白名單設(shè)置功能。

          比如像下面這樣的代碼調(diào)用:

          ▲ 以下代碼引用自《2020年了,Android后臺保活還有戲嗎?看我如何優(yōu)雅的實現(xiàn)!

          會彈出這樣一個窗口:

          這個方法確實不錯,但因為機型不同、同機型的ROOM版本不同,代碼的兼容處理,可能會相當復(fù)雜,所以方法雖好,但也并不能一勞永逸的解決所有問題。

          5、應(yīng)用內(nèi)提供更多機型的“加白”FAQ幫助,是一個補充辦法

          正如上節(jié)所示,調(diào)用系統(tǒng)代碼引導(dǎo)用戶加白名單確實算的上“優(yōu)雅”,但在不同的機型、同機型的不同系統(tǒng)版本上,可能差異很大,代碼兼容性是個頭疼的問題,總之這不是個百分百完美的辦法。

          這就需要一個補充手段,比如我們可以針對大量不同的機型,針對它的最行或最常用系統(tǒng)版本,在應(yīng)用內(nèi)以FAQ幫助網(wǎng)頁的方式,為用戶提供幫助。

          比如可以在手機里打開像下面這樣FAQ網(wǎng)頁頁面:

          至少能在調(diào)用系統(tǒng)代碼無法實現(xiàn)的情況下,可以讓用戶自主找到解決問題的辦法。而這便是本文要分享,下節(jié)內(nèi)容會以一個市面上做的比較好的IM應(yīng)用為例,為你提供一個完整示例。

          6、一個完整的“加白”FAQ幫助示例

          最近發(fā)現(xiàn)的一款市面上的IM應(yīng)用(此產(chǎn)品跟即時通訊網(wǎng)無任何關(guān)系,僅僅是作為技術(shù)研究參考對象而已),它內(nèi)置的“加白”FAQ幫助就很完善。

          以下是從該款I(lǐng)M中截下來的圖: 

           

          以下是該款I(lǐng)M應(yīng)用中的運行演示視頻(點此打開視頻鏈接):

           

          目前該應(yīng)用中FAQ幫助已覆蓋7款主流Andriod機,以下是完整示例頁面鏈接:

          可以看到,這款I(lǐng)M里的“加白”FAQ做的還是比較細、覆蓋的機型也比較典型, 如果你有類似的想法或需求,完全可以參考這款產(chǎn)品的實現(xiàn)。尤其在一些特定的場景(比如企業(yè)內(nèi)部的IM等)下,這種方式還是能解決大部分終端用戶的問題的。

          7、覆蓋7款主流機型的“加白”FAQ頁面靜態(tài)資源(附件下載)

          我整理了上節(jié)中提到的這款I(lǐng)M產(chǎn)品中的全部“加白”FAQ幫助頁面靜態(tài)資源,覆蓋7款主流Andriod機型,如果你也需要同樣的東西,可以參考這份完整的示例實現(xiàn),打包到手機中使用之。

          以下是這份靜態(tài)資源示例的內(nèi)容(圖太長,已截掉了一部分): 

          以下是這份靜態(tài)資源示例的打包附件:

          請從原文附件中下載:http://www.52im.net/thread-3033-1-1.html

          附錄:更多精品資源匯總

          [1] 精品源碼下載:

          Java NIO基礎(chǔ)視頻教程、MINA視頻教程、Netty快速入門視頻 [有源碼]

          輕量級即時通訊框架MobileIMSDK的iOS源碼(開源版)[附件下載]

          開源IM工程“蘑菇街TeamTalk”2015年5月前未刪減版完整代碼 [附件下載]

          微信本地數(shù)據(jù)庫破解版(含iOS、Android),僅供學(xué)習(xí)研究 [附件下載]

          NIO框架入門(四):Android與MINA2、Netty4的跨平臺UDP雙向通信實戰(zhàn) [附件下載]

          NIO框架入門(三):iOS與MINA2、Netty4的跨平臺UDP雙向通信實戰(zhàn) [附件下載]

          NIO框架入門(二):服務(wù)端基于MINA2的UDP雙向通信Demo演示 [附件下載]

          NIO框架入門(一):服務(wù)端基于Netty4的UDP雙向通信Demo演示 [附件下載]

          用于IM中圖片壓縮的Android工具類源碼,效果可媲美微信 [附件下載]

          高仿Android版手機QQ可拖拽未讀數(shù)小氣泡源碼 [附件下載]

          一個WebSocket實時聊天室Demo:基于node.js+socket.io [附件下載]

          Android聊天界面源碼:實現(xiàn)了聊天氣泡、表情圖標(可翻頁) [附件下載]

          高仿Android版手機QQ首頁側(cè)滑菜單源碼 [附件下載]

          開源libco庫:單機千萬連接、支撐微信8億用戶的后臺框架基石 [源碼下載]

          分享java AMR音頻文件合并源碼,全網(wǎng)最全

          微信團隊原創(chuàng)Android資源混淆工具:AndResGuard [有源碼]

          一個基于MQTT通信協(xié)議的完整Android推送Demo [附件下載]

          Android版高仿微信聊天界面源碼 [附件下載]

          高仿手機QQ的Android版鎖屏聊天消息提醒功能 [附件下載]

          高仿iOS版手機QQ錄音及振幅動畫完整實現(xiàn) [源碼下載]

          Android端社交應(yīng)用中的評論和回復(fù)功能實戰(zhàn)分享[圖文+源碼]

          Android端IM應(yīng)用中的@人功能實現(xiàn):仿微博、QQ、微信,零入侵、高可擴展[圖文+源碼]

          仿微信的IM聊天時間顯示格式(含iOS/Android/Web實現(xiàn))[圖文+源碼]

          Android版仿微信朋友圈圖片拖拽返回效果 [源碼下載]

          [2] 精品文檔和工具下載:

          計算機網(wǎng)絡(luò)通訊協(xié)議關(guān)系圖(中文珍藏版)[附件下載]

          史上最全即時通訊軟件簡史(精編大圖版)[附件下載]

          重磅發(fā)布:《阿里巴巴Android開發(fā)手冊(規(guī)約)》[附件下載]

          阿里技術(shù)結(jié)晶:《阿里巴巴Java開發(fā)手冊(規(guī)約)-終極版》[附件下載]

          基于RTMP協(xié)議的流媒體技術(shù)的原理與應(yīng)用(技術(shù)論文)[附件下載]

          獨家發(fā)布《TCP/IP詳解 卷1:協(xié)議》CHM版 [附件下載]

          良心分享:WebRTC 零基礎(chǔ)開發(fā)者教程(中文)[附件下載]

          MQTT協(xié)議手冊(中文翻譯版)[附件下載]

          經(jīng)典書籍《UNIX網(wǎng)絡(luò)編程》最全下載(卷1+卷2、中文版+英文版)[附件下載]

          音視頻開發(fā)理論入門書籍之《視頻技術(shù)手冊(第5版)》[附件下載]

          國際電聯(lián)H.264視頻編碼標準官方技術(shù)手冊(中文版)[附件下載]

          Apache MINA2.0 開發(fā)指南(中文版)[附件下載]

          網(wǎng)絡(luò)通訊數(shù)據(jù)抓包和分析工具 Wireshark 使用教程(中文) [附件下載]

          最新收集NAT穿越(p2p打洞)免費STUN服務(wù)器列表 [附件下載]

          高性能網(wǎng)絡(luò)編程經(jīng)典:《The C10K problem(英文)》[附件下載]

          即時通訊系統(tǒng)的原理、技術(shù)和應(yīng)用(技術(shù)論文)[附件下載]

          技術(shù)論文:微信對網(wǎng)絡(luò)影響的技術(shù)試驗及分析[附件下載]

          華為內(nèi)部3G網(wǎng)絡(luò)資料: WCDMA系統(tǒng)原理培訓(xùn)手冊[附件下載]

          網(wǎng)絡(luò)測試:Android版多路ping命令工具EnterprisePing[附件下載]

          Android反編譯利器APKDB:沒有美工的日子里繼續(xù)堅強的擼

          一款用于P2P開發(fā)的NAT類型檢測工具 [附件下載]

          兩款增強型Ping工具:持續(xù)統(tǒng)計、圖形化展式網(wǎng)絡(luò)狀況 [附件下載]

          Android保活從入門到放棄:乖乖引導(dǎo)用戶加白名單吧(附7大機型加白示例)

          [3] 精選視頻、演講PPT下載:

          美圖海量用戶的IM架構(gòu)零基礎(chǔ)演進之路(PPT)[附件下載]

          開源實時音視頻工程WebRTC的架構(gòu)詳解與實踐總結(jié)(PPT+視頻)[附件下載]

          QQ空間百億級流量的社交廣告系統(tǒng)架構(gòu)實踐(視頻+PPT)[附件下載]

          海量實時消息的視頻直播系統(tǒng)架構(gòu)演進之路(視頻+PPT)[附件下載]

          YY直播在移動弱網(wǎng)環(huán)境下的深度優(yōu)化實踐分享(視頻+PPT)[附件下載]

          QQ空間移動端10億級視頻播放技術(shù)優(yōu)化揭秘(視頻+PPT)[附件下載]

          RTC實時互聯(lián)網(wǎng)2017年度大會精選演講PPT [附件下載]

          微信分享開源IM網(wǎng)絡(luò)層組件庫Mars的技術(shù)實現(xiàn)(視頻+PPT)[附件下載]

          微服務(wù)理念在微信海量用戶后臺架構(gòu)中的實踐(視頻+PPT)[附件下載]

          移動端IM開發(fā)和構(gòu)建中的技術(shù)難點實踐分享(視頻+PPT)[附件下載]

          網(wǎng)易云信的高品質(zhì)即時通訊技術(shù)實踐之路(視頻+PPT)[附件下載]

          騰訊音視頻實驗室:直面音視頻質(zhì)量評估之痛(視頻+PPT)[附件下載]

          騰訊QQ1.4億在線用戶的技術(shù)挑戰(zhàn)和架構(gòu)演進之路PPT[附件下載]

          微信朋友圈海量技術(shù)之道PPT[附件下載]

          手機淘寶消息推送系統(tǒng)的架構(gòu)與實踐(音頻+PPT)[附件下載]

          如何進行實時音視頻的質(zhì)量評估與監(jiān)控(視頻+PPT)[附件下載]

          Go語言構(gòu)建高并發(fā)消息推送系統(tǒng)實踐PPT(來自360公司)[附件下載]

          網(wǎng)易IM云千萬級并發(fā)消息處理能力的架構(gòu)設(shè)計與實踐PPT [附件下載]

          手機QQ的海量用戶移動化實踐分享(視頻+PPT)[附件下載]

          釘釘——基于IM技術(shù)的新一代企業(yè)OA平臺的技術(shù)挑戰(zhàn)(視頻+PPT)[附件下載]

          微信技術(shù)總監(jiān)談架構(gòu):微信之道——大道至簡(PPT講稿)[附件下載]

          Netty的架構(gòu)剖析及應(yīng)用案例介紹(視頻+PPT)[附件下載]

          聲網(wǎng)架構(gòu)師談實時音視頻云的實現(xiàn)難點(視頻采訪)

          滴滴打車架構(gòu)演變及應(yīng)用實踐(PPT講稿)[附件下載]

          微信海量用戶背后的后臺系統(tǒng)存儲架構(gòu)(視頻+PPT)[附件下載]

          在線音視頻直播室服務(wù)端架構(gòu)最佳實踐(視頻+PPT)[附件下載]

          從0到1:萬人在線的實時音視頻直播技術(shù)實踐分享(視頻+PPT)[附件下載]

          微信移動端應(yīng)對弱網(wǎng)絡(luò)情況的探索和實踐PPT[附件下載]

          Android版微信從300KB到30MB的技術(shù)演進(PPT講稿)[附件下載]

          從零開始搭建瓜子二手車IM系統(tǒng)(PPT)[附件下載]

          極光分享:高并發(fā)海量消息推送系統(tǒng)架構(gòu)演進(視頻+PPT)[附件下載]

          微信紅包系統(tǒng)可用性設(shè)計實踐(PPT) [附件下載]

          微信紅包數(shù)據(jù)架構(gòu)演變(PPT) [附件下載]

          百度網(wǎng)盤千萬節(jié)點的P2P架構(gòu)設(shè)計(PPT) [附件下載]

          瓜子IM智能客服系統(tǒng)的數(shù)據(jù)架構(gòu)設(shè)計(PPT) [附件下載]

          基于C++構(gòu)建微信客戶端跨平臺開發(fā)框架(PPT) [附件下載]

          (本文同步發(fā)布于:http://www.52im.net/thread-3033-1-1.html



          作者:Jack Jiang (點擊作者姓名進入Github)
          出處:http://www.52im.net/space-uid-1.html
          交流:歡迎加入即時通訊開發(fā)交流群 215891622
          討論:http://www.52im.net/
          Jack Jiang同時是【原創(chuàng)Java Swing外觀工程BeautyEye】【輕量級移動端即時通訊框架MobileIMSDK】的作者,可前往下載交流。
          本博文 歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處(也可前往 我的52im.net 找到我)。


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          Jack Jiang的 Mail: jb2011@163.com, 聯(lián)系QQ: 413980957, 微信: hellojackjiang
          主站蜘蛛池模板: 安陆市| 兴安盟| 师宗县| 石楼县| 梓潼县| 高碑店市| 无锡市| 竹溪县| 乐陵市| 且末县| 张家港市| 株洲市| 沙坪坝区| 志丹县| 于田县| 潼关县| 金塔县| 元谋县| 琼结县| 沁阳市| 乐陵市| 曲沃县| 蒲城县| 湖口县| 木兰县| 富川| 桑植县| 大石桥市| 罗甸县| 浦江县| 永川市| 新疆| 沈丘县| 延庆县| 建阳市| 博兴县| 渭南市| 梁河县| 榆林市| 伽师县| 平安县|