查看原文
其他

Android App Bundle: 最新改进和 Google Play 新应用计划

Google Play 谷歌开发者 2020-09-20

作者 / Google Play 产品经理 Dom Elliott 和 Yafit Becher


在短短两年多的时间里,Android App Bundle 已成为在 Google Play 上发布应用的黄金标准。基于 app bundle 制作的应用和游戏如今多达 60 万款,占 Google Play 所有发布应用和游戏的 40% 以上。Google Play 上 50% 的顶级开发者都在使用 app bundle,比如 Adobe 就通过 app bundle 将 Adobe Acrobat Reader 的大小缩减了 20%。

  • Android App Bundle
    https://developer.android.google.cn/platform/technology/app-bundle
  • 将 Adobe Acrobat Reader 的大小缩减了 20%
    https://developer.android.google.cn/stories/apps/adobe-app-bundle


最新推出的 Play Asset Delivery (PAD) 将 app bundle 的巨大优势引入游戏领域,让开发者能够降低交付成本、缩减游戏大小并提升用户体验。Gameloft 利用 PAD 有效提高了用户留存率,与使用之前的资源交付系统相比,新玩家数量增加了 10%。


  • Play Asset Delivery
    https://developer.android.google.cn/guide/app-bundle/asset-delivery
  • Gameloft
    https://developer.android.google.cn/stories/games/gameloft-pad


为了帮助您完成转换,我们发布了 Play App Signing 的常见问题解答 (app bundle 必需) 以及测试 app bundle 的相关指南。以下是有关 app bundle 开发、测试和发布的最新改进。


  • Play App Signing 的常见问题解答
    https://medium.com/androiddevelopers/answers-to-common-questions-about-app-signing-by-google-play-b28fef836af0
  • 测试 app bundle
    https://developer.android.google.cn/guide/app-bundle/test


Play 功能分发


App bundle 使用动态功能模块实现模块化应用开发,并提供一系列可定制的交付选项。现在,在构建模块化应用时,可以缩减动态功能模块以及基础模块中的资源。这项备受期待的功能可以显著缩减应用大小。该功能将在 Android Studio 4.2 中提供,目前处于 Canary 的实验性标记下: android.experimental.enableNewResourceShrinker=true。


  • 模块化应用开发

    https://developer.android.google.cn/guide/app-bundle/dynamic-delivery#modularize


默认情况下,当 app bundle 到达分发 APK 阶段时,安装时分发模块 (install time modules) 将会自动融合 (从 bundletool 1.0.0 开始)。这意味着您可以在开发过程中将应用进行模块化处理,同时减少分发到每台设备的 APK 数量,加快应用的下载和安装速度。如果要防止融合,可以为安装时分发模块设置 "可移除标记",在使用模块后从设备上卸载模块。不再需要大型模块时,最好将其移除 —— "更小" 的应用更不易被卸载。


Android Studio 4.0 中,功能间依赖关系已经稳定,所以您可以指定一个动态功能模块依赖于另一个功能模块。定义这种关系使得您的应用可以获得所需的模块来解锁更丰富的功能,从而减少下载请求并使应用更易模块化。


我们知道,测试应用交付并取得与用户相同的实际体验对您至关重要。内部应用共享 (Internal App Sharing) 让您可以将测试构建上传到 Google Play,并获得下载应用的可共享链接。从此链接下载应用时,您获得的二进制文件将与应用发布到 Google Play 后提供给用户的相同。


  • 内部应用共享 (Internal App Sharing)

    https://support.google.com/googleplay/android-developer/answer/9303479?hl=zh-Hans



Play Asset Delivery


Play Asset Delivery 扩展了 app bundle 格式,能够将最多 2GB 的游戏资源与二进制文件一起打包到在 Google Play 上发布的单个工件中。PAD 允许大于 150MB 的游戏取代传统的扩展文件 (OBB),并依靠 Google Play 保持资源更新,就像处理游戏二进制文件一样。它还负责压缩和增量补丁,最大程度缩减下载大小,让游戏能够更快更新。

