一句话结论:自分发的应用能用一条网页链接装上,靠的是苹果提供的远程安装协议。整条链路只有四步:点击链接、系统读到清单、按清单去取包、取回来校验并安装。任何一环拿不到东西,就停在那里,表现出来就是”点了没反应”。
这条链路长什么样
把过程拆开看,其实非常朴素:
-
用户在浏览器或者扫码后打开一条特殊格式的链接。
-
系统识别这是安装指令,转去下载一个清单文件。
-
清单文件里写着应用的包名、版本、以及真正安装包的下载地址。
-
系统按地址把包拉下来,做校验,通过后开始安装。
这四步里,第 2 步和第 4 步是最容易断的地方。理解了这一点,后面排查就有方向了。
清单文件里写了什么
这个文件本身很小,内容是几项描述信息:应用的包名、版本、显示名称,加上两个下载地址——一个指向安装包本体,另一个可选地指向图标。
正因为它是纯描述、不携带真实内容,所以更新应用时常常只需要换包、更新版本号,清单本身不用重做。这也是很多分发方案能”换包不改链接”的原因。
为什么点了没反应
按发生频率排,通常是这四类:
-
清单取不到。提供清单的服务没开访问授权、地址失效、或者被网络环境拦了。表现是点了之后没有任何弹窗,或者页面直接报错。
-
包的下行地址不通。清单拿到了,但里面指向安装包的那个地址访问不了,表现是弹窗出现了、进度条动一下就失败。
-
企业网络环境拦截。公司 Wi-Fi(无线网络)或者某些办公网络的策略会拦掉这类安装请求,换个网络往往立刻正常。这是一个非常高发的场景。
-
设备不支持。比如应用的配置里写了最低支持的系统版本高于当前这台设备,系统会直接弹”无法安装”,连下载都不开始。
它和商店链接有什么区别
表面上都是”点一下装上”,但背后的信任来源完全不同。商店那条链路走的是官方商店的校验体系,用户不需要额外确认;自分发这条链路依赖的是系统里已经存在的信任记录,没有的话就需要用户在系统设置里再做一次信任操作。
这也是为什么自分发的应用第一次打开时,有些人会遇到信任提示,有些人完全没有——差别在于这台设备之前装过来源相同的应用没有。
它对运营有什么实际用处
既然安装链路上有一个可替换的清单文件,实际使用里就有几个可以用的点:
- 同一个入口永远不用改:只要清单地址不变,后台换多少次安装包,用户看到的还是那条链接。
- 可以按渠道给不同的链接:每个渠道一个入口,方便区分来源,也算推广效果。
- 做灰度很容易:给一部分用户指到新版地址,另一部分继续用旧版,观察之后再决定是否全量。
但要提醒一句:这条链路上的地址必须经过加密传输。配置不规范会被系统直接拒绝安装,这一点在对接时应提前确认。
小结
理解了这四步,排查就有抓手:先看有没有弹窗判断是清单问题还是包的问题,再看换网络能不能解决判断是不是网络策略拦的。多数”链接点了没反应”的问题,都在这两问里收敛。
我是本期作者小思,想解决苹果企业签名、超级签名、TF签名问题?可以在微信公众号对话框找到我哦~(QQ:822404920 微信:A-mk5888)