App Bundle 初见

App Bundle 初见

什么是 App Bundle?

你使用应用的所有代码和资源构建一个单一的工件。

传统的我们会使用 Apk 将我们的代码传给用户,用户使用 Apk 安装代码,并使用应用。简单来说 App Bundle 就是打包分发的一种新的方法。我们不在使用 Apk 这样的方式,而是用一种更加快速、高效的方法将我们的代码传递到用户的手中。

从下图中可以看到,Google Play 针对每个设备的配置提供专门优化过的应用。每一个用户得到的资源都不相同。
App Bundle 初见
从下图可以看到,传统的 Apk 分发机制需要将不同屏幕大小、cpu 型号、语言相关的资源都打包到 Apk 中,即使你的手机不需要 x86、非中文、低分辨相关的资源,你也需要下载。
而使用 App Bundle 后,用户就不在需要无用的资源,大大减少的应用的体积。
App Bundle 初见
与通用 Apk 相比,应用大小平均缩减百分比 20%、应应用大小缩减带来的安装量增长高达 11%

但 App Bundle 仅仅能做到这一点么?

可以发现有了这样的机制后,开发者就可以关注以下三点:

  1. 提供什么?
  2. 向谁提供?
  3. 何时提供?

拆分资源给开发者带来了巨大的灵活性。

定制化分发

  • 应用内更新
  • 按条件分发
  • 按需分发
  • 游戏资源分发
  • 内部应用分享

应用内更新

可能遇到的场景:

  1. 重要问题修复
  2. 战略性功能
  3. 多人游戏
  4. 弃用旧版应用

即时的应用内更新

由 Google Play 管理的应用内更新,用户不需要在经历 切换到应用市场->覆盖安装->打开应用这一套繁琐的流程。开发者也只需要触发应用更新即可。
App Bundle 初见

灵活的应用内更新

应用提示用户进行更新,用户选择更新后,可以继续使用应用。当更新完成以后,应用会提示用户重启。灵活的应用更新可以给开发者灵活的控制更新流程的能力。
App Bundle 初见

按条件分发

你可以指定一些条件,满足这些条件后,系统将在应用安装过程中分发某个功能模块,不满足条件则不会分发。可以让一些组件排除在一些设备的初始安装之外,避免把无用的功能安装在用户的手机上。

  • 按国家、地区分发
  • 按 MinSDK 版本分发
  • 按设备功能分发(如是否支持 VR)

条件可以组合、所有条件都满足才会分发模块

按需分发

按需分发指的是可以根据需要安装和移除特定的功能。

如某些用户并不需要上传的功能、新手指引功能,只需要对有对应需求的用户提供该功能即可。

如下图所示,该应用可以在线安装客户服务功能,而该功能可能是大部分用户不需要的。
App Bundle 初见

内部应用分享

上传一个 Bundle 上传到 google Play后就可以获得一个可以分享的网址,测试人员就可以通过网址下载。
App Bundle 初见