多渠道打包

作者: A大心 | 来源:发表于2019-03-17 20:12 被阅读27次

    多渠道打包的作用:apk--发布到市场上(渠道就是可以下载apk的地方)

    1.0:发布到不同渠道上的apk,标记不同的渠道,目的是为了统计该渠道的下载量,留存率等等数据

    2.0:了解下载量

    3.0:针对性打广告

    如果不多渠道打包的话,一个apk包投到数十个市场上,你怎么知道那个市场上下载量最大----多渠道主要是为了运营,让他们根据数据去玩(主要用到了友盟);

    多渠道打包的核心原理:给每个apk根据要投放的市场的,打上独有的标识.

    apk1--tag1--下载apk1---安装---运行---取出tag1---上传标记和手机唯一标识到服务器--进行判断,手机没有安装过apk--tag1++统计

    apk2--tag2--下载apk2---安装---运行---取出tag2---上传标记和手机唯一标识到服务器--进行判断,手机没有安装过apk--tag2++统计

    apk3--tag3--下载apk3---安装---运行---取出tag3---上传标记和手机唯一标识到服务器--进行判断,手机没有安装过apk--tag3++统计

    apk4--tag4--下载apk4---安装---运行---取出tag4---上传标记和手机唯一标识到服务器--进行判断,手机没有安装过apk--tag4++统计

    apk5--tag5--下载apk5---安装---运行---取出tag5---上传标记和手机唯一标识到服务器--进行判断,手机没有安装过apk--tag5++统计

    多渠道打包的基本步骤:

    01.为apk添加标记(渠道的标识);

    02.运行apk的时候取出标记;

    03.上传标记给服务器统计;

    使用友盟来完成渠道统计:(meta-data在application下配置和配置activity是在一个地方的)

    01.只需要在清单配置文件加上这一步即可.剩下的取标记,统计交个友盟.这就是第三方的好处(站在巨人肩膀上开发)

        android:name="UMENG_CHANNEL"

        android:value="xiaomi" />

    02.运行apk的时候,友盟的API,会取出mete-data,

    03.上传渠道标记到友盟自己的服务器.用户可以通过友盟的后台查看具体的渠道统计了.

    多渠道打包流程:

    apk源码--打标记--导出apk

    多渠道打包的5种配置方式:(我们程序员在多渠道统计主要做的工作就是多渠道打包)

    0.一个一个分别打:修改源代码,修改meta-data,然后打包. 技术难点简单,效率低,操作繁琐

    1.ant:要求比较高,需要懂得如何编写ant脚本,但是编写好后执行一个命令即可(ant build) 效率较高,但是难度高,主要流行于eclipse

    http://blog.csdn.net/liuhe688/article/details/6679879

    2.友盟的打包工具

    https://github.com/umeng/umeng-muti-channel-build-tool 已经被淘汰了,早期结合eclipse来用

    http://www.kuchuan.com/                                                    友盟最新版多渠道打包及分析工具,简单方便

    http://www.ijiami.cn/Channels                                            爱加密,app加固及多渠道打包一起完成

    使用这些第三方,必须要首先在清单配置文件配置一下<meta-data    android:name="UMENG_CHANNEL"    android:value="xiaomi" />作为参考

    3.Gradle多渠道打包                                比较新,使用简单

    第一步 在AndroidManifest.xml的application里配置PlaceHolder(注意:是">"外)

    <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />

    第二步在模块的build.gradle文件里添加ProductFlavors配置

        其中productFlavors{ wandoujia{} }就是对应${UMENG_CHANNEL_VALUE}的值。

    productFlavors{

        wandoujia{}

        qihu360{}

        baidu{}

        xiaomi{}

        uc{}

        productFlavors.all{

    flavor->flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]

        }

    }

    其中name的值对相对应各个productFlavors的选项值,这样就达到自动替换渠道值的目的了。

    这样生成apk时,选择相应的Flavors来生成指定渠道的包就可以了,而且生成的apk会自动帮你加上相应渠道的后缀,非常方便和直观。大家可以自己反编译验证。

    当然,这个方式也是有缺陷的,有一些特定的渠道包不是仅仅修改AndroidManifest.xml就可以的,

    比如小米就要求app本身不能有自动更新功能,这需要改动代码,所以就无能为力了。

    4.快速打包.

    https://github.com/mcxiaoke/packer-ng-plugin

    配置完渠道,打多个包:

    相关文章

      网友评论

        本文标题:多渠道打包

        本文链接:https://www.haomeiwen.com/subject/zncpmqtx.html