配置免安装分发

Google Play 免安装体验让用户无需在设备上安装 APK 即可与您的应用互动。用户可以通过 Google Play 商店中的“立即体验”按钮或您创建的网址体验您的应用。这种内容分发形式可让您更轻松地提高用户与应用的互动度。

仅当应用的基本模块也支持免安装体验时,您才能使功能支持免安装体验。这是因为,如果用户想要体验您的应用中某个支持免安装体验的功能模块,他们的设备还必须下载应用的基本模块以获取通用代码和资源。请注意,为了支持 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. 从下拉菜单中选择应用项目的 Base application module
    2. 指定 Module name(模块名称)。IDE 会使用此名称在 Gradle 设置文件中将该模块标识为 Gradle 子项目。当您构建 app bundle 时,Gradle 会使用子项目名称的最后一个元素在功能模块的清单中注入 <manifest split> 属性。
    3. 指定该模块的 package name(软件包名称)。默认情况下,Android Studio 会给出一个软件包名称建议,该名称由基础模块的根软件包名称和您在上一步中指定的模块名称组合而成。
    4. 选择您希望该模块支持的 Minimum API level(最低 API 级别)。此值应与基本模块的值一致。
    5. 指定最多包含 50 个字符的 Module title。平台会使用此标题向用户标识该模块。因此,应用的基本模块必须将模块标题作为您能读懂的字符串资源纳入其中。使用 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