配置即时交付

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 功能交付库

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

要使用 Android Studio 将启用即时功能的特性模块添加到您的应用项目中,请按照以下步骤操作

  1. 如果您尚未这样做,请在 IDE 中打开您的应用项目。
  2. 从菜单栏中选择**文件 > 新建 > 新建模块**。
  3. 在**创建新模块**对话框中,选择**即时动态特性模块**,然后单击**下一步**。
  4. 在**配置您的新模块**部分中,完成以下操作

    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 中,请选中**融合**旁边的复选框。Android Studio 会在模块的清单中注入以下内容以反映您的选择。

      <dist:module>
          <dist:fusing dist:include="true" />
      </dist:module>
      
  5. 单击**完成**。

Android Studio 完成模块创建后,请从**项目**窗格中自行检查其内容(从菜单栏中选择**查看 > 工具窗口 > 项目**)。默认代码、资源和组织结构应与标准应用模块类似。

实现您想要按需下载的功能后,了解如何请求它使用 Play 功能交付库

部署您的应用

在开发支持特性模块的应用时,您可以像平时一样将应用部署到已连接的设备,方法是从菜单栏中选择**运行 > 运行**(或单击工具栏中的**运行**)。

如果您的应用项目包含一个或多个特性模块,您可以通过修改现有的运行/调试配置来选择部署应用时要包含哪些特性,方法如下:

  1. 从菜单栏中选择**运行 > 编辑配置**。
  2. 在**运行/调试配置**对话框的左侧面板中,选择所需的**Android 应用**配置。
  3. 在**常规**选项卡中的**要部署的动态特性**下,选中要部署应用时要包含的每个特性模块旁边的复选框。
  4. 单击**确定**。

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