Android 应用链接是 Android 6 及更高版本中的一项特殊深层链接功能,可让您经过验证的网站网址直接在您的 Android 应用中打开相应内容,而无需用户从消除歧义对话框中选择您的应用。为了实现此目的,Android 会使用托管在您网站上的 Digital Asset Links 语句,在您的网站和应用之间建立安全且经过验证的关联。验证关联后,Android 可以自动将指向您网站的深层链接直接路由到您的应用进行处理。
从 Android 15 开始,随着动态应用链接的推出,应用链接变得更加强大。借助新的动态功能,您可以随时优化应用的深层链接行为,更好地控制深层链接,而无需发布新的应用版本。
为什么应使用应用链接:
- 顺畅的用户体验 - 将用户从搜索结果、网站、即时通讯应用和其他应用直接引导至您应用中的特定内容。由于应用链接针对您的网站和应用中的相同内容使用单个网址,因此未安装应用的用户会转到您的网站,不会显示 404,也不会出现错误。
- 增强的安全性 - 应用链接要求验证网域所有权,防止其他应用拦截您的链接。
- 动态配置 (Android 15+) - 实时更新应用的深层链接行为,从而更灵活地更新个性化网址、季节性广告系列或用户专用链接等内容。
- 互动 - 您可以通过搜索结果、广告、网页、消息等中的链接与用户互动。
如何支持 App Links
- 创建指向应用中特定内容的深层链接:在您的应用清单中,为网站 URI 创建 intent 过滤器,并将应用配置为使用来自相关 intent 的数据,以便将用户引导至应用中的正确内容。点击此处了解详情。
- 为深层链接添加验证要求:将应用配置为要求验证应用链接。然后,在您的网站上发布 Digital Asset Links JSON 文件,以验证所有权。
或者,您也可以使用 Android Studio 中的 Android App Links Assistant,该工具会引导您完成创建和验证 Android 应用链接所需的各个步骤。如需了解详情,请参阅 App Links 开发者工具。
应用链接的可用性
- 动态应用链接 - Android 15(API 级别 35)或更高版本,适用于已安装 Google 服务的设备。
- 应用链接 - Android 6(API 级别 23)及更高版本,在安装了 Google 服务的设备上。
- 常规(用户管理的)深层链接 - 所有 Android 版本,所有设备。
App Links 的运作方式
应用链接是一种特殊的深层链接方式,可让您完全掌控指向自己网站的链接的处理方式。它基于其他深层链接类型使用的相同基于 intent 的系统构建,但它使用网站上的 Digital Asset Links 文件为链接添加了验证步骤。
应用链接使用应用数据和您在网站或网域上托管的特殊 assetlinks.json
文件,在您的应用和网站之间建立安全可信的关联。assetlinks.json
文件用于声明 Digital Asset Link 语句,以验证应用关联。
概念流程如下:
- 应用的清单在 intent 过滤器中声明了带有
android:autoVerify="true
的网址,并指向您的网站主机。 - 当应用安装完毕后,Android 系统会从 Web 服务器上的已知位置提取
assetlinks.json
文件。 - 系统会验证
assetlinks.json
文件是否有效,以及sha256_cert_fingerprints
是否与应用的签名证书匹配。 - 当用户点击匹配的链接时,系统会直接将用户路由到您的应用,而不会显示消除歧义对话框。
由于应用链接利用的是 HTTP 网址以及与网站的关联,因此未安装您的应用的用户会直接转到您的网站中对应的内容。这样一来,应用链接便可为点击指向您网络媒体资源的深层链接的用户提供可信赖且顺畅的体验。
动态应用链接
从 Android 15 开始,随着动态应用链接的推出,应用链接变得更加强大。借助动态应用链接,您可以选择在服务器端(即 assetlinks.json
文件中)更新深层链接规则,而无需发布新的应用版本。动态应用链接支持数字资产链接字段,可用于优化深层链接规则。安装了 Google 服务的 Android 设备会定期刷新您的文件,并动态应用新的深层链接规则。无需更新应用。
以前,此文件主要用于基本验证。现在,它已成为一款强大的配置工具,可让您指定路径、查询参数、网址片段和排除项,从而提供动态且可靠的深层链接解决方案:
- 支持排除项:您可以指定网址的某些路径或部分不应打开您的应用,即使它们原本会与您的应用链接配置匹配也是如此。
- 查询参数支持:借助新的“查询参数”功能,您可以定义特定参数,如果网址中存在这些参数,则会阻止应用打开。这为动态排除对象、A/B 测试以及逐步为特定细分用户群启用应用链接带来了令人兴奋的可能性。
- 动态更新:通过在服务器上托管的
assetlinks.json
文件中指定应用直接处理的网址路径,无需更新应用即可更新应用链接配置。
借助动态应用链接,您还可以精细控制要打开应用的网址,包括匹配网址路径、片段和查询参数。您还可以排除任何匹配项,以便不允许这些匹配项打开您的应用。如需了解详情,请参阅配置动态规则。
以下是动态应用链接的概念性流程:
- 应用的清单在 intent 过滤器中声明了带有
android:autoVerify="true
的网址,并指向您的网站主机。 - 当应用安装完毕后,Android 系统会从 Web 服务器上的已知位置提取
assetlinks.json
文件。 - 系统会验证该文件是否有效,以及
sha256_cert_fingerprints
是否与应用的签名证书一致。 - 系统会解析您在 Digital Asset Links 语句的
dynamic_app_deep_link_components
字段中定义的任何深层链接规则,并将这些规则与清单声明的规则合并。- 当用户点击匹配的链接时,系统会直接将用户引导至您的应用,而不会显示消除歧义对话框。
- 系统会定期重新提取
assetlinks.json
文件以获取最新规则,从而让您无需更新应用即可更新链接。搭载 Android 15(API 级别 35)或更高版本且已安装 Google 服务的设备支持定期重新提取。
应用场景示例
- 季节性营销广告系列:零售应用可以在
assetlinks.json
文件中添加针对“/promo/summer-sale”的规则,以将用户引导至特定的促销页面。促销结束后,您可以移除相应规则,而无需用户更新应用。 - 合作伙伴的简短网址:如果您与网红有合作关系,可以创建自定义网址(例如“/partner/网红名称”),并为其添加规则。然后,您可以根据合作伙伴关系的变化动态跟踪、更新或移除此网址。
- A/B 测试网址路径:开发者可以在特定网址路径下发布新功能,并在
assetlinks.json
文件中为其添加规则。这样一来,他们就可以先面向部分用户测试该功能,然后在无需全面部署应用的情况下修改路由。 - 短期活动:票务或活动应用可以为特定活动添加网址规则。活动结束后,您可以从服务器中删除这些规则。
与应用链接实现之间的兼容性
Android 15 中的动态应用链接扩展功能旨在与搭载较低版本 Android 的设备上现有的应用链接实现完全兼容。较低的应用版本无法使用动态配置或配置功能,它们会回退到清单中声明的任何规则。对于使用旧版 Android 的用户,您的应用链接仍可正确打开应用或顺利回退到网页。在大多数情况下,您可以安全地部署动态规则,而不会影响其余用户群的体验。
设置动态应用链接过滤规则时的注意事项
如果您要在 Android 15 及更高版本中设置 Intent 过滤器以搭配动态应用链接使用,请注意,在服务器端 assetlinks.json 文件中定义的路径级路由规则无法扩大您在清单文件 Intent 过滤器规则中静态设置的范围。
因此,我们建议您在清单 intent 过滤器中设置尽可能广泛的范围,然后依靠服务器端 assetlinks.json 规则进行进一步细化。有了这种理想的配置,您就可以动态添加新的应用链接,这些链接符合清单中设置的广泛范围。
规划应用链接实现
支持应用链接需要在应用中进行实现,还需要进行服务器端工作来设置 assetlinks.json
文件。此处列出了常规准备和实施任务,并提供了指向其他资源的链接以供您查看详细信息。
- 规划深层链接 - 首先评估您需要的深层链接、它们将使用的网址模式、您将如何以及何时更新它们,以及您希望每个网址在应用中解析为哪个 activity 或操作。
- 支持动态应用链接 - 为使用最新 Android 设备的用户提供尽可能出色的体验。针对 Android 15 或更高版本的用户,充分利用动态应用链接。
- 规划动态过滤规则 - 如果您使用的是动态应用链接,请规划服务器端规则如何与应用清单中静态定义的规则协同工作。请注意,assetlinks.json 文件中的过滤规则无法扩大应用清单过滤器的范围。您应规划清单过滤器,以声明尽可能广泛的范围,然后服务器端规则可以根据需要细化这些规则。如需了解详情,请参阅配置动态规则。
- 为链接创建并测试 intent 过滤器 - 在 intent 过滤器中声明深层链接,并测试网址模式匹配和传入的 intent 处理。为了支持动态应用链接,请注意,您可能需要将一些精细的路径移至服务器端 JSON 文件。
- 从传入的 App Link intent 读取数据 - 正确处理传入的深层链接 intent,将其解析为相应的 Activity。应用链接的实现与常规深层链接的实现相同,如从传入的 intent 读取数据中所述。
- 配置网站关联和动态规则 - 为支持应用链接,您需要配置一个托管在网站或网域上的服务器端文件。Android 设备会检索此文件,以验证您的应用链接实现是否与您的应用一致。如需了解详情,请点击此处。
- 测试应用链接验证 - 检查 Android 系统是否能够成功自动验证您的深层链接。使用调试和端到端测试来检查您的配置是否安全,以及是否在所有已验证的应用链接路径中正常运行。
- 了解可用于设置应用链接的工具,包括 Android Studio 和 Play 管理中心。点击此处可了解详情。