因爲國內 Android 生態百家爭鳴(其實TM就是混亂),各個手機廠家對 Android Rom 進行了深度定製,衍生出了各類 Android 系統。因爲國內沒法使用 Google GCM 服務,Push 消息沒法送達。再加上各個 Android Rom 對後臺的嚴苛管理,致使自建通道的長鏈接進程沒法正常存活,如極光推送、友盟推送在 oppo 和小米手機上也沒法作到及時推送。Android綠色聯盟看來現現在也期望不上。可是公司業務迫切須要Push,讓咱們作一個技術選型。爲了保持一個嚴謹的態度咱們爬取了豌豆莢商店14種分類,每種分類前100名的APP,分析看看常見的幾個push通道哪個是接入率最高的。(原本爬取的是APP排行榜前200名,結果發現阿里系的基本都是接入友盟,騰訊系是接入信鴿,這樣樣本太少分析不夠準確)android
咱們打開豌豆莢APP的分類,點擊影音播放分類 git
sign
加密字段咱們沒法經過Python編寫自動請求腳本,因爲我也懶得研究這個加密的md5是怎麼來的,就直接把Charles的抓包response保存爲json文件放在相應的目錄,經過一個腳本去解析咱們須要的數據。 經過獲取APP json的
downloadUrl
字段獲取下載連接下載全部APP。1400個所有下載完成以下:
咱們經過apktool逆向工具解壓apk文件,而後檢索相應的特徵就能夠了,例如github
這裏添加了一個OKHttp SDK的分析主要是做爲一個基準,看一個成熟的SDK會有多少的接入率。還有一個緣由是看看該分類的APP對網絡的依賴性是否比較大,好比系統工具
分類下的APP顯然沒有新聞閱讀
和網上購物
分類對網絡的依賴性大。
因爲apk文件被apktool解壓後文件會變得超級大,因此咱們只能逐個分類分析,每分析完一個分類刪除全部解壓文件後再分析下一個分類,最後再整合數據。(其實就是特麼窮逼,只能買得起256G的MAC,放不下這麼多數據=-=)
咱們經過Python csv將分析結果輸出爲csv文件,便於後面導入到Excel後進行圖形化數據分析。json
因爲在下載或者apktool解壓的過程當中可能有個別apk下載或者解壓失敗,咱們就直接跳過,由於個別樣本的錯誤並不會影響咱們總體數據的分析。 網絡
系統工具
分類的APP對網絡的依賴性果真是最低的。好比一個文件管理APP要啥網絡權限新聞閱讀
和網上購物
成熟度較高育兒親子
分類下面的APP成熟度最低,可是也是如今比較熱門的互聯網+行業。育兒親子
分類下的極光推送明顯優點,這估計是他們主打的營銷方向,即新生和小型客戶。github.com/LitterSun/S…
第一次寫Python,簡直稀爛,請輕虐……工具