Android App Link 是 HTTP URL,可将用户直接带到 Android 应用中的特定内容。Android App Link 可以为您的应用带来更多流量,帮助您发现哪些应用内容使用最多,并让用户更轻松地在已安装的应用中查找和共享内容。
添加对 Android App Link 的支持
- 在清单中创建 intent 过滤器。
- 将代码添加到应用活动中以处理传入链接。
- 使用 Digital Asset Link 关联您的应用和网站。
Android Studio 中的 App Link 助手通过分步向导简化了此过程,如下所述。
有关应用链接工作原理及其优势的更多信息,请参阅处理 Android App Link。
添加 intent 过滤器
Android Studio 中的 App Link 助手可以帮助您在清单中创建intent 过滤器,并将网站中的现有 URL 映射到应用中的活动。App Link 助手还在每个相应的活动中添加模板代码以处理 intent。
要添加 intent 过滤器和 URL 处理,请按照以下步骤操作
- 选择工具 > App Link 助手。
- 点击打开 URL 映射编辑器,然后点击添加
,位于URL 映射列表底部,以添加新的 URL 映射。
添加新 URL 映射的详细信息
图 1. 添加有关您网站链接结构的基本详细信息,以将 URL 映射到应用中的活动。
- 在主机字段中输入您网站的 URL。
为您要映射的 URL 添加
path
、pathPrefix
或pathPattern
。例如,如果您有一个食谱分享应用,所有食谱都在同一个活动中可用,并且您相应网站的食谱都在同一个 /recipe 目录中,请使用 pathPrefix 并输入 /recipe。 这样,URL http://www.recipe-app.com/recipe/grilled-potato-salad 就会映射到您在下一步中选择的活动。
- 选择 URL 应将用户引导到的活动。
- 点击确定。
随即显示“URL 映射编辑器”窗口。App Link 助手会根据您的 URL 映射向
AndroidManifest.xml
文件添加 intent 过滤器,并在预览字段中突出显示更改。如果您想进行任何更改,请点击打开 AndroidManifest.xml 以编辑 intent 过滤器。要了解更多信息,请参阅传入链接的 intent 过滤器。主 App Link 助手工具窗口还会显示
AndroidManifest.xml
文件中所有现有的深层链接,并允许您通过点击修复所有清单问题快速修复任何配置错误。注意:为了在不更新应用的情况下支持未来的链接,请定义一个支持您计划添加的 URL 的 URL 映射。此外,请为您的应用主屏幕添加一个 URL,以便将其包含在搜索结果中。
要验证您的 URL 映射是否正常工作,请在检查 URL 映射字段中输入一个 URL。
如果工作正常,成功消息会显示您输入的 URL 映射到您选择的活动。
处理传入链接
确认 URL 映射正常工作后,添加逻辑来处理您创建的 intent
- 从 App Link 助手中点击选择活动。
- 从列表中选择一个活动,然后点击插入代码。
App Link 助手会将类似于以下代码添加到您的活动中
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ... // ATTENTION: This was auto-generated to handle app links. val appLinkIntent: Intent = intent val appLinkAction: String? = appLinkIntent.action val appLinkData: Uri? = appLinkIntent.data ... }
Java
@Override void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... // ATTENTION: This was auto-generated to handle app links. Intent appLinkIntent = getIntent(); String appLinkAction = appLinkIntent.getAction(); Uri appLinkData = appLinkIntent.getData(); ... }
此代码本身并不完整。您现在必须根据 appLinkData
中的 URI 执行操作,例如显示相应内容。例如,对于食谱分享应用,您的代码可能类似于以下示例
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ... handleIntent(intent) } override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) handleIntent(intent) } private fun handleIntent(intent: Intent) { val appLinkAction = intent.action val appLinkData: Uri? = intent.data if (Intent.ACTION_VIEW == appLinkAction) { appLinkData?.lastPathSegment?.also { recipeId -> Uri.parse("content://com.recipe_app/recipe/") .buildUpon() .appendPath(recipeId) .build().also { appData -> showRecipe(appData) } } } }
Java
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... handleIntent(getIntent()); } protected void onNewIntent(Intent intent) { super.onNewIntent(intent); handleIntent(intent); } private void handleIntent(Intent intent) { String appLinkAction = intent.getAction(); Uri appLinkData = intent.getData(); if (Intent.ACTION_VIEW.equals(appLinkAction) && appLinkData != null){ String recipeId = appLinkData.getLastPathSegment(); Uri appData = Uri.parse("content://com.recipe_app/recipe/").buildUpon() .appendPath(recipeId).build(); showRecipe(appData); } }
关联您的应用和网站
为您的应用设置 URL 支持后,App Link 助手会生成一个 Digital Assets Link 文件,您可以使用该文件将您的网站与应用关联。
作为使用 Digital Asset Link 文件的替代方案,您可以在 Search Console 中关联您的网站和应用。
如果您为应用使用 Play 应用签名,则 App Link 助手生成的证书指纹通常与用户设备上的指纹不匹配。在这种情况下,您可以在您的 Play 管理中心开发者帐号中,通过 Release > Setup > App signing 找到应用正确的 Digital Asset Link JSON 代码段。
要使用 App Link 助手关联您的应用和网站,请从 App Link 助手中点击打开 Digital Asset Link 文件生成器,并按照以下步骤操作

