apple-app-site-association 和 assetlinks.json 生成器

填写应用的标识信息,即可获得两个经过校验的文件,可直接复制或下载。

iOS — Universal Links

十位字母和数字,来自你的 Apple Developer 账户。

每行一个。* 匹配任意内容;在行首加 NOT 可排除该路径。

Android — App Links

每行一个,来自 Play Console(应用完整性)或 keytool。

用校验器检查现有文件 →

工作原理

你需要从 Apple 获取什么

你的 Team ID:十位字母和数字,显示在 Apple Developer 账户的“会员资格详细信息”中。你的 bundle ID,例如 com.example.app,可在 Xcode 或 App Store Connect 中找到。文件中的应用 ID 就是两者用点连接起来。

路径决定哪些链接会打开应用。“/*”匹配该域名上的所有链接;“/promo/*”只匹配 /promo 下的链接。在行首加 NOT 可排除该路径——排除规则必须写在它所排除的规则之前,因为 iOS 使用第一个匹配项。

你需要从 Google 获取什么

你的包名(applicationId),以及为用户安装的版本签名的每个证书的 SHA-256 指纹。使用 Google Play App Signing 时,从 Play Console 的“应用完整性”中复制;使用自己的 keystore 时,keytool -list -v 会打印出来。

指纹是用冒号分隔的 32 组十六进制数字。生成器接受带或不带冒号、任意大小写的写法,并按 Android 要求的格式写入。

发布文件

把 apple-app-site-association(无扩展名)和 assetlinks.json 放在链接所用确切主机的 /.well-known/ 文件夹中,通过 HTTPS 提供,不能有重定向,并以 application/json 类型提供。

然后在应用中声明该域名:iOS 在 Associated Domains 中添加“applinks:”加上主机名,Android 为该主机添加带 android:autoVerify="true" 的 intent filter。用户安装包含这些声明的版本后,链接即可生效。

使用 SetLinks 链接可以省去托管:在链接上填写相同的标识信息,SetLinks 会替你发布这些文件——iPhone 的文件发布在 setlinks.io 或你的自有域名上,Android 的文件发布在你的自有域名上。

常见问题

apple-app-site-association 文件是什么?

一个 JSON 文件,告诉 iOS 哪些应用可以打开你域名上的哪些链接。没有它,Universal Links 会在 Safari 中打开。

assetlinks.json 是什么?

Google 的 Digital Asset Links 文件:它声明哪些 Android 应用(由包名和签名证书标识)可以作为已验证的 App Links 打开你域名上的链接。

AASA 文件需要 .json 扩展名吗?

不需要。它必须命名为 apple-app-site-association,不带扩展名,但仍要以 application/json 内容类型提供。

一个文件能列出多个应用吗?

能。为每个应用生成一个条目,然后把 details 数组(iOS)或声明数组(Android)合并到一个文件中。

我的标识信息会被发送到别处吗?

不会。文件在你的浏览器中生成。

更多免费工具

一个链接和二维码覆盖所有商店

SetLinks 把每位访问者送到对应的商店,并统计每次点击。免费开始。

创建智能链接