这篇文章讲的方法还适用吗?
https://www.cnblogs.com/lanxingren/p/10656647.html
文章大概意思:
apk 格式是 zip 类型,给 zip 添加 comment , 然后在 app 运行时候从 apk 的 comment 里获取自定义数据。
1
0o0O0o0O0o 2022-03-27 11:41:39 +08:00 via iPhone 1
多渠道打包
|
2
lscho 2022-03-27 11:48:00 +08:00
推广链接的推广关系绑定一般都是打开推广链接的时候,复制推广码到剪切板,下载完打开 APP 注册的时候读取剪切板。
|
3
0o0O0o0O0o 2022-03-27 11:55:19 +08:00 via iPhone
@0o0O0o0O0o sorry ,没仔细看,是推广链接啊
|
4
Chism 2022-03-27 12:08:45 +08:00 via Android
签名文件放服务器,更改里面的一个配置文件信息,临时用命令行打包 apk 下载
|
6
liaohongxing 2022-03-27 12:12:58 +08:00
@laravel 只需要生成 1 次就行 。有缓存 ,就算是老版本都行 。一旦安装,配置文件写入机器。用户打开再更新一下就行。重要的是要安装进用户机器。
|
7
seakingii 2022-03-27 12:17:25 +08:00
这种方案不是很清楚。难道可以直接修改 APK ? APK 没有一个 HASH 校验自己的机制?文章里好像有说,签名机制选择 V1 就可以。
不过我想可能这样更稳妥,就是认为业务员数量是有限的,可以在更新新版本的 APK 和新增业务员是在后台生成好,每个业务员对应一个 APK ,扫码下载之前就准备好业务员专用的 APK 。这种做法能保证用任何签名方式,在线下客户扫码时也不用等待服务器临时生成 APK 。。。 |
8
IGJacklove 2022-03-27 12:36:12 +08:00 via iPhone
多渠道打包啊,你有多少个推广平台就有多少个包,你去极光啥的看看就知道了。
|
9
nicevar 2022-03-27 12:42:10 +08:00
@seakingii 校验机制肯定有,一般各种平台的安装包不会傻傻校验整个包,可能还会预留一些字节也可填充任何信息,很多移动平台的安装包都是这样的。
|
10
kwanzaa 2022-03-27 13:04:09 +08:00
先生成签名字符并记录,然后预先打包,再塞给渠道人员。
|
11
zpxshl 2022-03-27 13:08:12 +08:00 via Android
多渠道打包可以,但前提是打包前就知道渠道。
有些渠道需要动态生成的,没记错的话 apk 有个位置可以写入信息,不影响校验。 |
12
seakingii 2022-03-27 13:08:36 +08:00
@IGJacklove 楼主的需求不是”多渠道“,而是一个业务员对应一个安装包。这样他好统计业务员的业绩。(而不用额外输入业务员的代码什么的,APP 直接记录了业务员的代码)
|
13
xuecan 2022-03-27 15:08:28 +08:00
据我所知 现在还是这种方法
|
14
nuk 2022-03-27 15:44:23 +08:00
这个 comment 只对 v1 签名有效,apk v2 签名块可以增加未知 ID ,在未知 ID 的值里就增加自定义数据,不过只是文档这么说,我不知道行不行。
https://source.android.google.cn/security/apksigning/v2?hl=zh-cn#apk-signing-block |
15
janus77 2022-03-27 17:07:14 +08:00
这种还好吧……用起来就跟多渠道打包一样,还是往 apk 里面写入每个业务员自带的 id 。
但是原理有些不一样,首先多渠道的话渠道数最多也就几十个,一次性全部打一遍就行了。而业务员显然更多,而且会有随时增加减少的情况,所以不能预先打好包。但是根据文章,可以在客户扫码的时候,每个码有自己的 id ,然后就是快速把 id 的那一部分写入 apk 生成新包,这个过程必须很快,不能重编译、重签名,因为用户扫码的时候是要立刻打开下载链接的。 |
16
laravel OP 每个用户都可以分享挣提成
|
18
Chism 2022-03-27 17:59:26 +08:00
@laravel
你可以把 affId 对应的 apk 文件暂存起来,版本号没变的话不用重新打包。这样只有第一次请求下载打包,后续就是读 apk 了。打包的话,我亲测基本 2 秒左右 |
19
icyalala 2022-03-27 18:49:18 +08:00
安卓发版都是自动化一次打几十个渠道包,
iOS 的话。。有的是用剪贴板,有的是一些广告 SDK |
20
rv54ntjwfm3ug8 2022-03-27 19:09:32 +08:00
没有人提到浏览器指纹吗,用户的屏幕分辨率 Canvas 指纹 SSL 指纹 甚至 CPU/GPU 运算速度都能作为浏览器指纹,多项结合一下再参考 IP 地址就能获得一个非常精确的用户指纹了,App 首次启动的时候如果有匹配度>一堆阈值的人的话找一个匹配度最高的就行
|
21
rv54ntjwfm3ug8 2022-03-27 19:12:45 +08:00
@theklf4 之前测试过某专门干这事的平台,挂代理使下载 IP 和应用启动时 IP 不一样它还能确定分享人,把 UA 里的系统版本改成和实际值不一样就不行了,说明肯定用了浏览器特征
|
22
lower 2022-03-27 19:20:58 +08:00
用 IP 地址也能记录到吧:
下载的时候记录某个下载 IP 请求的推广链接,注册的时候也记录注册 ip ,俩 ip 一比对能查到用户的来源( NAT 网络下估计不精准😂) |
24
magicdawn 2022-03-27 21:05:09 +08:00
几年前写过这样的服务端代码, 是往 META-INF/channel_info 文件里写如渠道
生成 apk, 推到 cdn, 生成链接. META-INF 这个文件夹比较特殊, 好像可以随意写 |
25
gluttony 2022-03-27 21:31:44 +08:00
* 如果是海外市场推广最简单,Google Play 有专门的库提供追踪服务 https://developer.android.com/google/play/installreferrer/library
* 国内市场有钱没时间,用现成的 openinstall 等公司服务。没钱就按上面诸位的建议自己动手。另外如果你的 app 是以注册来定义转化 /考核推广业绩的话,不妨实现个能注册用户的网页,URL 里带上 aff code ,注册完毕后引导用户去下载。 |
26
Mrshe 2022-03-27 23:38:57 +08:00
多渠道打包方案,动态修改渠道,用美团或者别的开源方案,速度很快当初推广的时候都是 1000 多个包
|
27
keyword233 2022-03-28 02:37:40 +08:00
动态打包,对每个请求都即时添加数据并生成安装包
知乎安装 app 以后可以接着阅读刚才在浏览器里的内容,就是这样实现的 |
28
XXWHCA 2022-03-28 11:05:02 +08:00 1
渠道推广统计有多种方案:
* 多渠道打包 1. gradle 打包,针对渠道包不多的情况,因为每个渠道包都需要打一次 2. 美团 walle 多渠道打包,通过一个 apk 生成多个渠道,多渠道推荐方案 * 第三方工具( share install 、U-Link 、deeplink 等都有成熟的方案) 我们现在用的是两个相结合的方案,应用商店用的是 walle 打包,通过渠道信息就可以统计各商店的日活和新增数据。 然后分享推广使用的是分享渠道+u-link 结合的方案,可以稳定回溯用户的整个分享拉新流程。 |
29
laravel OP @keyword233 重新打包?但是打包速度快吗?还是直接修改 apk ,怎么修改?
|