深度链接
什么是通用链接(Universal Links)?
一句话解释
通用链接(Universal Links)是 Apple 从 iOS 9 起支持的 https 链接:在 iPhone 和 iPad 上,装了 App 就直接打开 App,没装就打开网站。配置要两边配合:App 开启 Associated Domains,域名下放好 apple-app-site-association 文件。
工作原理
App 安装或更新时,iOS 读取 Associated Domains 里的域名,再通过 Apple 自己的 CDN 拿到该域名下的 apple-app-site-association 文件,核对 App ID 和路径规则。因为中间隔着 Apple 的 CDN 缓存,你改了文件,设备上未必马上生效。
链接本身就是普通的 https 地址,可以放进邮件、广告和二维码:装了 App 的人进入对应页面,没装的人看到网站上的同一页内容。
为什么有时打开的是网站
在 Safari 地址栏里输入或粘贴网址,打开的是网站;在某个域名的网页里点击指向同一域名的链接,打开的也是网站。很多应用内浏览器也不会触发通用链接,用户会一直停留在宿主 App 里。
想知道 Apple 那边看到的是什么,可以用 Appy 的免费通用链接验证器,它会同时检查你服务器上的文件和 Apple CDN 上缓存的那一份。
applinks:example.com相关术语
- apple-app-site-association(AASA)文件
apple-app-site-association(AASA)是放在域名 /.well-known/ 目录下的 JSON 文件,用来证明这个域名和你的 App 是关联的。文件里列出 App ID(Team ID 加 bundle ID)和要在 App 里打开的路径。没有它,通用链接不会生效,只会打开网站。
- Android 应用链接(App Links)
Android App Links(Android 应用链接)是经过域名验证的 https 链接,在 Android 6.0 及以上点击后直接打开 App,不弹“选择打开方式”。条件是 intent 过滤器设置 android:autoVerify="true",网站上放好写有包名和签名证书 SHA-256 指纹的 assetlinks.json。
- 应用内浏览器(In-app browser)
应用内浏览器(In-app browser)是 Instagram、TikTok、Facebook、LinkedIn 等 App 里自带的浏览器。链接直接在里面打开,用户始终停留在宿主 App 中。因此通用链接和 App Links 经常不生效:即使用户装了你的 App,打开的也还是网站。
一条链接,搞定 App Store、Google Play 和网站
Appy 免费版提供 4 条链接和对应的二维码:按设备自动跳转 App Store、Google Play、华为应用市场、三星 Galaxy Store 或小米 GetApps,电脑端打开网站。没有广告,不用绑卡。