之前公司要求识别下载渠道,所以做了多渠道标识,如下编辑自己的项目,一行打包代码即可打出许多包。。
-->build.gradle中
android {
...
productFlavors {
"000"{}
"002"{}
"003"{}
"004"{}
"005"{}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [WBY_VALUE:name]
}
...
}
-->androidmanifest.xml中
<manifest>
...
<application>
...
<meta-data
android:name="WBY"
android:value="${WBY_VALUE}" />
</application>
</manifest>
-->在你需要这个值传递给后端统计的地方这样取值
public static Stringgetchannel(){
Object msg="";
try {
ApplicationInfo appInfo =getContext().getPackageManager().getApplicationInfo(getContext().getPackageName(),PackageManager.GET_META_DATA);
msg = appInfo.metaData.get("WBY");
// Toast.makeText(getContext(), "渠道号:" + msg.toString(), Toast.LENGTH_SHORT).show();
}catch (Exception e) {
Log.e("wby", "出错了" + e);}
return msg.toString();
}
网友评论