Android多渠道打包--统计

工具

打包工具下载地址链接:http://pan.baidu.com/s/1slVPSTZ 密码:5d91
解压压缩包,复制apk文件到根目,在chanel.txt定义渠道,运行bat文件则可以快速生成渠道包。

代码写入

暂时以友盟统计为事例:

友盟统计多渠道打包有多种方式,常见的有gradle配置渠道,在mainfest写入meta配置appkey和渠道或在java代码设置appkey和渠道。

在java代码中设置渠道通常在Application中进行如下设置

MobclickAgent. startWithConfigure(UMAnalyticsConfig config)  

如:

MobclickAgent.startWithConfigure(new  MobclickAgent.UMAnalyticsConfig(context, "you-appkey", channel));

//从meta中获取渠道的方法
public static String getChannelFromMeta(Context context) {
    ApplicationInfo appinfo = context.getApplicationInfo();
    String sourceDir = appinfo.sourceDir;
    String ret = "";
    ZipFile zipfile = null;
    try {
        zipfile = new ZipFile(sourceDir);
        Enumeration entries = zipfile.entries();
        while (entries.hasMoreElements()) {
            ZipEntry entry = ((ZipEntry) entries.nextElement());
            String entryName = entry.getName();
            if (entryName.startsWith("META-INF/channel_")) {
                ret = entryName;
                break;
            }
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (zipfile != null) {
            try {
                zipfile.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    String[] split = ret.split("_");
    if (split != null && split.length >= 2) {
        return ret.substring(split[0].length() + 1);
    } else {
        return "default";
    }
}

在进行不签名的多渠道打包是在apk的META-INF文件中写入渠道信息,之后再去程序启动时动态读取。

实现方法一:
相关链接:java版本实现多渠道打包

使用上述版本打包多渠道在友盟统计中亲测有效(集成测试),在非集成测试中默认初始安装渠道为当前渠道。

你可能感兴趣的:(Android多渠道打包--统计)