Android应用自动化渠道打包过程分析
Android应用开发完之后一般都要上传市场。发布的时候需要面对各种各样的市场,我们称之为渠道。既然上传市场,我们就可能需要每个市场的一些数据分析: 比如,哪个市场用户下载量比较大?有时候,我们还需要知道应用是从哪个渠道下载的。再比如,我们可能有一些盈利需要和具体的渠道进行分成。这些都是统计渠道的信息。
为凌海等地区用户提供了全套网页设计制作服务,及凌海网站建设行业解决方案。主营业务为成都做网站、成都网站制作、凌海网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
如何在应用中加入渠道信息?
为了统计渠道信息,就不得不在程序的某个地方加入渠道的信息,然后针对不同的渠道打不同的包。一般可以在Manifest文件中加入渠道编号,而不直接写在代码中。这样做的好处是,可以针对不同渠道,自动化去修改Manifest文件中的渠道编号,然后自动为该渠道打包。
Manifest文件支持Meta Data标签,建议使用这种自定义标签。例如下面的文件片段。
android:versionCode=“X” android:versionName=“X.X.X” package=“com.XXX”> …… android:label=“@string/app_name”> ……
在这段代码示例中,我们在Application节点下增加了一个meta-data标签,名称是CHANNEL,值是C_001,是我们规定的一个渠道的编号。
为不同的渠道打包,就要手工或者自动化修改C_001成为C_002、C_003等等其它我们定义的渠道编号,然后再打不同的包。
程序如何读取打包的渠道编号?
在程序代码中,可以读取Manifest文件中定义的meta-data。以下为代码实例。
public static String getChannelCode(Context context) {
String code = getMetaData(context, “CHANNEL”);
if (code != null) {
return code;
}
return “C_000″;
}
private static String getMetaData(Context context, String key) {
try {
ApplicationInfo ai = context.getPackageManager().getApplicationInfo(
context.getPackageName(), PackageManager.GET_META_DATA);
Object value = ai.metaData.get(key);
if (value != null) {
return value.toString();
}
} catch (Exception e) {
//
}
return null;
}
如何自动化打包过程?
这里有两个工具:Ant、爱加密渠道监测。
使用Ant打包,需要注意两点:一个是要在Ant中支持For循环,以自动做多次打包动作;一个是如何能够在Ant中修改Manifest文件,以支持不同的市场。
1. Ant
在Ant的核心包里没有相关的For循环的Task,要下载相应的扩展包。可以使用开源的Ant-contrib包。
下载地址:http://ant-contrib.sourceforge.net/
下载完成后,把ant-contrib里的lib包复制到安装好的Ant库apache-ant-XXX\lib下面,就可以使用了。
具体如何使用,可以参考ant-contrib的官方网站。
2. 爱加密渠道监测
使用地址:http://www.ijiami.cn/Channels
可以一键打多渠道包,精准获取国内外600个APP推广渠道信息,包括应用商店、下载站、论坛等。一站式监控所有APP相关渠道的信息,包括:版本、渠道、下载源、下载量等。方便快捷的辅助开发者管理APP在各大渠道的上线及推广运营工作。
具体使用流程详见http://www.ijiami.cn/ 爱加密官方网站。
本文名称:Android应用自动化渠道打包过程分析
标题来源:http://cdiso.cn/article/jhpipc.html