前言
什么是多渠道打包,我是這么理解:就是將一個應用打成多個包,代碼都一樣,但是有個不同的標識去標記每一個包
目的:當應用程序包上架到不同的應用市場之后,可以準確的分析的不同市場的下載量,使用量等
正文
一般用渠道的統計無非是用友盟或者其它之類的,今天就以友盟的為例吧!
首先你必須在AndroidManifest.xml中的meta-data修改以下的樣子:
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
然后在app包下的build.gradle里的android{}下
wandoujia { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] }
baidu { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]}
c360 {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360"]}
uc {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "uc"]}
}```
還有一種比較簡潔的寫法如下:
```productFlavors {
xiaomi {}
_360 {}
baidu {}
wandoujia {}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}```
其中`[UMENG_CHANNEL_VALUE: "wandoujia"]`就是對應`${UMENG_CHANNEL_VALUE}`的值
一會說那個的xiaomi、-360名字為自己定義
# 一次生成所有渠道包:
在android studio底欄中有個命令行工具Terminal
運行:`gradlew assembleRelease`
如果只想生成單個渠道包:
運行:`gradle assembleWandoujiaRelease`
這樣便會在項目目錄下生成不同渠道的apk包,就可以拿著這些包上架到不同的應用市場,通過友盟的后臺來查看應用的統計信息。
具體的友盟統計的集成可以參考官方文檔:
`http://dev.umeng.com/analytics/android-doc/integration`