深度链接
什么是 apple-app-site-association 文件?
一句话解释
apple-app-site-association(AASA)是放在域名 /.well-known/ 目录下的 JSON 文件,用来证明这个域名和你的 App 是关联的。文件里列出 App ID(Team ID 加 bundle ID)和要在 App 里打开的路径。没有它,通用链接不会生效,只会打开网站。
文件内容和托管要求
核心是 applinks 部分:TEAMID.com.example.app 格式的 App ID,加上描述哪些地址要打开 App 的 paths 或 components 规则。一个文件可以覆盖多个 App,也可以写排除规则,比如除了 /blog 以外全部在 App 里打开。文件必须通过 HTTPS 访问,不能有重定向,文件名不带 .json 后缀。
Apple 什么时候读取
手机不会直接到你的服务器取文件,而是在 App 安装或更新时由 Apple 的 CDN 去抓取,再把缓存的副本交给设备。所以改过的文件要过一段时间才会到达用户手里,旧版本里的错误也会在缓存里多留一阵。
常见错误
从 example.com 重定向到 www.example.com、文件被登录或防爬策略挡住、JSON 写错、Team ID 填错。任何一个都会让通用链接悄悄失效:链接照样能打开,只不过打开的是网站。网站换服务器或 CDN 之后,记得重新检查一遍这个文件。
https://example.com/.well-known/apple-app-site-association相关术语
- 通用链接(Universal Links)
通用链接(Universal Links)是 Apple 从 iOS 9 起支持的 https 链接:在 iPhone 和 iPad 上,装了 App 就直接打开 App,没装就打开网站。配置要两边配合:App 开启 Associated Domains,域名下放好 apple-app-site-association 文件。
- assetlinks.json 文件
assetlinks.json 是放在域名 /.well-known/ 目录下的 Digital Asset Links 文件,告诉 Android 哪个 App 有权打开这个域名的链接。里面写明 handle_all_urls 关系、包名和签名证书的 SHA-256 指纹。没有它,App Links 通不过验证,链接只会在浏览器里打开。
一条链接,搞定 App Store、Google Play 和网站
Appy 免费版提供 4 条链接和对应的二维码:按设备自动跳转 App Store、Google Play、华为应用市场、三星 Galaxy Store 或小米 GetApps,电脑端打开网站。没有广告,不用绑卡。