什么是多渠道包

渠道包就是要在安装包中添加渠道信息,也就是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是并列关系):

代码语言:javascript代码运行次数:0运行复制

android:name="UMENG_CHANNEL"

android:value="${UMENG_CHANNEL_VALUE}" />2.app的build.gradle配置

1)写法一

代码语言:javascript代码运行次数:0运行复制 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)写法二

代码语言:javascript代码运行次数:0运行复制 productFlavors {

yingyongbao{}

huawei{}

xiaomi{}

sc360{}

baidu{}

jky{}

}

productFlavors.all {

flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]

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

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

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

希望对大家有所帮助。

top
Copyright © 2088 足球世界杯预选赛_荷兰世界杯 - twllb.com All Rights Reserved.
友情链接