配置即时交付

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

您只能在也启用应用程序基本模块的即时体验的情况下启用某个功能的即时体验。 这是因为,如果用户想体验您应用程序的某个启用即时体验的功能模块,则他们的设备还必须下载您应用程序的基本模块以获取公共代码和资源。 请注意,要支持 Google Play Instant,您基本模块和功能的下载必须满足几个条件

如果您使用 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. 从菜单栏中选择文件 > 新建 > 新建模块
  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 已针对部署速度而不是 APK 大小进行了优化。要配置 Android Studio 以改为从应用捆绑包构建并部署 APK 和瞬时体验,请 修改您的运行/调试配置