美团多渠道打包以快出名,早有耳闻,但总觉得神龙见首不见尾,大多文章都是讲原理的东西,却始终难懂到底怎么样用,今天就以初学者的姿态一边探索,一边总结,也希望能帮住大家少走写冤枉路。
首先,明白几个问题:
1、为什么要进行多渠道打包?
安卓应用商店(一个商店也叫做一个渠道,如360,baidu,xiaomi)众多,大大小小几百个,我们发布应用之后需要统计各个渠道的用户下载量,所以才有了多渠道打包。
2、怎么样统计各个渠道的下载量呢?
现在有比较成熟的第三方应用帮我们实现统计功能(比如友盟),统计的本质就是收集用户信息传输到后台,后台生成报表,帮助我们跟踪分析并完善app。通过系统的方法已经可以获取到,版本号,版本名称,系统版本,机型,地区等各种信息,唯独应用商店(渠道)的信息我们是没有办法从系统获取到的,所以我们就人为的在apk里面添加渠道信息(其实就用一个字段进行标识,如360,baidu),我们只要把这些信息打包到apk文件并将信息传输到后台,后台根据这个标识,可以统计各个渠道的下载量了,并没有多么的高大上。
说了那么多,其实多渠道打包只需要关注两件事情:
- 将渠道信息写入apk文件
- 将apk中的渠道信息传输到统计后台
其实网上大多数文章都只是告诉读者“怎么样将渠道信息写入apk文件”这一个步骤,导致一些初学者摸不着头脑(我就是其中一个),那么,然后呢?这样就行了吗?总觉得缺了点什么。
完整步骤,带你轻松搞定美团多渠道打包
- 下载安装python环境 Python下载地址
- 下载python脚本 AndroidMultiChannelBuildTool
- 将ChannelUtil.java代码集成到工程里面,在app启动时获取渠道号传送给后台(如友盟:AnalyticsConfig.setChannel(ChannelUtil.getChannel(this));
- 在PythonTool/Info/channel.txt中编辑渠道列表,以换行隔开,工程中有示例
- 打包apk,将apk文件复制到PythonTool目录下(与py同级),运行(直接双击.py文件或者在命令行输入 python MultiChannelBuildTool.py )py脚本即可打包完成。(生成的渠道apk包在output_** 目录下)
体验了12个渠道包,不到3秒钟:
ps:有讲的不清楚的,欢迎指出^o^.
最新打包方案,据说很不错,还没有尝试过https://github.com/mcxiaoke/packer-ng-plugin
文/dongjunkun(简书作者)
原文链接:http://www.jianshu.com/p/76ab2ff11229
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。