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

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

类似用户登录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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python字符串的使用方法_python输入字符串str

    python字符串的使用方法_python输入字符串strpython字符串常用方法find(sub[,start[,end]])在索引start和end之间查找字符串sub​找到,则返回最左端的索引值,未找到,则返回-1​start和end都可

    2022年7月28日
    2
  • linux桌面主题_ubuntu轻量级桌面

    linux桌面主题_ubuntu轻量级桌面Ubuntu默认的主题一直是大家一个争议的话题,很多Ubuntu用户对Ubuntu主色调为黄色的主题并不感冒,也许这就是所谓的众口难调吧。其实稍微动动手就可以让你的Ubuntu以一个新的面貌展现在你的面前。刚刚在sizzledcore.com上看到适用于UbuntuLinux的23个不同风格的主题,感觉相当不错,便立即和大家分享。当然你也可以把他们用的采用GNOME桌面的别…

    2022年9月23日
    2
  • 关于矩阵的归一化

    关于矩阵的归一化最近在看Yang大牛稀疏表示论文的代码,发现里面很多的操作的用到了矩阵的列归一化,这里谈一谈列归一化的实现,以及其带来的好处。矩阵的列归一化,就是将矩阵每一列的值,除以每一列所有元素平方和的绝对值,这样做的结果就是,矩阵每一列元素的平方和为1了。举个例子,矩阵[1,2,3]’,将其归一化的结果就是[0.2673,0.5345,0.8018]。其平方和就为1了。Y

    2022年10月11日
    1
  • VS中新建Qt项目工程后显示无法打开源文件“QtWidgets/QApplication”的解决方案「建议收藏」

    VS中新建Qt项目工程后显示无法打开源文件“QtWidgets/QApplication”的解决方案「建议收藏」环境:VS2015+Qt5.6在vs中新建工程后一般都会显示无法打开源文件“QtWidgets/QApplication”,就像这样:这是什么原因呢?这是因为,新建Qt项目时VC++包含目录没有自动包含Qt所需要的头文件路径,需要手动添加,具体操作步骤如下:1.在工程中右击项目,点击属性。2.选择VC++目录->包含目录,按图所示步骤操作。3.选择Q…

    2022年6月29日
    430
  • VBA编程_常用函数总结1[通俗易懂]

    VBA编程_常用函数总结1[通俗易懂]文章目录IsEmptyReplaceAscMidRoundIsEmpty  用于判断单元格是否为空:SubMain()ActiveSheet.Cells(7,3).Value=1IfIsEmpty(ActiveSheet.Cells(7,3))ThenDebug.Print”IsEmpty”ElseDebug.Print”NotEmpty”EndIfEndSubReplace  函数原型如下

    2022年5月22日
    38
  • Linux命令-1:tail命令详解

    Linux命令-1:tail命令详解由于测试过程中经常需要实时查看Tomcat日志,所以要掌握tail命令的用法。将平时用到的在此记录汇总一下。实时打印文件内容tail-ffilename显示文件的最后10行tailfilename显示文件最后20行tail-n20filename显示文件从第10行开始以后的内容tail-n+10filename显示文件最后10个字符…

    2022年6月3日
    62

发表回复

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

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