Android 即点即用应用是您应用的一个小型版本,无需安装即可运行。用户无需安装 APK,只需点击 URL 即可启动您的应用。因此,所有即点即用应用都需要通过使用 Android 应用链接声明的 URL 访问。此页面说明如何将 Android 应用链接用于您的 Android 即点即用应用。
应用链接概述
首先,以下是您应该已经了解的关于应用链接的摘要。
- 当您为应用中的活动创建 Intent 过滤器时,允许用户使用 URL 链接直接跳转到应用中的特定屏幕,这称为“深层链接”。但是,其他应用也可以声明类似的 URL Intent 过滤器,因此系统可能会询问用户要打开哪个应用。要创建这些深层链接,请阅读 创建指向应用内容的深层链接。
- 当您在与应用的 HTTP 深层链接相对应的网站上发布
assetlinks.json
文件时,您会验证您的应用是这些 URL 的真正所有者。因此,您已将深层链接转换为 Android 应用链接,以确保当用户点击此类 URL 时,您的应用会立即打开。要创建应用链接,请阅读 验证 Android 应用链接。
因此,Android 应用链接只是您的网站经过验证拥有的 HTTP 深层链接,这样用户就不需要选择要打开哪个应用。有关更具体的说明,请参阅 深层链接和应用链接之间的区别。
但是,在这两种情况下,用户都必须已安装您的应用。如果用户点击您网站上的链接并且他们未安装您的应用(并且没有其他应用处理该 URL Intent),则该 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"
。(请参阅如何启用自动验证)。 - 您必须为每个域名(以及您的应用链接支持的子域名)发布一个
assetlinks.json
,并使用 HTTPS 协议。(请参阅如何支持多个主机上的应用链接)。 assetlinks.json
文件必须是有效的 JSON,无需重定向即可提供服务,并且必须可供机器人访问(您的robots.txt
必须允许抓取/.well-known/assetlinks.json
)。- 不建议在意图过滤器的 host 属性中使用通配符。(请参阅如何支持来自多个子域名的应用链接)。
- 自定义主机/方案 URL 应使用单独的意图过滤器声明。
- 确保您的应用链接 URL 考虑了针对您的关键词的顶级搜索结果。