zl程序教程

您现在的位置是:首页 >  APP

当前栏目

android友盟统计分渠道打包

2023-03-07 09:08:12 时间

什么是多渠道包 渠道包就是要在安装包中添加渠道信息,也就是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]
    }

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

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

这样运营就可以很方便的看到不同渠道的用户等,很方便。

希望对大家有所帮助。