Google 致力于为黑人社区推动种族平等。查看具体举措

动态资产分发简介

Play Asset Delivery 是 Google Play 推出的解决方案,可通过扩展 Android App Bundle 格式分发大量游戏资产。Play Asset Delivery 为开发者提供了灵活的分发方式和出色的性能。它的 API 占用空间非常少,且可免费使用。所有 Asset Pack 均在 Google Play 上托管和提供,因此您无需使用内容分发网络 (CDN) 向玩家提供游戏资源。

Play Asset Delivery 使用 Asset Pack,后者由资产(例如纹理、着色器和声音)组成,但不包含可执行代码。通过 Dynamic Delivery,您可以按照以下三种分发模式自定义如何及何时将各个 Asset Pack 下载到设备上:install-time、fast-follow 和 on-demand。

分发模式

install-time Asset Pack 在用户安装应用时分发。这些 Asset Pack 以拆分 APK(APK 集的一部分)的形式提供。它们也称为“Upfront”Asset Pack;应用一发布,您便可以使用这些 Asset Pack。这些 Asset Pack 会增加 Google Play 商店上列出的应用大小。用户无法修改或删除这些 Asset Pack。

fast-follow Asset Pack 会在用户安装应用后立即自动下载;用户无需打开应用即可开始 fast-follow 下载。此类下载不会阻止用户访问应用。这些 Asset Pack 会增加 Google Play 商店上列出的应用大小。

on-demand Asset Pack 会在应用运行时下载。

Google Play 商店会以归档文件(而非拆分 APK)的形式提供配置为 fast-followon-demand 的 Asset Pack。这些 Asset Pack 随后会在应用的内部存储空间中展开。您可以使用 Play Core API 查询以这种方式提供的 Asset Pack 的位置。应用无法假设这些文件的存在或其位置,因为它们可能会被用户删除,或由 Play Core SDK 在游戏会话之间移动。尽管这些文件可由应用写入,您也应将其视为只读文件,因为 Asset Pack 补丁程序依赖于这些文件的完整性。

资产更新

更新应用时,install-time Asset Pack 会作为基础应用更新的一部分进行更新(开发者无需执行任何操作)。

对于 fast-followon-demand Asset Pack 的应用更新,则遵循以下步骤:

  1. 系统将应用的补丁程序(包括所有资产)下载到设备上的安全位置。
  2. 更新应用二进制文件;这包括所有 install-time Asset Pack。
  3. 之前下载的所有 Asset Pack 变为无效。
  4. 将资产的补丁程序复制并应用到存储在应用内部存储空间中的资产。

在大多数情况下,当用户打开游戏时,整体更新已完成,用户可以立即开始玩更新后的版本。在极少数情况下,当用户打开应用时,应用二进制文件可能已完成更新,但资产的补丁程序应用过程尚未完成,因此用户尚无法访问这些资产。要应对此类情形,您需要针对这些资产提供相应的“正在更新”界面元素,或构建逻辑来处理尚无法访问的无效资源。由于只有在所有 Asset Pack 类型均已下载后,应用二进制文件才会更新,因此补丁程序的应用操作会在本地以离线方式进行,且应快速完成。

应用版本更新

新版本的应用上传到 Google Play 后,如果用户未在设备上更新该应用,他们可以打开之前的应用版本。在这种情况下,如有必要,应用可以通过调用 In-App Updates API 选择强制更新或建议更新。借助此 API,您可以从应用内触发更新,而不是让用户从 Google Play 商店触发更新。

下载大小上限

Asset Pack 因具有较高的大小上限而成为大型游戏的理想之选:

  • 每个 fast-followon-demand Asset Pack 的下载大小上限为 512 MB。
  • 所有 install-time Asset Pack 的下载大小上限均为 1 GB。
  • 一个 Android App Bundle 中的所有 Asset Pack 的下载大小上限为 2 GB。
  • 一个 Android App Bundle 中最多可以使用 50 个 Asset Pack。

后续步骤

使用以下编程语言之一将 Play Asset Delivery 构建到您的游戏或应用中:

更多信息