友盟多渠道获取渠道名,后台显示市场标识

类似用户登录app获取用户是什么手机。运营人员在各大应用商店运营APP,我们负责给他们各个应用商店的渠道包。这里我介绍一下我用到的友盟 。

注册友盟账号新建应用这里就不多说了。这里都有详细的接入文档,记录方便日后所需。

1、在AndroidManifest.xml 的application中添加

<!--所需权限-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>


<meta-data
            android:name="UMENG_APPKEY"
            android:value="" />
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="${UMENG_CHANNEL_VALUE}" />

这个地方注意 android:value="${UMENG_CHANNEL_VALUE}" 值的配置

要与build.gradle文件中配置保持一致

productFlavors.all {
    flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}

2、在build.gradle中添加所需要的渠道

productFlavors {
        oppo {}
        vivo {}
        _360 {}
        meizu {}
        baidu {}
        xiaomi {}
        yinyou {}
        huawei {}
        anzhi {}
        le {}
        pp {}
        muma {}
        shaxin {}
        shixi {}
        jb {}
    }

这个时候你Sync Now 应该会出现一个错误

ERROR: All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html
Affected Modules: app

大概意思是:所有味道现在必须属于一个命名的味道维度

这个时候在 defaultConfig中加入 flavorDimensions "versionCode" 就完美解决了渠道接入,来源

 

3、最后一步在注册的接口传递参数和后台配合

String frommarket = null;
ApplicationInfo info = null;
        try {
            info = getContext().getPackageManager().getApplicationInfo(getContext().getPackageName(), PackageManager.GET_META_DATA);
            frommarket = info.metaData.getString("UMENG_CHANNEL");
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        all.put("channel", frommarket);

frommarket 即就是我们所需要的渠道号,我们传给后台,后台保存就好。

 

相关阅读:

Attribute meta-data#UMENG_CHANNEL@value at AndroidManifest.xml:189:13-51 requires a placeholder substitution but no value for <UMENG_CHANNEL_VALUE> is provided. app main manifest (this file), line 188 Error: Validation failed, exiting app main manifest (this file)

 

关于混淆可以移步去友盟看官网的记载。

纸上得来终觉浅,书到用时方恨少。共勉。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值