为即时应用创建应用链接(App Link四)
Android
即时应用程序是您的应用程序的小版本,无需安装即可运行。 用户只需点击网址即可启动您的应用,而无需安装APK
。 因此,所有即时应用程序都需要通过使用Android App Links
声明的URL进行访问。 本页介绍了如何为Android Instant Apps
使用Android App Links
。
注意:如果您没有构建即时应用程序,那么您不需要阅读本指南 - 您应该通过阅读创建应用程序内容的深层链接来为您的可安装应用程序创建应用程序链接。
一、应用链接概述
首先,这里是您应该已经了解的应用程序链接的摘要。
- 当您为应用中的活动创建一个意图过滤器,允许用户使用
URL
链接直接跳转到应用中的特定屏幕时,这称为“深层链接”。 但是,其他应用程序可以声明类似的URL
意图过滤器,因此系统可能会询问用户打开哪个应用程序。 要创建这些深层链接,请阅读创建应用内容的深层链接。 - 当您在与应用程序的
HTTP
深层链接对应的网站上发布assetlinks.json
文件时,您将验证您的应用是否是这些URL
的真正所有者。 因此,您已将深层链接转换为Android
应用链接,这可确保您的应用在用户点击此类网址时立即打开。 要创建应用链接,请阅读验证Android
应用链接。
因此,Android App Links
只是您的网站经过验证的HTTP
深层链接,因此用户无需选择要打开的应用程序。 有关更具体的说明,请参阅深层链接和应用链接之间的差异。
但是,在这两种情况下,用户必须已安装您的应用程序。 如果用户单击您的某个网站链接并且他们没有安装您的应用程序(并且没有其他应用程序处理该URL意图),则会在Web
浏览器中打开该URL
。 因此,创建即时应用程序可以解决此问题 - 它允许用户通过简单地单击URL
来打开您的应用程序,即使他们没有安装您的应用程序。
当最终用户对您的应用执行Google
搜索时,Google
搜索会显示带有“即时”徽章的网址。
二、即时应用的应用链接如何不同
如果您已经按照指南创建应用程序内容的深层链接和验证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>
元素中包含主机,因为在每个<intent-filter>
元素中,每个<data>
属性的所有组合都被视为有效(因此此intent
过滤器确实解析了https://www.example.com
)。
- 每个网站域只能声明一个即时应用程序。 (这与为可安装应用程序创建应用程序链接时不同,后者允许您将网站与多个应用程序相关联。)
三、创建应用程序链接时的其他提醒
- 您的即时应用中的所有
HTTP URL
意图过滤器都应包含在您的可安装应用中。 这很重要,因为一旦用户安装完整的应用程序,点击URL
应始终打开已安装的应用程序,而不是即时应用程序。 - 您必须在即时和可安装应用程序中的至少一个intent过滤器中设置
autoVerify =“true”
。 (了解如何启用自动验证。) - 您必须使用
HTTPS
协议为每个域(以及应用程序链接支持的子域)发布一个assetlinks.json
。(请参阅如何支持多个主机的应用程序链接)。 -
assetlinks.json
文件必须是有效的JSON
,无需重定向即可提供,并且可供机器人访问(您的robots.txt
必须允许抓取/.well-known/assetlinks.json
)。 - 建议不要在
intent
过滤器的host
属性中使用通配符。 (了解如何支持来自多个子域的应用程序链接。) - 应使用单独的
intent
过滤器声明自定义主机/方案URL
。 - 确保您的应用链接网址占据关键字词的热门搜索结果。