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

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

类似用户登录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)
上一篇 2021年10月1日 下午9:00
下一篇 2021年10月1日 下午10:00


相关推荐

  • python的标识符可以以汉字开头_Python标识符命名小知识[通俗易懂]

    python的标识符可以以汉字开头_Python标识符命名小知识[通俗易懂]简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。Python中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:1.标识符是由字符(A~Z和a~z)、下划线和数字组成,但第一个字符不能是数字。2.标识符不能和Python中的保留字相同。有关保留字,后续章节会详细介绍。3.Python中的标识符中,不能…

    2025年9月1日
    5
  • 海思hi3798mv300和310的区别_海思3516

    海思hi3798mv300和310的区别_海思3516在网上搜寻海思HI3519或者hi3516实时识别除了官方给的SDK中有Rfcn的实时识别例子之外,其它都是读图片例子。官方例子中给了如下网络参考:Rfcn、Segnet、FasterRcnn、Cnn、Ssd、Yolov1、Yolov2、Yolov3、Lstm、Pvanet在SDK中文件夹路径为/rp-hi3516dv300-busybox/smp/a7_linux/mpp/sample/svp/nnie其中有一个sample_nnie_main.c文件,官方例子如下:/************

    2026年2月20日
    3
  • ER图转关系模型_实体关系图变关系模型

    ER图转关系模型_实体关系图变关系模型(1)实体类型的转换将每个实体类型转换成一个关系模式,实体的属性即为关系的属性,实体标识符即为关系的键。(2)联系类型的转换实体间的关系是1对1在实体类型转换成两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。实体间的联系是1对N则在N端实体类型转换成的关系模式中加入1端实体类主键。如实体间的联系是M对N单独将联系类型也转换成关系模式。将M和N端的主键都加进去。示例:该ER图转换为关系模型商店和职工是一对多关系,一个商店有多个

    2025年6月5日
    6
  • CSS使图片变模糊,亲测非常好用「建议收藏」

    CSS使图片变模糊,亲测非常好用

    2022年2月15日
    38
  • ORA-01017: invalid username/password; logon denied Oracle数据库报错解决方案一[通俗易懂]

    ORA-01017: invalid username/password; logon denied Oracle数据库报错解决方案一[通俗易懂]ORA-01017:invalidusername/password;logondenied错误(程序中的用户和密码无法登录,登录被拒)。Oracle11g版本初次安装使用报错:解决方法1创建新用户:打开sqlplus以系统身份登录:指令如下sys/managerassysdba;创建新用户:语法:createuser用户名identifiedb…

    2022年5月6日
    655
  • NodeJs学习—模块

    NodeJs学习—模块

    2021年9月8日
    70

发表回复

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

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