处理 Android 应用链接

深层链接会处理内容 URI。网页链接负责处理
         HTTP 和 HTTPS 协议。Android App Links 处理 autoVerify
         属性。
图 1. 深层链接、网页链接和 Android App Links。

用户在设备上访问链接只有一个目标:获取他们想要查看的内容。 作为开发者,您可以设置 Android 应用链接,以将用户引导至链接的特定内容 绕过应用选择对话框,也称为消除歧义 对话框。由于 Android App Links HTTP 网址以及与网站的关联,则未安装您应用的用户会直接进入 您网站上的内容。

在实现 Android App Links 之前,请务必先了解 您可以在 Android 应用中创建的不同类型的链接:深层链接、网站 链接和 Android App Links图 1 显示了这些类型之间的关系 链接,以下部分更详细地介绍了每种链接。

深层链接是指符合以下条件的任何架构的 URI: 将用户直接转到应用内的特定部分。若要创建深层链接,请将 intent 过滤器,用于将用户引导至右侧 activity,如以下代码段所示:

<activity
    android:name=".MyMapActivity"
    android:exported="true"
    ...>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="geo" />
    </intent-filter>
</activity>

当用户点击深层链接时,系统可能会显示一个消除歧义对话框。这个 对话框允许用户从多个应用(包括您的应用)中选择一个, 可以处理给定深层链接。图 2 显示了用户点击后显示的对话框 地图链接,询问是在 Google 地图还是 Chrome 中打开该链接。

图 2. 消除歧义对话框

网页链接是使用 HTTP 和 HTTPS 架构的深层链接。已开启 在 Android 12 及更高版本中,点击网页链接(不是 Android 应用链接)始终会在网络浏览器中显示内容。 在搭载旧版 Android 的设备上,您的应用或其他应用 也可以处理网络链接, 直接上传到浏览器他们会看到一个消除歧义对话框,类似于 如图 2 所示。

以下代码段是一个网页链接过滤器示例:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="http" />
    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Android App Links 在 Android 6.0(API 级别 23)及更高版本中提供,是 Web 版 使用 HTTP 和 HTTPS 架构且包含 autoVerify 的链接 属性。此属性允许您的应用将自己指定为默认属性 给定类型链接的处理程序。当用户点击 Android 应用链接时 您的应用在安装后会立即打开,消除歧义对话框不会 。

如果用户不希望您的应用成为默认处理程序,他们可以覆盖 这一行为。

以下代码段展示了 Android 应用链接过滤条件的示例:

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="http" />
    <data android:scheme="https" />

    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Android 应用链接可以带来以下好处:

  • 安全且具体:Android App Links 使用链接到网站的 HTTP 网址 网域,因此其他应用都无法使用您的链接。Android 应用的要求之一 链接是指您通过我们的网站关联方法之一验证您对网域的所有权。
  • 无缝用户体验:由于 Android App Links 使用单个 HTTP 网址 未安装应用的用户在您的网站和应用中呈现相同的内容 用户只需访问您的网站,而不是应用 - 没有 404 错误,没有错误。
  • Android 免安装应用支持:借助 Android 免安装应用,您的用户可运行您的 Android 应用,无需安装。如需向您的 Android 应用添加免安装应用支持,请设置 Android 应用链接,并访问 g.co/InstantApps
  • 通过 Google 搜索吸引用户:用户可以直接在以下位置打开特定内容: 在移动浏览器中、在 Google 搜索应用中、在 屏幕搜索功能,也可使用 Google 助理。

创建 Android App Links 的一般步骤如下: 如下:

  1. 创建指向应用中特定内容的深层链接:在应用清单中, 为网站 URI 创建 intent 过滤器,并将应用配置为使用 intent 中的数据 将用户引导至您应用中的适当内容。如需了解详情,请访问 创建指向应用内容的深层链接
  2. 为深层链接添加验证:将应用配置为请求 验证应用链接然后,在您的网站上发布 Digital Asset Links JSON 文件, 通过 Google Search Console。 如需了解详情,请参阅验证应用链接

除了上面链接的文档之外, Android App Links Assistant 是以下软件中的工具: Android Studio,指导您完成创建 Android App Links 所需的每个步骤。

如需了解详情,请参阅以下资源:

管理和验证 Android App Links

您可以通过 Play 管理中心管理和验证深层链接。 应用成功上传后,显示信息中心 (位于“拓展”>“深层链接”下)显示深层链接和 配置错误。

图 3. Play 管理中心信息中心的“深层链接”部分

信息中心提供以下部分:

  • 整体深层链接配置的亮点
  • 清单文件中声明的所有网域
  • 按路径分组的网页链接
  • 包含自定义架构的链接
。 其中每个部分都会显示深层链接的状态及修正方法 发生错误。

请参阅此指南,详细了解 信息中心。