用户在设备上访问链接只有一个目的:找到他们想要查看的内容。 作为开发者,您可以设置 Android 应用链接以在您的应用中将用户直接转到链接指向的特定内容,从而绕过应用选择对话框(也称为消除歧义对话框)。由于 Android 应用链接利用的是 HTTP 网址以及与网站的关联,因此未安装您的应用的用户会直接转到您的网站中对应的内容。
了解不同类型的链接
在实现 Android 应用链接之前,请务必了解您可以在 Android 应用中创建的不同类型的链接:深层链接、网页链接和 Android 应用链接。图 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 中打开此链接。
网站链接
网页链接是使用 HTTP 和 HTTPS 架构的深层链接。在 Android 12 及更高版本中,点击网页链接(非 Android App Link)始终会在网络浏览器中显示相应内容。在搭载旧版 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)及更高版本中的 Android App Links 是使用 HTTP 和 HTTPS 架构且包含 autoVerify
属性的网页链接。借助此属性,您的应用可以将自身指定为给定类型链接的默认处理程序。因此,当用户点击 Android 应用链接时,如果您的应用已安装,系统会立即打开该应用,并且不会显示消除歧义对话框。
如果用户不希望您的应用成为默认处理程序,则可以通过应用的设置替换此行为。
以下代码段展示了 Android App Link 过滤条件的示例:
<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" /> <!-- Do not include other schemes. --> <data android:scheme="http" /> <data android:scheme="https" /> <data android:host="myownpersonaldomain.com" /> </intent-filter>
Android 应用链接可以带来以下好处:
- 安全且具体:Android 应用链接使用链接到您自己的网站网域的 HTTP 网址,因此其他应用都无法使用您的链接。Android 应用链接的要求之一,就是您要通过我们的某个网站关联方法验证您对网域的所有权。
- 顺畅的用户体验:由于 Android 应用链接针对您的网站和应用中的相同内容使用单个 HTTP 网址,因此未安装应用的用户会直接转到您的网站(而不是应用),不会显示 404,也不会出现错误。
- Android 免安装应用支持:借助 Android 免安装应用,用户无需安装即可运行您的 Android 应用。如需向您的 Android 应用添加免安装应用支持,请设置 Android App Links 并访问 g.co/InstantApps。
- 通过 Google 搜索吸引用户:用户可以通过在移动浏览器、Google 搜索应用、Android 中的屏幕搜索中或通过 Google 助理点击来自 Google 的网址,直接打开应用中的特定内容。
添加 Android App Links
创建 Android 应用链接的一般步骤如下:
- 创建指向应用中特定内容的深层链接:在您的应用清单中,为网站 URI 创建 intent 过滤器,并将应用配置为使用来自相关 intent 的数据,以便将用户引导至应用中的正确内容。如需了解详情,请参阅创建指向应用内容的深层链接。
- 为深层链接添加验证要求:将应用配置为要求验证应用链接。然后,在您的网站上发布 Digital Asset Links JSON 文件,以通过 Google Search Console 验证所有权。 如需了解详情,请参阅验证应用链接。
除了上面链接的文档之外,Android Studio 中的 Android App Links Assistant 工具也可以引导您完成创建 Android 应用链接所需的各个步骤。
如需了解详情,请参阅以下资源:
管理和验证 Android App Links
您可以通过 Play 管理中心管理和验证深层链接。应用成功上传后,信息中心(位于“增长”>“深层链接”下)会显示深层链接和配置错误的概览。
信息中心提供以下部分:
- 整体深层链接配置要点
- 清单文件中声明的所有网域
- 按路径分组的网页链接
- 使用自定义架构的链接
如需详细了解信息中心,请参阅此指南。