配置即时交付

Google Play 免安装应用允许用户无需在其设备上安装 APK 即可与您的应用进行交互。相反,他们可以通过 Google Play 商店上的“立即体验”按钮或您创建的 URL 来体验您的应用。这种内容交付形式使您可以更轻松地提高用户对应用的参与度。

只有同时为应用的基本模块启用免安装功能,您才能为某个功能启用免安装功能。这是因为,如果用户想要体验您的应用中的某个免安装功能模块,其设备还必须下载您应用的基本模块以获取通用代码和资源。请记住,为了支持 Google Play 免安装应用,您的基本模块和功能的下载必须满足以下几个条件:

如果按照本节所述,使用 Android Studio 3.5 或更高版本创建免安装功能模块,IDE 会自动为您启用基本模块和功能模块的免安装功能,方法是在每个模块的清单中包含以下内容:

<manifest xmlns:dist="http://schemas.android.com/apk/distribution"
    ... >
    <dist:module dist:instant="true" />
    ...

此外,在下载和安装您的应用时,免安装功能模块会自动随您应用的基本 APK 一同下载和安装。因此,IDE 还会将以下内容包含在免安装功能模块中。

    <dist:module ...>
        <dist:delivery>
            <dist:install-time />
        </dist:delivery>
    </dist:module>

此行为意味着当您设置 dist:instant="true" 时,不能同时包含 <dist:on-demand />。但是,您可以在免安装体验中使用 Play Feature Delivery 库按需请求免安装模块。

配置用于即时交付的新模块

要使用 Android Studio 将免安装功能模块添加到您的应用项目中,请按以下步骤操作:

  1. 如果您尚未这样做,请在 IDE 中打开您的应用项目。
  2. 从菜单栏中选择 File > New > New Module(文件 > 新建 > 新建模块)。
  3. Create New Module(创建新模块)对话框中,选择 Instant Dynamic Feature Module(免安装动态功能模块),然后点击 Next(下一步)。
  4. Configure your new module(配置新模块)部分,完成以下操作:

    1. 从下拉菜单中选择您的应用项目的基本应用模块
    2. 指定模块名称。IDE 使用此名称在您的Gradle 设置文件中将该模块标识为 Gradle 子项目。当您构建应用包时,Gradle 会使用子项目名称的最后一个元素将 <manifest split> 属性注入到功能模块的清单中。
    3. 指定模块的包名。默认情况下,Android Studio 会建议一个包名,该包名结合了基本模块的根包名和您在上一步中指定的模块名。
    4. 选择您希望模块支持的最低 API 级别。此值应与基本模块的值匹配。
    5. 指定模块标题,最多 50 个字符。平台使用此标题向用户标识模块。因此,您的应用的基本模块必须将模块标题作为可翻译的字符串资源包含在内。使用 Android Studio 创建模块时,IDE 会自动将字符串资源添加到基本模块中,并在功能模块的清单中注入以下条目:

      <dist:module
          ...
          dist:title="@string/feature_title">
      </dist:module>
      
    6. 如果您希望此模块可用于运行 Android 4.4(API 级别 20)及更低版本的设备并包含在多 APK 中,请选中 Fusing(融合)旁边的复选框。Android Studio 会在模块的清单中注入以下内容以反映您的选择。

      <dist:module>
          <dist:fusing dist:include="true" />
      </dist:module>
      
  5. 点击 Finish(完成)。

Android Studio 完成模块创建后,您可以在Project(项目)窗格中自行检查其内容(从菜单栏中选择 View > Tool Windows > Project(视图 > 工具窗口 > 项目))。默认代码、资源和组织应与标准应用模块的相似。

在实现了一个您想按需下载的功能后,了解如何使用 Play Feature Delivery 库请求它。

部署您的应用

在开发支持功能模块的应用时,您可以像往常一样通过从菜单栏中选择 Run > Run(运行 > 运行)(或点击工具栏中的 Run )将应用部署到连接的设备。

如果您的应用项目包含一个或多个功能模块,您可以通过修改现有的运行/调试配置来选择部署应用时要包含的功能,具体操作如下:

  1. 从菜单栏中选择 Run > Edit Configurations(运行 > 编辑配置)。
  2. Run/Debug Configurations(运行/调试配置)对话框的左侧面板中,选择您想要的 Android App(Android 应用)配置。
  3. General(常规)选项卡中的 Dynamic features to deploy(要部署的动态功能)下,选中您希望在部署应用时包含的每个功能模块旁边的复选框。
  4. 点击 OK(确定)。

默认情况下,Android Studio 不会将您的免安装模块部署为免安装体验,也不使用应用包来部署您的应用。相反,IDE 会构建并安装针对部署速度而非 APK 大小进行优化的 APK 到您的设备。要配置 Android Studio 以从应用包构建和部署 APK 及免安装体验,请修改您的运行/调试配置