android友盟统计分渠道打包

简介: android友盟统计分渠道打包

什么是多渠道包

渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠道,例如:小米市场、360市场、应用宝市场等

产品在不同的应用市场可能有不同的统计需求,需要为每个应用市场的Android包设定一个可以区分应用市场的标识,这个为Android包设定应用市场标识的过程就是多渠道打包。


为什么要提供多渠道包

国内存在着有众多的应用市场,产品在不同的渠道可能有不同的统计需求,为此Android开发人员需要为每个应用市场发布一个安装包,这里就引出了Android的多渠道打包。

在安装包中添加不同的标识,应用在请求网络的时候携带渠道信息,方便后台做运营统计。


友盟的多渠道打包

友盟就提供了多渠道打包的方式,可用于渠道统计等。

现在Android的构建工具换成了gradle,通过gradle,简单配置后就可以实现自动打所有渠道包。


补充知识

了解下BuildTypes、Flavors、BuildVariants三个定义:

1、BuildTypes : 构建类型,AndroidStudio的Gradle组件默认提供给了“debug”“release”两个配置。

2、Flavors : 产品渠道,可以根据productFlavors,针对不同的渠道配置个性化apk

3、BuildVariants:每一个buildtype和flavor组成一个buildvariant


1.按照umeng的要求,manifest文件中需要有(在application下,和activity是并列关系):

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

2.app的build.gradle配置

1)写法一

    productFlavors {
        yingyongbao {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"]
        }
        huawei {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "huawei"]
        }
        xiaomi {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
        }
        sc360 {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "360"]
        }
        baidu {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
        }
        jky {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "jky"]
        }
    }

2)写法二

    productFlavors {
        yingyongbao{}
        huawei{}
        xiaomi{}
        sc360{}
        baidu{}
        jky{}
    }
    productFlavors.all {
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }

如果没有错误的话,效果是这样的

image.png

打包发布后,在友盟后台看到的效果是这样的

image.png

image.png


相关文章
|
6月前
|
敏捷开发 Java 机器人
云效产品使用常见问题之打包后的Android应用获取下载地址失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
安全 Java Android开发
05. 【Android教程】Android 程序签名打包
05. 【Android教程】Android 程序签名打包
61 1
|
3月前
|
安全 Java Android开发
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
如何解压OTA升级包、编辑升级包内容(例如移除不需要更新的分区)、重新打包、签名以及验证OTA文件的过程。
270 2
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
|
4月前
|
Android开发
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
127 0
|
5月前
|
Java 开发工具 Android开发
详细解读Android开发DNK开发将.c文件打包成os
详细解读Android开发DNK开发将.c文件打包成os
31 0
|
5月前
|
jenkins 持续交付 开发工具
Android使用Jenkins打包自动维护sdk版本号
Android使用Jenkins打包自动维护sdk版本号
57 0
|
5月前
|
Android开发
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
266 0
|
6月前
|
Java Linux 调度
Android 打包分析
Android 打包分析
53 2
|
6月前
|
设计模式 缓存 Java
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试
补齐Android技能树——从AGP构建过程到APK打包过程,安卓rxjava面试
|
6月前
|
Java Android开发
Android module 打包成aar或jar
Android module 打包成aar或jar
218 0