基本原理
首先渠道包的基本打包实现:
在每个渠道包的manifest文件中配置一个meta-data的标签,写入对应的渠道数据
以友盟为例:
<manifest>
... ...
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
</manifest>
至于为什么是manifest而不是其他地方,个人认为是因为官方提供了直接读取的方式:
/**
* 获取app当前的渠道号或application中指定的meta-data
*
* @return 如果没有获取成功(没有对应值,或者异常),则返回值为空
*/
public static String getAppMetaData(Context context, String key) {
if (context == null || TextUtils.isEmpty(key)) {