为免安装应用创建应用链接

Android 免安装应用是应用的精简版本,无需安装即可运行。用户只需点击网址即可启动应用,而无需安装 APK。因此,所有免安装应用都必须可以通过使用 Android 应用链接声明的网址访问。本页介绍了如何针对 Android 免安装应用使用 Android 应用链接。

首先,下面总结了您对应用链接应有的了解:

  • 如果您为应用中的 Activity 创建 intent 过滤器,以让用户能够通过网址链接直接跳转到应用中的特定屏幕,这就称为“深层链接”。不过,其他应用也可以声明类似的网址 intent 过滤器,因此,系统可能会询问用户要打开哪个应用。要创建此类深层链接,请参阅创建指向应用内容的深层链接
  • 如果您在网站上发布 assetlinks.json 文件,并且此文件与应用的 HTTP 深层链接相对应,则可以验证您的应用是这些网址的真实所有者。因此,您已将深层链接转化为 Android 应用链接,这样即可确保您的应用会在用户点击此类网址时立即打开。要创建应用链接,请参阅验证 Android 应用链接

Android 应用链接其实是一种 HTTP 深层链接,只不过已验证您的网站是这些链接的所有者,因此用户无需选择用哪个应用打开这些链接。若想查看更具体的说明,请参阅深层链接与应用链接之间的区别

不过,在这两种情况下,用户都必须已经安装了您的应用。如果用户点击您网站的某个链接,而他们并未安装您的应用(也没有其他应用可以处理该网址内容),则网址会在网络浏览器中打开。创建免安装应用可以解决这一问题;借助免安装应用,用户只需点击网址即可打开您的应用,即使没有安装您的应用也没关系。

当最终用户在 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>
        

    请注意,您不需要将 host 包含在第二个 <data> 元素中,因为在每个 <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 过滤器声明自定义主机/协议网址。
  • 确保应用链接会考虑到你的关键字词的热门搜索结果。