Android应用自动化渠道打包过程分析

Android应用开发完之后一般都要上传市场。发布的时候需要面对各种各样的市场,我们称之为渠道。既然上传市场,我们就可能需要每个市场的一些数据分析: 比如,哪个市场用户下载量比较大?有时候,我们还需要知道应用是从哪个渠道下载的。再比如,我们可能有一些盈利需要和具体的渠道进行分成。这些都是统计渠道的信息。


        如何在应用中加入渠道信息?

        为了统计渠道信息,就不得不在程序的某个地方加入渠道的信息,然后针对不同的渠道打不同的包。一般可以在Manifest文件中加入渠道编号,而不直接写在代码中。这样做的好处是,可以针对不同渠道,自动化去修改Manifest文件中的渠道编号,然后自动为该渠道打包。

       Manifest文件支持Meta Data标签,建议使用这种自定义标签。例如下面的文件片段。

<?xml version=“1.0″ encoding=“utf-8″?>

<manifest xmlns:android=“http://schemas.android.com/apk/res/android”

      android:versionCode=“X”

      android:versionName=“X.X.X”

      package=“com.XXX”>

      ……

    <application android:icon=“@drawable/icon”

            android:label=“@string/app_name”>

        ……

    <meta-data android:name=“CHANNEL” android:value=“C_001″ />

    </application>

</manifest>

在这段代码示例中,我们在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/ 爱加密官方网站。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。