Android 即时应用是您应用的小型版本,无需安装即可运行。用户无需安装 APK,只需点击 URL 即可启动您的应用。因此,所有即时应用都需要通过使用 Android 应用链接声明的 URL 访问。此页面说明如何将 Android 应用链接用于您的Android 即时应用。
应用链接概述
首先,以下是您应该已经了解的关于应用链接的摘要。
- 当您为应用中的活动创建意图过滤器时,允许用户使用 URL 链接直接跳转到应用中的特定屏幕,这被称为“深度链接”。但是,其他应用也可以声明类似的 URL 意图过滤器,因此系统可能会询问用户要打开哪个应用。要创建这些深度链接,请阅读创建指向应用内容的深度链接。
- 当您在与应用的 HTTP 深度链接对应的网站上发布
assetlinks.json
文件时,您将验证您的应用是这些 URL 的真正所有者。因此,您已将深度链接转换为 Android 应用链接,这可确保当用户点击此类 URL 时,您的应用会立即打开。要创建应用链接,请阅读验证 Android 应用链接。
因此,Android 应用链接只是您的网站已验证为其所有者的 HTTP 深度链接,因此用户无需选择要打开哪个应用。有关更具体的说明,请参阅深度链接和应用链接之间的区别。
但是,在这两种情况下,用户都必须已安装您的应用。如果用户点击您网站的链接,但他们没有安装您的应用(并且没有其他应用处理该 URL 意图),则该 URL 将在网页浏览器中打开。因此,创建即时应用可以解决这个问题——它允许用户只需点击 URL 即可打开您的应用,即使他们没有安装您的应用。
当最终用户在 Google 搜索中搜索您的应用时,Google 搜索会显示带有“即时”徽章的 URL。
即时应用的应用链接有何不同
如果您已按照指南操作,以创建指向应用内容的深度链接和验证 Android 应用链接,那么您已经完成了使应用链接与您的即时应用一起使用所需的大部分工作。在将应用链接用于即时应用时,只有几个额外的规则。
即时应用中用作应用链接的所有意图过滤器都必须同时支持 HTTP 和 HTTPS。例如:
<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" android:host="www.example.com" /> <data android:scheme="https" /> </intent-filter>
请注意,您无需在第二个
<data>
元素中包含host
,因为在每个<intent-filter>
元素中,每个<data>
属性的每种组合都被认为是有效的(因此此意图过滤器确实解析https://www.example.com
)。每个网站域名只能声明一个即时应用。(这与为可安装应用创建应用链接时不同,后者允许您将网站与多个应用关联。)
创建应用链接时的其他提示
- 即时应用中的所有 HTTP URL 意图过滤器都应包含在可安装应用中。这很重要,因为一旦用户安装了完整的应用,点击 URL 应该始终打开已安装的应用,而不是即时应用。
- 您必须在即时应用和可安装应用中的至少一个意图过滤器中设置
autoVerify="true"
。(请参阅如何启用自动验证。) - 对于您的应用链接支持的每个域名(以及子域名),您都必须使用 HTTPS 协议发布一个
assetlinks.json
文件。(请参阅如何支持多个主机的应用链接)。 assetlinks.json
文件必须是有效的 JSON,无需重定向即可访问,并且机器人可以访问(您的robots.txt
必须允许抓取/.well-known/assetlinks.json
)。- 不建议在您的意图过滤器的主机属性中使用通配符。(请参阅如何支持多个子域名的应用链接)。
- 自定义主机/方案 URL 应使用单独的意图过滤器声明。
- 确保您的应用链接 URL 考虑到了您关键术语的顶级搜索结果。