美團多渠道打包以快出名,早有耳聞结窘,但總覺得神龍見首不見尾,大多文章都是講原理的東西充蓝,卻始終難懂到底怎么樣用隧枫,今天就以初學(xué)者的姿態(tài)一邊探索,一邊總結(jié)谓苟,也希望能幫住大家少走寫冤枉路官脓。
首先,明白幾個問題:
1涝焙、為什么要進行多渠道打包卑笨?
安卓應(yīng)用商店(一個商店也叫做一個渠道,如360仑撞,baidu湾趾,xiaomi)眾多,大大小小幾百個派草,我們發(fā)布應(yīng)用之后需要統(tǒng)計各個渠道的用戶下載量搀缠,所以才有了多渠道打包。
2近迁、怎么樣統(tǒng)計各個渠道的下載量呢艺普?
現(xiàn)在有比較成熟的第三方應(yīng)用幫我們實現(xiàn)統(tǒng)計功能(比如友盟),統(tǒng)計的本質(zhì)就是收集用戶信息傳輸?shù)胶笈_,后臺生成報表歧譬,幫助我們跟蹤分析并完善app岸浑。通過系統(tǒng)的方法已經(jīng)可以獲取到,版本號瑰步,版本名稱矢洲,系統(tǒng)版本,機型缩焦,地區(qū)等各種信息读虏,唯獨應(yīng)用商店(渠道)的信息我們是沒有辦法從系統(tǒng)獲取到的,所以我們就人為的在apk里面添加渠道信息(其實就用一個字段進行標識袁滥,如360盖桥,baidu),我們只要把這些信息打包到apk文件并將信息傳輸?shù)胶笈_题翻,后臺根據(jù)這個標識揩徊,可以統(tǒng)計各個渠道的下載量了,并沒有多么的高大上嵌赠。
說了那么多塑荒,其實多渠道打包只需要關(guān)注兩件事情:
- 將渠道信息寫入apk文件
- 將apk中的渠道信息傳輸?shù)浇y(tǒng)計后臺
其實網(wǎng)上大多數(shù)文章都只是告訴讀者“怎么樣將渠道信息寫入apk文件”這一個步驟,導(dǎo)致一些初學(xué)者摸不著頭腦(我就是其中一個)姜挺,那么袜炕,然后呢?這樣就行了嗎初家?總覺得缺了點什么偎窘。
完整步驟,帶你輕松搞定美團多渠道打包
- 下載安裝python環(huán)境 Python下載地址
- 下載python腳本 AndroidMultiChannelBuildTool
- 將ChannelUtil.java代碼集成到工程里面溜在,在app啟動時獲取渠道號傳送給后臺(如友盟:AnalyticsConfig.setChannel(ChannelUtil.getChannel(this))陌知;
- 在PythonTool/Info/channel.txt中編輯渠道列表,以換行隔開掖肋,工程中有示例
- 打包apk仆葡,將apk文件復(fù)制到PythonTool目錄下(與py同級),運行(直接雙擊.py文件或者在命令行輸入 python MultiChannelBuildTool.py )py腳本即可打包完成志笼。(生成的渠道apk包在output_** 目錄下)
體驗了12個渠道包沿盅,不到3秒鐘:
最新打包方案纫溃,據(jù)說很不錯腰涧,還沒有嘗試過https://github.com/mcxiaoke/packer-ng-plugin