当前位置:网站首页>多渠道打包
多渠道打包
2022-08-04 00:53:00 【橙子19911016】
众所周知,国内Android应用市场碎片化严重,每当应用发布一个新的版本的时候,就需要分发到每一个应用市场中去,比如,360手机助手,小米应用市场,华为应用市场等。为了能够统计每个应用市场的下载量、活跃量,就必须用一个标记来区分这些不同市场分发下去的应用,渠道号也就应运而生。这些渠道包需要携带不同的渠道参数信息,以便在APP和后台交互或者数据上报时,各自带上用于区分不同渠道的参数信息。 这样,我们就能统计到每一个分发市场的安装量、注册量等重要数据。随着渠道的不断增加,需要生成的渠道包也就越来越多。 在打包的过程中,我们一般都是使用gradle来进行的。gradle为我们的打包提高了很多的便利,多渠道打包也可以轻松实现。
首先在AndroidManifest.xml文件中定义一个meta-data:
<meta-data android:name="CHANNEL" android:value="${CHANNEL_VALUE}" />
然后在gradle文件中设置一下productFlavors:
android {
productFlavors {
xiaomi {
manifestPlaceholders = [CHANNEL_VALUE: "xiaomi"]
}
_360 {
manifestPlaceholders = [CHANNEL_VALUE: "_360"]
}
baidu {
manifestPlaceholders = [CHANNEL_VALUE: "baidu"]
}
wandoujia {
manifestPlaceholders = [CHANNEL_VALUE: "wandoujia"]
}
}
}
productFlavors是为了在同一个项目中创建应用的不同版本。具体的配置信息可以看官方说明。最后,执行gradle aS就可以将所有的渠道包输出了。
虽然gradle配置多渠道打包很简单,也很方便,但是这种方式存在一个致命的缺陷,那就是费时间。因为AndroidManifest.xml文件被修改过了,所以所有的包都必须重新编译签名。一般来说100个渠道包就要至少一个小时的时间。更要命的是万一哪里需要微调一下代码或者文案,那么不好意思,一切又得重头来。这就很麻烦了,所以有没有什么方法可以快速完成打包呢?
关于渠道打包工具,目前在市面上有很多,其中最简单快捷的一家是openinstall,只需要上传一个标准的安装包,即可根据需求一键导出多个不同参数的渠道包进行分包统计。同时每次产品更新都无需开发技术人员参与,任何人员都可以简单快速的完成渠道包的生成与导出APK。
同时openinstall还有一种免打包的服务,通过渠道链接代替渠道包的方式来统计数据。只需要openinstall的后台上传一个标准的安装包,即可无限生成不同的渠道链接或者二维码(兼容Android/iOS),然后根据需求把渠道链接或者二维码分发到各个渠道,统计数据。
参考
边栏推荐
- ENS域名注册量创历史新高 逆市增长之势?光环之下存在炒作风险
- BioVendor人Clara细胞蛋白(CC16)Elisa试剂盒检测步骤
- 【虚拟化生态平台】虚拟化平台esxi挂载USB硬盘
- 卡尔曼滤波器KF
- Web3 安全风险令人生畏?应该如何应对?
- 中原银行实时风控体系建设实践
- 一文参透分布式存储系统Ceph的架构设计、集群搭建(手把手)
- View the version number of CUDA, pytorch, etc.
- Eight things to pay attention to in spot silver
- It will invest about 200 billion US dollars in the United States in 20 years, and Samsung Electronics looks so handsome
猜你喜欢

【详细教程】一文参透MongoDB聚合查询

typescript51 - basic use of generics

"Miscellaneous" barcode by Excel as a string

How to find the cause of Fiori Launchpad routing errors by single-step debugging

typescript53 - generic constraints

typescript56-泛型接口

LeetCode 19:删除链表的倒数第 N 个结点

jmeter分布式压测

View the version number of CUDA, pytorch, etc.

字符串变形
随机推荐
The problem of disorganized data output by mnn model
手撕Gateway源码,今日撕工作流程、负载均衡源码
跨域问题解决方式 代理服务器
Analysis: What makes the Nomad Bridge hack unique
typescript53-泛型约束
Apple told Qualcomm: I bought a new campus for $445 million and may plan to speed up self-development of baseband chips
typescript57-数组泛型接口
Demand analysis of MES management system in electronic assembly industry
谁说程序员不懂浪漫,表白代码来啦~
114. 如何通过单步调试的方式找到引起 Fiori Launchpad 路由错误的原因
Nanoprobes Mono- Sulfo -NHS-Nanogold的使用和应用
C# WPF设备监控软件(经典)-下篇
js函数防抖和函数节流及其使用场景
Shell编程之循环语句(for、while)
Eight things to pay attention to in spot silver
第1章:初识数据库与MySQL----MySQL安装
《The Google File System》新说
jmeter跨平台运行csv等文件
c语言分层理解(c语言指针(上))
typescript56-泛型接口