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

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

类似用户登录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)

 

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114981.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DDR中的ODT功能详解及波形对比[通俗易懂]

    DDR中的ODT功能详解及波形对比[通俗易懂]ODT(ondietermination)即为片内端接,就是将端接电阻放在了芯片内部,这个功能只有在DDR2以上的数据信号才有。而有了ODT功能,原本需要在PCB板上加串联电阻的数据信号就不需要再额外添加端接了,只需要芯片内部打开ODT的端接功能,且这个端接可调。以下就是ODT的端接情况,如图所示:当数据读操作的时候,主控芯片(CPU)读取内存颗粒的数据,此时主控为接收端,可根据需要选择是否打开ODT功能;当数据写操作的时候,主控芯片(CPU)将数据写入内存颗粒,此时颗粒为接收端,也可以根据需要

    2025年10月10日
    5
  • mysql获取当前时间前一天_mysql删除数据表命令

    mysql获取当前时间前一天_mysql删除数据表命令1.current_timestamp2.current_time3.current_data4.now()5.curdate()6.curtime()将当前时间插入数据库insertintot_login(user_id,login_time)values(1,CURRENT_TIMESTAMP);…

    2022年10月19日
    3
  • 数据库备份之我见(精华)

    数据库备份之我见(精华)

    2021年7月25日
    74
  • Python 3 读取和存储Excel数据(应用到接口测试)

    Python 3 读取和存储Excel数据(应用到接口测试)1、利用cmd命令安装第三方库openpyxl同时支持读写操作,支持的Excel是以.xlsx结尾的文件。命令:pipinstallopenpyxl【命令:pipinstallreq

    2022年7月5日
    27
  • idea 激活码2021 3月最新注册码

    idea 激活码2021 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    52
  • Redis Cluster集群收缩主从节点详细教程

    Redis Cluster集群收缩主从节点详细教程RedisCluster集群收缩主从节点文章目录RedisCluster集群收缩主从节点1.Cluster集群收缩概念2.将6390主节点从集群中收缩2.1.计算需要分给每一个节点的槽位数2.2.分配1365个槽位给192.168.81.210的6380节点2.3.分配1365个槽位给192.168.81.220的6380节点2.4.分配1365个槽位给192.168.81.230的6380节点2.5.查看当前集群槽位分配3.验证数据迁移过程是否导致数据异常4.将下线的主节点从集群中删除4.1.删除节

    2025年6月30日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号