IM在Android上的保活問題經常在即時通訊網的論壇和技術群里被討論,自從Android 8.0后系統大大降低了后臺運行應用的保活容忍度(詳見《Android P正式版即將到來:后臺應用保活、消息推送的真正噩夢》),保活從黑科技橫行的時代進入了技術蠻荒階段,真要實現保活,技術難度越來越大。
不過話說回來,既然用黑科技進行保活是Andriod技術的逆潮流,那何不回頭是岸,做個“良民”?
本文將以某款線上的IM產品為例,介紹它是如何引導用戶在多款主流機型上加白名單的,并分享了該款IM中已制作完成的多達7款主流Andriod機型的詳細加白FAQ頁面資源(含完整HTML+圖片),方便您進行參考、學習和研究,希望能為你的應用開發帶來幫助。
特別申明:本文示例中的資源來自某款真實的IM產品,僅供學習和研究,請勿用作非法用途,如有侵權,請告之于我。
學習交流:
- 即時通訊/推送技術開發交流5群:215477170[推薦]- 移動端IM開發入門文章:《新手入門一篇就夠:從零開發移動端IM》
- 即時通訊/推送技術開發交流5群:215477170[推薦]
- 移動端IM開發入門文章:《新手入門一篇就夠:從零開發移動端IM》
本文已同步發布于“即時通訊技術圈”公眾號,歡迎關注:
▲ 本文在公眾號上的鏈接是:https://mp.weixin.qq.com/s/JqWloZLBYicpxElVL_HKYw ,原文鏈接是:http://www.52im.net/thread-3033-1-1.html
IM產品在Android上的保活問題從早期的系統版本到現在,從未有人停止過嘗試。即時通訊通訊網也隨著Andriod系統版本的升級,持續整理了很多篇相關文章,比如下面這些(文章的順序按照Android系統的版本從低到高)。
上面這些文章,我們可以看到,自從Android 8.0(即Andriod P)以后,IM以及其它需要在后臺保活的產品,存活難度越來越高,黑科技幾乎都不起作用了。
于是,一些技術從牛們只能從更深的Android系統層面嘗試突破系統的保活限制,比如這兩篇:《史上最強Android保活思路:深入剖析騰訊TIM的進程永生技術》、《Android進程永生技術終極揭密:進程被殺底層原理、APP應對被殺技巧》。
正如上面兩篇文章,為了跟系統作斗爭,可謂斗智斗勇。但Android系統的歷史進程終究無人能阻擋,越來越嚴格的保活限制已經是Android官方及各大手機廠商的共識。
好吧,之前費盡心機折騰的各種黑科技,如今就像浮云一樣。。。
正如上節所述,鑒于Andriod保活變的越來越不可能,很多原本靠黑科技保活的產品,開始重新審視保活技術實現,到底是把保活黑科技這條路走到黑,還是回歸Android官方最佳實踐(乖乖引導用戶手動設置白名單)?
我個人認為,后者是保活技術發展的必然結果,就像之前分享的這篇文章里所做的嘗試一樣:《2020年了,Android后臺保活還有戲嗎?看我如何優雅的實現!》,規范地引導用戶“加白”。
放棄“黑科技”,并不意味著技術不行,回歸“良民”,反而變的一身輕松。
之前整理的《2020年了,Android后臺保活還有戲嗎?看我如何優雅的實現!》一文,是按照不同的機型,自動適配代碼并在代碼中調用系統的加白名單設置功能。
比如像下面這樣的代碼調用:
(▲ 以下代碼引用自《2020年了,Android后臺保活還有戲嗎?看我如何優雅的實現!》)
會彈出這樣一個窗口:
這個方法確實不錯,但因為機型不同、同機型的ROOM版本不同,代碼的兼容處理,可能會相當復雜,所以方法雖好,但也并不能一勞永逸的解決所有問題。
正如上節所示,調用系統代碼引導用戶加白名單確實算的上“優雅”,但在不同的機型、同機型的不同系統版本上,可能差異很大,代碼兼容性是個頭疼的問題,總之這不是個百分百完美的辦法。
這就需要一個補充手段,比如我們可以針對大量不同的機型,針對它的最行或最常用系統版本,在應用內以FAQ幫助網頁的方式,為用戶提供幫助。
比如可以在手機里打開像下面這樣FAQ網頁頁面:
至少能在調用系統代碼無法實現的情況下,可以讓用戶自主找到解決問題的辦法。而這便是本文要分享,下節內容會以一個市面上做的比較好的IM應用為例,為你提供一個完整示例。
最近發現的一款市面上的IM應用(此產品跟即時通訊網無任何關系,僅僅是作為技術研究參考對象而已),它內置的“加白”FAQ幫助就很完善。
以下是從該款IM中截下來的圖:
以下是該款IM應用中的運行演示視頻(點此打開視頻鏈接):
目前該應用中FAQ幫助已覆蓋7款主流Andriod機,以下是完整示例頁面鏈接:
可以看到,這款IM里的“加白”FAQ做的還是比較細、覆蓋的機型也比較典型, 如果你有類似的想法或需求,完全可以參考這款產品的實現。尤其在一些特定的場景(比如企業內部的IM等)下,這種方式還是能解決大部分終端用戶的問題的。
我整理了上節中提到的這款IM產品中的全部“加白”FAQ幫助頁面靜態資源,覆蓋7款主流Andriod機型,如果你也需要同樣的東西,可以參考這份完整的示例實現,打包到手機中使用之。
以下是這份靜態資源示例的內容(圖太長,已截掉了一部分):
以下是這份靜態資源示例的打包附件:
請從原文附件中下載:http://www.52im.net/thread-3033-1-1.html
[1] 精品源碼下載:《Java NIO基礎視頻教程、MINA視頻教程、Netty快速入門視頻 [有源碼]》《輕量級即時通訊框架MobileIMSDK的iOS源碼(開源版)[附件下載]》《開源IM工程“蘑菇街TeamTalk”2015年5月前未刪減版完整代碼 [附件下載]》《微信本地數據庫破解版(含iOS、Android),僅供學習研究 [附件下載]》《NIO框架入門(四):Android與MINA2、Netty4的跨平臺UDP雙向通信實戰 [附件下載]》《NIO框架入門(三):iOS與MINA2、Netty4的跨平臺UDP雙向通信實戰 [附件下載]》《NIO框架入門(二):服務端基于MINA2的UDP雙向通信Demo演示 [附件下載]》《NIO框架入門(一):服務端基于Netty4的UDP雙向通信Demo演示 [附件下載]》《用于IM中圖片壓縮的Android工具類源碼,效果可媲美微信 [附件下載]》《高仿Android版手機QQ可拖拽未讀數小氣泡源碼 [附件下載]》《一個WebSocket實時聊天室Demo:基于node.js+socket.io [附件下載]》《Android聊天界面源碼:實現了聊天氣泡、表情圖標(可翻頁) [附件下載]》《高仿Android版手機QQ首頁側滑菜單源碼 [附件下載]》《開源libco庫:單機千萬連接、支撐微信8億用戶的后臺框架基石 [源碼下載]》《分享java AMR音頻文件合并源碼,全網最全》《微信團隊原創Android資源混淆工具:AndResGuard [有源碼]》《一個基于MQTT通信協議的完整Android推送Demo [附件下載]》《Android版高仿微信聊天界面源碼 [附件下載]》《高仿手機QQ的Android版鎖屏聊天消息提醒功能 [附件下載]》《高仿iOS版手機QQ錄音及振幅動畫完整實現 [源碼下載]》《Android端社交應用中的評論和回復功能實戰分享[圖文+源碼]》《Android端IM應用中的@人功能實現:仿微博、QQ、微信,零入侵、高可擴展[圖文+源碼]》《仿微信的IM聊天時間顯示格式(含iOS/Android/Web實現)[圖文+源碼]》《Android版仿微信朋友圈圖片拖拽返回效果 [源碼下載]》[2] 精品文檔和工具下載:《計算機網絡通訊協議關系圖(中文珍藏版)[附件下載]》《史上最全即時通訊軟件簡史(精編大圖版)[附件下載]》《重磅發布:《阿里巴巴Android開發手冊(規約)》[附件下載]》《阿里技術結晶:《阿里巴巴Java開發手冊(規約)-終極版》[附件下載]》《基于RTMP協議的流媒體技術的原理與應用(技術論文)[附件下載]》《獨家發布《TCP/IP詳解 卷1:協議》CHM版 [附件下載]》《良心分享:WebRTC 零基礎開發者教程(中文)[附件下載]》《MQTT協議手冊(中文翻譯版)[附件下載]》《經典書籍《UNIX網絡編程》最全下載(卷1+卷2、中文版+英文版)[附件下載]》《音視頻開發理論入門書籍之《視頻技術手冊(第5版)》[附件下載]》《國際電聯H.264視頻編碼標準官方技術手冊(中文版)[附件下載]》《Apache MINA2.0 開發指南(中文版)[附件下載]》《網絡通訊數據抓包和分析工具 Wireshark 使用教程(中文) [附件下載]》《最新收集NAT穿越(p2p打洞)免費STUN服務器列表 [附件下載]》《高性能網絡編程經典:《The C10K problem(英文)》[附件下載]》《即時通訊系統的原理、技術和應用(技術論文)[附件下載]》《技術論文:微信對網絡影響的技術試驗及分析[附件下載]》《華為內部3G網絡資料: WCDMA系統原理培訓手冊[附件下載]》《網絡測試:Android版多路ping命令工具EnterprisePing[附件下載]》《Android反編譯利器APKDB:沒有美工的日子里繼續堅強的擼》《一款用于P2P開發的NAT類型檢測工具 [附件下載]》《兩款增強型Ping工具:持續統計、圖形化展式網絡狀況 [附件下載]》《Android保活從入門到放棄:乖乖引導用戶加白名單吧(附7大機型加白示例)》[3] 精選視頻、演講PPT下載:《美圖海量用戶的IM架構零基礎演進之路(PPT)[附件下載]》《開源實時音視頻工程WebRTC的架構詳解與實踐總結(PPT+視頻)[附件下載]》《QQ空間百億級流量的社交廣告系統架構實踐(視頻+PPT)[附件下載]》《海量實時消息的視頻直播系統架構演進之路(視頻+PPT)[附件下載]》《YY直播在移動弱網環境下的深度優化實踐分享(視頻+PPT)[附件下載]》《QQ空間移動端10億級視頻播放技術優化揭秘(視頻+PPT)[附件下載]》《RTC實時互聯網2017年度大會精選演講PPT [附件下載]》《微信分享開源IM網絡層組件庫Mars的技術實現(視頻+PPT)[附件下載]》《微服務理念在微信海量用戶后臺架構中的實踐(視頻+PPT)[附件下載]》《移動端IM開發和構建中的技術難點實踐分享(視頻+PPT)[附件下載]》《網易云信的高品質即時通訊技術實踐之路(視頻+PPT)[附件下載]》《騰訊音視頻實驗室:直面音視頻質量評估之痛(視頻+PPT)[附件下載]》《騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT[附件下載]》《微信朋友圈海量技術之道PPT[附件下載]》《手機淘寶消息推送系統的架構與實踐(音頻+PPT)[附件下載]》《如何進行實時音視頻的質量評估與監控(視頻+PPT)[附件下載]》《Go語言構建高并發消息推送系統實踐PPT(來自360公司)[附件下載]》《網易IM云千萬級并發消息處理能力的架構設計與實踐PPT [附件下載]》《手機QQ的海量用戶移動化實踐分享(視頻+PPT)[附件下載]》《釘釘——基于IM技術的新一代企業OA平臺的技術挑戰(視頻+PPT)[附件下載]》《微信技術總監談架構:微信之道——大道至簡(PPT講稿)[附件下載]》《Netty的架構剖析及應用案例介紹(視頻+PPT)[附件下載]》《聲網架構師談實時音視頻云的實現難點(視頻采訪)》《滴滴打車架構演變及應用實踐(PPT講稿)[附件下載]》《微信海量用戶背后的后臺系統存儲架構(視頻+PPT)[附件下載]》《在線音視頻直播室服務端架構最佳實踐(視頻+PPT)[附件下載]》《從0到1:萬人在線的實時音視頻直播技術實踐分享(視頻+PPT)[附件下載]》《微信移動端應對弱網絡情況的探索和實踐PPT[附件下載]》《Android版微信從300KB到30MB的技術演進(PPT講稿)[附件下載]》《從零開始搭建瓜子二手車IM系統(PPT)[附件下載]》《極光分享:高并發海量消息推送系統架構演進(視頻+PPT)[附件下載]》《微信紅包系統可用性設計實踐(PPT) [附件下載]》《微信紅包數據架構演變(PPT) [附件下載]》《百度網盤千萬節點的P2P架構設計(PPT) [附件下載]》《瓜子IM智能客服系統的數據架構設計(PPT) [附件下載]》《基于C++構建微信客戶端跨平臺開發框架(PPT) [附件下載]》
[1] 精品源碼下載:
《Java NIO基礎視頻教程、MINA視頻教程、Netty快速入門視頻 [有源碼]》
《輕量級即時通訊框架MobileIMSDK的iOS源碼(開源版)[附件下載]》
《開源IM工程“蘑菇街TeamTalk”2015年5月前未刪減版完整代碼 [附件下載]》
《微信本地數據庫破解版(含iOS、Android),僅供學習研究 [附件下載]》
《NIO框架入門(四):Android與MINA2、Netty4的跨平臺UDP雙向通信實戰 [附件下載]》
《NIO框架入門(三):iOS與MINA2、Netty4的跨平臺UDP雙向通信實戰 [附件下載]》
《NIO框架入門(二):服務端基于MINA2的UDP雙向通信Demo演示 [附件下載]》
《NIO框架入門(一):服務端基于Netty4的UDP雙向通信Demo演示 [附件下載]》
《用于IM中圖片壓縮的Android工具類源碼,效果可媲美微信 [附件下載]》
《高仿Android版手機QQ可拖拽未讀數小氣泡源碼 [附件下載]》
《一個WebSocket實時聊天室Demo:基于node.js+socket.io [附件下載]》
《Android聊天界面源碼:實現了聊天氣泡、表情圖標(可翻頁) [附件下載]》
《高仿Android版手機QQ首頁側滑菜單源碼 [附件下載]》
《開源libco庫:單機千萬連接、支撐微信8億用戶的后臺框架基石 [源碼下載]》
《分享java AMR音頻文件合并源碼,全網最全》
《微信團隊原創Android資源混淆工具:AndResGuard [有源碼]》
《一個基于MQTT通信協議的完整Android推送Demo [附件下載]》
《Android版高仿微信聊天界面源碼 [附件下載]》
《高仿手機QQ的Android版鎖屏聊天消息提醒功能 [附件下載]》
《高仿iOS版手機QQ錄音及振幅動畫完整實現 [源碼下載]》
《Android端社交應用中的評論和回復功能實戰分享[圖文+源碼]》
《Android端IM應用中的@人功能實現:仿微博、QQ、微信,零入侵、高可擴展[圖文+源碼]》
《仿微信的IM聊天時間顯示格式(含iOS/Android/Web實現)[圖文+源碼]》
《Android版仿微信朋友圈圖片拖拽返回效果 [源碼下載]》
[2] 精品文檔和工具下載:
《計算機網絡通訊協議關系圖(中文珍藏版)[附件下載]》
《史上最全即時通訊軟件簡史(精編大圖版)[附件下載]》
《重磅發布:《阿里巴巴Android開發手冊(規約)》[附件下載]》
《阿里技術結晶:《阿里巴巴Java開發手冊(規約)-終極版》[附件下載]》
《基于RTMP協議的流媒體技術的原理與應用(技術論文)[附件下載]》
《獨家發布《TCP/IP詳解 卷1:協議》CHM版 [附件下載]》
《良心分享:WebRTC 零基礎開發者教程(中文)[附件下載]》
《MQTT協議手冊(中文翻譯版)[附件下載]》
《經典書籍《UNIX網絡編程》最全下載(卷1+卷2、中文版+英文版)[附件下載]》
《音視頻開發理論入門書籍之《視頻技術手冊(第5版)》[附件下載]》
《國際電聯H.264視頻編碼標準官方技術手冊(中文版)[附件下載]》
《Apache MINA2.0 開發指南(中文版)[附件下載]》
《網絡通訊數據抓包和分析工具 Wireshark 使用教程(中文) [附件下載]》
《最新收集NAT穿越(p2p打洞)免費STUN服務器列表 [附件下載]》
《高性能網絡編程經典:《The C10K problem(英文)》[附件下載]》
《即時通訊系統的原理、技術和應用(技術論文)[附件下載]》
《技術論文:微信對網絡影響的技術試驗及分析[附件下載]》
《華為內部3G網絡資料: WCDMA系統原理培訓手冊[附件下載]》
《網絡測試:Android版多路ping命令工具EnterprisePing[附件下載]》
《Android反編譯利器APKDB:沒有美工的日子里繼續堅強的擼》
《一款用于P2P開發的NAT類型檢測工具 [附件下載]》
《兩款增強型Ping工具:持續統計、圖形化展式網絡狀況 [附件下載]》
《Android保活從入門到放棄:乖乖引導用戶加白名單吧(附7大機型加白示例)》
[3] 精選視頻、演講PPT下載:
《美圖海量用戶的IM架構零基礎演進之路(PPT)[附件下載]》
《開源實時音視頻工程WebRTC的架構詳解與實踐總結(PPT+視頻)[附件下載]》
《QQ空間百億級流量的社交廣告系統架構實踐(視頻+PPT)[附件下載]》
《海量實時消息的視頻直播系統架構演進之路(視頻+PPT)[附件下載]》
《YY直播在移動弱網環境下的深度優化實踐分享(視頻+PPT)[附件下載]》
《QQ空間移動端10億級視頻播放技術優化揭秘(視頻+PPT)[附件下載]》
《RTC實時互聯網2017年度大會精選演講PPT [附件下載]》
《微信分享開源IM網絡層組件庫Mars的技術實現(視頻+PPT)[附件下載]》
《微服務理念在微信海量用戶后臺架構中的實踐(視頻+PPT)[附件下載]》
《移動端IM開發和構建中的技術難點實踐分享(視頻+PPT)[附件下載]》
《網易云信的高品質即時通訊技術實踐之路(視頻+PPT)[附件下載]》
《騰訊音視頻實驗室:直面音視頻質量評估之痛(視頻+PPT)[附件下載]》
《騰訊QQ1.4億在線用戶的技術挑戰和架構演進之路PPT[附件下載]》
《微信朋友圈海量技術之道PPT[附件下載]》
《手機淘寶消息推送系統的架構與實踐(音頻+PPT)[附件下載]》
《如何進行實時音視頻的質量評估與監控(視頻+PPT)[附件下載]》
《Go語言構建高并發消息推送系統實踐PPT(來自360公司)[附件下載]》
《網易IM云千萬級并發消息處理能力的架構設計與實踐PPT [附件下載]》
《手機QQ的海量用戶移動化實踐分享(視頻+PPT)[附件下載]》
《釘釘——基于IM技術的新一代企業OA平臺的技術挑戰(視頻+PPT)[附件下載]》
《微信技術總監談架構:微信之道——大道至簡(PPT講稿)[附件下載]》
《Netty的架構剖析及應用案例介紹(視頻+PPT)[附件下載]》
《聲網架構師談實時音視頻云的實現難點(視頻采訪)》
《滴滴打車架構演變及應用實踐(PPT講稿)[附件下載]》
《微信海量用戶背后的后臺系統存儲架構(視頻+PPT)[附件下載]》
《在線音視頻直播室服務端架構最佳實踐(視頻+PPT)[附件下載]》
《從0到1:萬人在線的實時音視頻直播技術實踐分享(視頻+PPT)[附件下載]》
《微信移動端應對弱網絡情況的探索和實踐PPT[附件下載]》
《Android版微信從300KB到30MB的技術演進(PPT講稿)[附件下載]》
《從零開始搭建瓜子二手車IM系統(PPT)[附件下載]》
《極光分享:高并發海量消息推送系統架構演進(視頻+PPT)[附件下載]》
《微信紅包系統可用性設計實踐(PPT) [附件下載]》
《微信紅包數據架構演變(PPT) [附件下載]》
《百度網盤千萬節點的P2P架構設計(PPT) [附件下載]》
《瓜子IM智能客服系統的數據架構設計(PPT) [附件下載]》
《基于C++構建微信客戶端跨平臺開發框架(PPT) [附件下載]》
(本文同步發布于:http://www.52im.net/thread-3033-1-1.html)
作者:Jack Jiang (點擊作者姓名進入Github) 出處:http://www.52im.net/space-uid-1.html 交流:歡迎加入即時通訊開發交流群 215891622 討論:http://www.52im.net/ Jack Jiang同時是【原創Java Swing外觀工程BeautyEye】和【輕量級移動端即時通訊框架MobileIMSDK】的作者,可前往下載交流。 本博文 歡迎轉載,轉載請注明出處(也可前往 我的52im.net 找到我)。
Powered by: BlogJava Copyright © Jack Jiang