首先老套路看圖:分別是小米的渠道和應用寶的渠道
這是渠道的渠道號的截圖
先說下Gradle的多渠道打包,個人更喜歡這樣寫:
第一步:需要在清單文件添加標識:
<meta-data
android:name="XiaYiYe"
android:value="${XiaYiYeValue}" />
配置的name和value不是固定值,可以自己取的
第二步:
在app的gradle的android根節點添加如下配置:
productFlavors {
tool {
manifestPlaceholders = [XiaYiYeValue: "360"]
}
yyb {
manifestPlaceholders = [XiaYiYeValue: "yyb"]
}
xiaomi {
manifestPlaceholders = [XiaYiYeValue: "xiaomi"]
}
huawei {
manifestPlaceholders = [XiaYiYeValue: "huawei"]
}
}
當然上面的第二步也可以用下面的方法替代我不常用:
productFlavors {
"wandoujia" {
}
"xiaomi" {
}
"yyb" {
}
"huawei" {
}
baidu {
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [XiaYiYeValue: name]
}
}
這樣就配置好了,然後獲取渠道號碼就行了:
private void showValue() {
try {
PackageManager pm = getPackageManager();
ApplicationInfo appInfo = pm.getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
String channel = appInfo.metaData.getString("XiaYiYe");
Toast.makeText(this, channel, Toast.LENGTH_LONG).show();
} catch (PackageManager.NameNotFoundException ignored) {
}
}
上面的XiaYiYe這個key就是清單文件xml中配置的name這個值,獲取到渠道號後直接上傳到你們的後臺就可以進行渠道統計了