1.11 多渠道打包
国内提供了许多应用市场,例如360、百度、应用宝、豌豆荚以及各手机厂商的市场等。
当需要去统计App的下载量、激活量的时候,不能对单个市场的流量进行统计。推广部门也不知道推广效果如何。例如,今天App在应用宝进行了首发,需要统计今天应用宝有多少激活设备,有多少注册用户,这样才知道推广有没有效果。
为了解决这个问题就出现了多渠道打包,一份源码给不同的市场编译出不同的APK文件,每个APK文件中都包含了当前市场的渠道码(自己指定一个字符串)。
1.11.1 代码实现
修改app/build.gradle文件,在Android标签下增加productFlavors标签,内容如下:
我们就自定义了一个变量FR,不同的渠道赋值不同的字符串。
这个自定义变量会在BuildConfig类中自动生成,在Java代码中取这个值只要一行代码即可。
String fr=BuildConfig.FR;//取到当前的渠道码,然后上传到服务器,就能根据不同的渠道进行统计 Log.i("ansen","当前渠道码:"+fr);
1.11.2 测试
打渠道包必须要手动进行,选择需要的渠道,在Android Studio菜单栏中点击Build→Generate Signed APK→Next,如图1-56所示。
图1-56 签名APK
输入签名信息,点击Next按钮。可以选择APK文件输出路径、编译类型、渠道包。渠道包可以多选,这里全选了,然后点击Finish按钮,如图1-57所示。
图1-57 签名时选择渠道码
Android Studio编译会需要一点时间,打包完成后在选择的APK保存路径下会生成三个APK文件,对应不同的渠道,如图1-58所示,可以依次安装这三个软件包。看打印Logo,会发现安装不同的包打印的fr值是不一样的。
图1-58 不同渠道的APK文件
多渠道还能干什么
其实多渠道打包还能干很多事情,比如给不同的渠道配置不同的applicationId、生成不同应用名称或图标,还可以指定不同渠道包的名字。但是大部分人只需要打渠道包,如果想实现上面列出的功能,可以参考Google官方文档。