应用链接简介

Android 应用链接是 Android 6 及更高版本中的一项特殊深层链接功能,可让经过验证的网站网址直接在 Android 应用中打开相应内容,而无需用户从消歧对话框中选择应用。为了实现此功能,Android 会使用 Digital Asset Links 托管在网站上的语句,在网站和应用之间建立安全 且经过验证的关联。验证 关联后,Android 可以自动将网站的深层链接直接路由到应用 进行处理。

从 Android 15 开始,应用链接引入了 动态应用链接,功能更加强大。借助新的动态功能,您可以即时优化应用的深层链接行为,更好地掌控,而无需发布新版本的应用。

为什么应使用应用链接:

  • 无缝用户体验 - 直接将用户从搜索结果、网站、消息应用和其他应用引导至应用中的特定内容。由于应用链接对网站和应用中的相同内容使用单个网址,因此未安装应用的用户会转到网站,而不会出现 404 错误。
  • 增强的安全性 - 应用链接需要验证域名所有权,以防止其他应用拦截链接。
  • 动态配置 (Android 15+) - 即时更新应用的深层链接行为,从而为个性化网址、季节性广告系列或用户专用链接等内容提供更大的灵活性和更快的更新速度。
  • 互动 - 您可以通过搜索结果、广告、网页、消息应用等中的链接与用户互动。

如何支持应用链接

  1. 创建指向应用中特定内容的深层链接:在应用清单中, 为网站 URI 创建 intent 过滤器,并将应用配置为使用来自相关 intent 的数据 ,以便将用户引导至应用中的正确内容。
  2. 为深层链接添加验证要求:将应用配置为要求 验证应用链接。然后,在您的网站上发布 Digital Asset Links JSON 文件,以验证所有权。

或者,您可以使用 Android App Links Assistant(位于 Android Studio 中)来引导您完成创建和验证 Android 应用链接所需的各个步骤。如需了解详情,请参阅应用链接开发者工具

  • 动态应用链接 - Android 15(API 级别 35)或更高版本,适用于安装了 Google 服务的设备。
  • 应用链接 - Android 6(API 级别 23)及更高版本,适用于安装了 Google 服务的设备。
  • 普通(用户管理的)深层链接 - 所有 Android 版本,适用于所有设备。

应用链接的运作方式

应用链接是一种特殊的深层链接方式,可让您完全控制对您自己网站链接的处理。它基于其他深层链接类型使用的相同 intent 系统,但它在网站上使用 Digital Asset Links 文件为链接添加了验证步骤。

应用链接使用应用数据和您在网站或网域上托管的特殊 assetlinks.json 文件,在应用和网站之间建立安全、可信的关联。assetlinks.json 文件声明 Digital Asset Link 语句以验证应用关联。

概念流程如下:

  1. 应用的清单 在 intent 过滤器中声明网址,并使用 android:autoVerify="true" 指向网站主机。
  2. 安装应用后,Android 系统会从 Web 服务器上的已知位置提取 assetlinks.json文件。
  3. 系统会验证 assetlinks.json 文件是否有效,以及 sha256_cert_fingerprints 是否与应用的签名证书匹配。
  4. 当用户点击匹配的链接时,系统会直接将用户路由到应用 ,而不会显示消歧对话框。

由于应用链接使用 HTTP 网址并与网站关联,因此未安装应用的用户会直接转到网站上的内容。这样,当用户点按指向网站资源的深层链接时,应用链接可以提供可信且无缝的体验。

从 Android 15 开始,应用链接引入了动态应用链接,功能更加强大。借助动态应用链接,您可以选择在服务器端的 assetlinks.json 文件中更新深层链接规则,而无需发布新版本的应用。动态应用链接支持 Digital Asset Links 字段,以优化深层链接规则。安装了 Google 服务的 Android 设备会定期刷新文件,并动态应用新的深层链接规则。无需更新应用。

以前,此文件主要用于基本验证。现在,它是一个功能强大的配置工具,可让您指定路径、查询参数、网址片段和排除项,从而提供动态且强大的深层链接解决方案:

  • 排除项支持:您可以指定不应打开应用的网址的某些路径或部分 ,即使它们原本与应用 链接配置匹配也是如此。
  • 查询参数支持:借助新的查询参数功能,您可以定义特定参数,如果网址中存在这些参数,则会阻止应用打开。这为动态排除项、A/B 测试以及针对特定用户群逐步启用应用链接带来了令人兴奋的可能性。
  • 动态更新:通过在服务器上托管的 assetlinks.json 文件中指定应用直接处理的网址路径,更新应用链接配置,而无需 更新应用。

动态应用链接还可让您精细控制要打开应用的网址,包括匹配网址路径、网址片段和查询参数。您还可以排除任何匹配项,使其无法 打开应用。如需了解详情,请参阅配置动态规则