包含一个基本模块、两个动态功能模块和两个 Asset Pack 的 Android App Bundle 的内容

您可以根据向用户提供资源的预期时间,从三种交付模式中选择一种: 安装时 (install-time),作为初始游戏安装的一部分;按需分发 (on-demand),仅应要求交付资源;或快速跟进式 (fast-follow),在游戏安装完成后立即触发额外下载,与用户是否打开应用无关。快速跟进将最大程度地减少首次交互的时间,同时尽快将游戏提供给用户。

在未来几个月内,我们将发布纹理压缩格式定位,允许您添加多种纹理压缩格式资源,并由我们将其交付为请求设备支持的最高级格式。

Google 游戏开发者峰会相关视频介绍了更多相关信息,您也可以在官方文档中查看描述了 Unity、Unreal Engine、Gradle、Native 和 Java 支持的集成选项。
Google 游戏开发者峰会相关视频: Google Play 优化高质量游戏交付
  • 官方文档

    https://developer.android.google.cn/guide/app-bundle/asset-delivery


Google Play 的最佳分发方式


Google Play 每月向全球数千种设备类型的 Android 用户提供数十亿应用、游戏、更新和动态功能模块。我们投入了大量时间和精力,确保您的内容尽可能无缝高效地交付给用户,同时营造快捷舒适的用户体验。

例如,我们最近升级了 Google Play 的下载服务。仅此一项更改就使 app bundle 应用的安装速度平均提升 6%,并在全球范围内将安装成功率提高了 1%,每周为开发者增加数百万的安装量。

我们还将推出多项动态功能模块分发改进,比如允许在应用处于可见或更高状态时安装模块,降低触发存储不足错误的可用存储阈值,以及移除通过 Wi-Fi 下载大型动态功能模块的用户确认。仅此一项,就使推迟模块下载的成功率提高了 12%。使用动态功能的应用将自动从这些变化中受益。

  • 应用处于可见状态
    https://developer.android.google.cn/reference/android/app/ActivityManager.RunningAppProcessInfo#IMPORTANCE_VISIBLE



2021 年下半年对新应用的要求


我们会继续将 app bundle 打造成在 Google Play 上比 APK 更好的发布格式。例如,新的 app bundle 资源管理器让您可以在一个位置管理所有 app bundle。您可以下载并验证 Google Play 生成的交付 APK,以及可以用于其他分发渠道的已签名通用 APK (单一可安装 APK,包括支持设备所需的所有代码和资源)。


  • app bundle 资源管理器

    https://play.google.com/console/about/app-bundle-explorer/


我们很高兴看到 app bundle 融入应用和游戏生态系统,我们也将继续完善它。正如我们在 Android 11 Beta 发布时宣布的一样,为了更好地支持未来改进,我们计划要求 2021 年下半年的新应用和游戏将通过 Android App Bundle 在 Google Play 上发布。在同一时间,我们将弃用旧版 APK 扩展文件 (OBB),使 Play Asset Delivery 成为 150MB 以上游戏的标准发布选项。我们还将要求通过支持免安装的 app bundle 发布免安装体验,弃用旧版免安装应用 ZIP 格式。

  • Android 11 Beta - Google Play 新动态
    https://www.youtube.com/watch?v=cMr-b660Esw
  • Android App Bundle
    https://developer.android.google.cn/platform/technology/app-bundle
  • Play Asset Delivery
    https://developer.android.google.cn/guide/app-bundle/asset-delivery
  • 支持免安装的 app bundle
    https://developer.android.google.cn/topic/google-play-instant/getting-started/instant-enabled-app-bundle


感谢每一位已经切换到 Android App Bundle 的开发者,也特别感谢提供了反馈意见的开发者。您的反馈有助于我们打造更好的 app bundle 并为大家持续优化,所以请继续分享您的意见和想法。如果您需要任何支持或者帮助,欢迎来下方留言区找我们吧!


推荐阅读






 点击屏末 | 阅读原文 | 进一步了解 Android App Bundle



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存