Google Play 即时体验 使用户无需在设备上安装 APK 即可与您的应用互动。相反,他们可以通过 Google Play 商店上的“立即试用”按钮或您创建的 URL 体验您的应用。这种内容交付方式使您可以更轻松地提高应用参与度。
只有在您也启用应用的基本模块的即时体验后,才能启用某个功能的即时体验。这是因为,如果用户想要体验您的应用的某个启用了即时体验的功能模块,他们的设备也必须下载应用的基本模块以获取公共代码和资源。请记住,要支持 Google Play 即时体验,基本模块和功能模块的下载必须满足以下几个条件
- 最大大小:启用了即时体验的基本模块和功能模块的组合大小最多为 10 MB。要了解更多信息,请阅读 通过减小应用或游戏大小来启用即时体验。
- 后台活动:启用了即时体验的模块不能使用 后台服务。此外,此类模块在后台运行时不能 发送通知。
如果您使用 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 将启用即时功能的特性模块添加到您的应用项目中,请按照以下步骤操作
- 如果您尚未这样做,请在 IDE 中打开您的应用项目。
- 从菜单栏中选择**文件 > 新建 > 新建模块**。
- 在**创建新模块**对话框中,选择**即时动态特性模块**,然后单击**下一步**。
在**配置您的新模块**部分中,完成以下操作
- 从下拉菜单中选择您的应用项目的**基础应用模块**。
- 指定一个**模块名称**。IDE 使用此名称将模块标识为 Gradle 中的子项目Gradle 设置文件。构建应用包时,Gradle 使用子项目名称的最后一个元素在特性模块的清单中注入
<manifest split>
属性。 - 指定模块的**包名称**。默认情况下,Android Studio 会建议一个包名称,该名称结合了基础模块的根包名称和您在上一步中指定的模块名称。
- 选择模块要支持的**最低 API 级别**。此值应与基础模块的值匹配。
使用最多 50 个字符指定**模块标题**。平台使用此标题向用户标识模块。因此,您的应用的基础模块必须包含模块标题作为字符串资源,您可以对其进行翻译。使用 Android Studio 创建模块时,IDE 会为您将字符串资源添加到基础模块中,并在特性模块的清单中注入以下条目
<dist:module ... dist:title="@string/feature_title"> </dist:module>
如果您希望此模块可用于运行 Android 4.4(API 级别 20)及更低版本的设备并包含在多 APK 中,请选中**融合**旁边的复选框。Android Studio 会在模块的清单中注入以下内容以反映您的选择。
<dist:module> <dist:fusing dist:include="true" /> </dist:module>
单击**完成**。
Android Studio 完成模块创建后,请从**项目**窗格中自行检查其内容(从菜单栏中选择**查看 > 工具窗口 > 项目**)。默认代码、资源和组织结构应与标准应用模块类似。
实现您想要按需下载的功能后,了解如何请求它使用 Play 功能交付库。
部署您的应用
在开发支持特性模块的应用时,您可以像平时一样将应用部署到已连接的设备,方法是从菜单栏中选择**运行 > 运行**(或单击工具栏中的**运行**)。
如果您的应用项目包含一个或多个特性模块,您可以通过修改现有的运行/调试配置来选择部署应用时要包含哪些特性,方法如下:
- 从菜单栏中选择**运行 > 编辑配置**。
- 在**运行/调试配置**对话框的左侧面板中,选择所需的**Android 应用**配置。
- 在**常规**选项卡中的**要部署的动态特性**下,选中要部署应用时要包含的每个特性模块旁边的复选框。
- 单击**确定**。
默认情况下,Android Studio 不会将启用即时功能的模块部署为即时体验,也不会使用应用包来部署应用。相反,IDE 会将针对部署速度(而非 APK 大小)进行了优化的 APK 构建并安装到您的设备上。要将 Android Studio 配置为改为从应用包构建和部署 APK 和即时体验,请修改您的运行/调试配置。