动态应用链接的概念流程如下:

  1. 应用的清单 在 intent 过滤器中声明网址,并使用 android:autoVerify="true" 指向网站主机。
  2. 安装应用后,Android 系统会从 Web 服务器上的已知位置提取 assetlinks.json文件。
  3. 系统会验证 文件是否有效,以及 sha256_cert_fingerprints 是否与应用的签名证书匹配。
  4. 系统会解析 您在 Digital Asset Links 语句的 dynamic_app_deep_link_components 字段中定义的任何深层链接规则,并将这些规则与清单中声明的规则合并。
    1. 当用户点击匹配的链接时,系统会直接将用户引导至应用 ,而不会显示消歧对话框。
  5. 系统会定期重新提取 assetlinks.json 文件以获取最新规则,让您无需应用更新即可更新链接。搭载 Android 15(API 级别 35)或更高版本且安装了 Google 服务的设备支持定期重新提取。

应用场景示例

  • 季节性营销活动:零售应用可以为“/promo/summer-sale”向 assetlinks.json 文件添加规则,以将用户引导至特定的促销屏幕。促销结束后,可以移除该规则,而无需用户更新应用。
  • 合作伙伴的个性化网址:如果您与网红合作,可以创建自定义网址(例如“/partner/网红名称”),并为其添加规则。然后,您可以根据合作关系的变化动态跟踪、更新或移除此网址。
  • A/B 测试网址路径:开发者可以在特定网址路径下发布新功能,并在 assetlinks.json 文件中为其添加规则。这样,他们就可以针对部分用户测试该功能,然后修改路由,而无需全面部署应用。
  • 短期活动:票务或活动应用可以为特定活动添加网址规则。活动结束后,您可以从服务器中删除这些规则。

与应用链接实现之间的兼容性

Android 15 中的动态应用链接扩展程序旨在与搭载旧版 Android 的设备上现有的应用链接实现完全兼容。较低的应用版本无法使用动态配置或配置功能,它们将回退到清单中声明的任何规则。对于使用旧版 Android 的用户,应用链接仍然可以正确打开应用,或者优雅地回退到网页。在大多数情况下,您可以安全地部署动态规则,而不会影响其余用户群的体验。如需详细了解如何配置 intent 过滤器以实现向后兼容性,请参阅 Android 14 及更低版本的动态应用链接向后 兼容性

设置动态应用链接过滤规则的注意事项

如果您要设置 intent 过滤器以在 Android 15 及更高版本中使用动态应用链接,请注意,在服务器端 assetlinks.json 文件中定义的路径级路由规则无法扩大 您在清单文件 intent 过滤器规则中静态设置的范围。

因此,我们建议您在清单 intent 过滤器中设置尽可能广泛的范围,然后依赖服务器端 assetlinks.json 规则进行进一步优化。通过这种理想的配置,您就可以动态添加符合清单中设置的广泛范围的新应用链接。

规划应用链接实现

支持应用链接需要在应用中实现,还需要服务器端工作来设置 assetlinks.json 文件。此处列出了常规准备和实现任务,并提供了指向其他资源的链接以了解详情。

  • 规划深层链接 - 首先评估您需要的深层链接、它们将使用的网址模式、您将如何以及何时更新它们,以及您希望每个网址在应用中解析为哪个 activity 或操作。
  • 支持动态应用链接 - 为使用最新 Android 设备的用户提供尽可能最佳的体验。针对使用 Android 15 或更高版本的用户充分利用动态应用链接。
  • 规划动态过滤规则 - 如果您使用的是动态应用链接,请规划服务器端规则如何与应用清单中静态定义的规则协同工作。请注意,assetlinks.json 文件中的过滤规则无法扩大应用清单过滤器的范围。您应规划清单过滤器以声明尽可能广泛的范围,然后服务器端规则可以根据需要优化这些规则。如需了解详情,请参阅 配置动态规则
  • 为链接创建和测试 intent 过滤器 - 在 intent 过滤器中声明深层链接,并测试网址格式匹配和传入 intent 处理。如需支持动态应用链接,请注意,您可能需要将一些精细的路径移到服务器端 JSON 文件中。
  • 读取传入的应用链接 intent 中的数据 - 正确处理传入的深层链接 intent,将其解析为相应的 Activity。应用链接的实现与普通深层链接的实现相同,如 读取传入 intent 中的数据中所述。
  • 配置网站关联和动态规则 - 如需支持应用链接,您需要配置托管在网站或网域上的服务器端文件。 Android 设备将检索此文件,以验证应用的应用链接实现。点击此处了解详情。
  • 测试应用链接验证 - 检查 Android 系统是否能够成功自动验证深层链接。使用调试和端到端测试来检查您的配置是否安全,以及在所有经过验证的应用链接路径中是否正常运行。
  • 了解可用于设置应用链接的工具,包括 Android Studio 和 Play 管理中心。点击此处了解详情。