Android 免安装应用是应用的小版本,无需安装即可运行。用户只需点击网址即可启动您的应用,而无需安装 APK。因此,所有免安装应用都需要可通过使用 Android App Links 声明的网址访问。本页介绍了如何针对 Android 免安装应用使用 Android 应用链接。
应用链接概览
首先,下面总结了您对应用链接应有的了解:
- 如果您为应用中的 activity 创建 intent 过滤器,让用户能够通过网址链接直接跳转到应用中的特定屏幕,这就称为“深层链接”。不过,其他应用可以声明类似的网址 intent 过滤器,因此系统可能会询问用户要打开哪个应用。如需创建此类深层链接,请参阅创建指向应用内容的深层链接。
- 当您在与应用的 HTTP 深层链接对应的网站上发布
assetlinks.json
文件时,即表示您确认您的应用是这些网址的真正所有者。因此,您已将深层链接转换为 Android App Links,从而确保在用户点击此类网址时应用会立即打开。如需创建应用链接,请阅读验证 Android App Links。
因此,Android App Links 只是 HTTP 深层链接,您的网站经验证确认归其所有,因此用户无需选择要打开的应用。如需获取更具体的说明,请参阅深层链接与应用链接之间的区别。
但是,在这两种情况下,用户都必须已经安装了您的应用。如果用户点击您网站的某个链接,但他们没有安装您的应用(并且没有其他应用可以处理该网址 intent),系统会在网络浏览器中打开该网址。因此,创建免安装应用可以解决这一问题 - 它允许用户只需点击网址即可打开您的应用,即使他们没有安装您的应用也是如此。
当最终用户在 Google 上搜索您的应用时,Google 搜索会显示一个带有“免安装”标记的网址。
免安装应用的应用链接有何不同
如果您已按照创建指向应用内容的深层链接和验证 Android 应用链接的指南操作,那么您已经完成了让应用链接支持免安装应用所需的大部分工作。在针对免安装应用使用应用链接时,需要遵守几条额外的规则:
在免安装应用中用作应用链接的所有 intent 过滤器都必须同时支持 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>
属性的所有组合都被视为有效(因此此 intent 过滤器确实会解析https://www.example.com
)。您只能针对每个网站网域声明一个免安装应用。(这不同于为安装版应用创建应用链接,后者允许您将一个网站与多个应用相关联。)
创建应用链接的其他事项
- 免安装应用中的所有 HTTP 网址 intent 过滤器都应包含在安装式应用中。这一点非常重要,因为在用户安装完整应用后,点按网址应始终打开安装式应用,而不是免安装应用。
- 您必须在免安装应用和安装式应用中的至少一个 intent 过滤器中设置
autoVerify="true"
。(了解如何启用自动验证。) - 您必须使用 HTTPS 协议为应用链接支持的每个网域(和子网域)分别发布一个
assetlinks.json
。(了解如何支持多个主机的应用链接)。 assetlinks.json
文件必须是有效的 JSON,无需重定向即可提供,并且可供漫游器访问(您的robots.txt
必须允许抓取/.well-known/assetlinks.json
)。- 不建议在 intent 过滤器的主机属性中使用通配符。(了解如何支持来自多个子网域的应用链接。)
- 应该使用单独的 intent 过滤器声明自定义主机/协议网址。
- 确保您的应用链接网址考虑到了关键字词的热门搜索结果。