8.7 分类打渠道包
每次Android发版都要打几百个渠道包,把这些渠道包都放在一个目录下,对于推广人员来说是一种灾难。本节我们要研究如何把这几百个渠道包分门别类放在合适的地方。
8.7.1 分门别类生成渠道包
根据我的经验,渠道包基本分为4类:
1)需要我们自己的推广人员手动上传到各大市场的渠道包。
2)HTML5短链接上提供下载的渠道包。
3)交付给第三方Android市场的工作人员,由他们帮忙更新。
4)需要额外定制的渠道包。
其中,第4类不列入批量打渠道包的清单中。因为这种渠道包有额外定制的功能,每次都是在某个稳定版本的基础上修改一些功能后单独打包,然后交付给推广人员即可。
在实际操作中,我们发现,前3类渠道包,是有优先级顺序的,一般而言,在发版当天,第1类和第2类渠道包就要同步更新了,第3类可以放在夜里进行打包,第二天再发给推广人员就可以了。
我们之前编写的batchbuild.xml太一厢情愿了,它把所有的渠道包全都打出来而不会进行分类,这对于市场人员太痛苦了,而我们开发人员的工作就是要救世人于水火之中,所以我们将原先的channel.xml按类别拆分为3个文件,分别存放以上3类渠道列表:
1)channel_manual.txt,存放需要手动上传的包。
2)channel_h5.txt,存放HTML5短链上的包。
3)channel_tomorrow.txt,存放第二天再上传的渠道包。
我们在batchbuild.xml的外面做了一层包装,也就是batch_build_ext.txt,其中ext是扩展的意思,它会先后读取以上3个存放渠道列表的txt文件,然后进行批量打包工作。
batch_build_ext.xml脚本的关键代码如下:
<target name="foreach_manager_all"> <!-- 根据 channel_manual.txt进行打包 --> <var name="channel.filename" value="channel_manual.txt" /> <var name="build-path" value="C:\build\${appversion}\manual" /> <ant antfile="batch_build.xml" inheritAll="true" /> <!-- 根据 channel_h5.txt进行打包 --> <var name="channel.filename" value="channel_h5.txt" /> <var name="build-path" value="C:\build\${appversion}\h5" /> <ant antfile="batch_build.xml" inheritAll="true" /> <!-- 根据 channel_tomorow.txt进行打包 --> <var name="channel.filename" value="channel_tomorrow.txt" /> <var name="build-path" value="C:\build\${appversion}\tomorrow" /> <ant antfile="batch_build.xml" inheritAll="true" /> </target>
我们只要执行下面的脚本就可以批量生成渠道包了:
c:\ProjectForAntBuild>ant – buildfile batch_build_ext.xml
生成的目录格式如图8-7所示。
图8-7 批量生成渠道包的目录结构
8.7.2 批量上传apk的两种方式
每次发版时,推广人员都要手动上传所有的apk包到市场。对于推广人员而言是非常痛苦的事情。 [1]
为了把推广人员解脱出来,我们经过调研,发现市面上有很多这样的一键式提交工具,我们预先把这些市场的账户和密码输入到这个工具中,就可以一劳永逸了。当然这期间还有如何输入更新信息、不同渠道上传不同的渠道包等若干问题,这就都是细节了。
另一方面,推广人员还要手动更新所有的HTML5短链接。每次都有100多个,要耗费大量的人力。经过调研,我们发现,其实这也是可以实现自动化的。我们需要写一个工具,批量更新HTML5短链接上的apk包。事先需要规定好渠道包的命名规范,如下所示:
渠道号 _版本号 _App名称 .apk
例如:ProjectForAntBuild_1.1.0_360android.apk
那么我们的批量打渠道包工具,就会按照这个约定,在一个目录下生成HTML5短链接所需要的所有apk。然后推广人员点击“发布”按钮,就可以把所有的HTML5短链接都更新为最新的版本。
[1] 详细信息请参见博客园“谦虚的天下”的文章《App应用之提交到各大市场渠道》,地址如下:http://www.cnblogs.com/qianxudetianxia/archive/2012/12/05/2803894.html。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论