图 2. 输入您的网站和应用的详细信息以生成 Digital Asset Link 文件。
- 输入您的网站域名和应用 ID。
要在您的 Digital Asset Link 文件中包含对一键登录的支持,请选择支持在应用和网站之间共享凭据并输入您网站的登录 URL。这将向您的 Digital Asset Link 文件添加以下字符串,声明您的应用和网站共享登录凭据:
delegate_permission/common.get_login_creds
。-
确保为应用的发布版本选择正确的发布配置或密钥库文件,或者为调试版本选择调试配置或密钥库文件。如果要设置生产版本,请使用发布配置。如果要测试版本,请使用调试配置。
- 点击生成 Digital Asset Link 文件。
- Android Studio 生成文件后,点击保存文件以下载。
- 将
assetlinks.json
文件上传到您的网站,并授予所有人读取权限,路径为https://yoursite/.well-known/assetlinks.json
。重要提示:系统通过加密的 HTTPS 协议验证 Digital Asset Link 文件。无论您应用的 intent 过滤器是否包含
https
,请确保assetlinks.json
文件可以通过 HTTPS 连接访问。 - 点击链接并验证以确认您已将正确的 Digital Asset Link 文件上传到正确的位置。
App Link 助手可以验证应发布在您网站上的 Digital Asset Link 文件。对于清单文件中声明的每个域,助手都会解析您网站上的文件,执行验证检查,并提供有关如何修复任何错误的详细说明。
在声明网站关联中了解更多关于通过 Digital Asset Link 文件将您的网站与应用关联的信息。
测试您的 Android App Link
要验证您的链接是否打开正确的活动,请按照以下步骤操作
- 在 App Link 助手中,点击测试 App Link。
- 在 URL 字段中输入您要测试的 URL;例如,http://recipe-app.com/recipe/grilled-potato-salad。
- 点击运行测试。

图 3. 测试 App Link 对话框,显示正在测试的 URL 和成功消息。
如果 URL 映射未正确设置或不存在,则在测试 App Link 对话框中的 URL 下方会显示一条错误消息。否则,Android Studio 会在设备或模拟器上启动您的应用到指定的活动,而不会显示消除歧义对话框(“应用选择器”),并在App Link 测试对话框中显示成功消息,如图 3 所示。
如果 Android Studio 无法启动应用,则会在 Android Studio 的运行窗口中显示一条错误消息。
要通过 App Link 助手测试 Android App Link,您必须连接设备或拥有运行 Android 6.0(API 级别 23)或更高版本的虚拟设备。有关更多信息,请阅读如何连接设备或创建 AVD。