Play Asset Delivery
Play Asset Delivery (PAD) 将 app bundle 的优势带到游戏中。它允许超过 150 MB 的游戏替换旧版扩展文件 (OBB),方法是将包含游戏所需的所有资源的单个工件发布到 Play。PAD 提供了灵活的分发模式、自动更新、压缩和增量修补功能,并且可免费使用。使用 PAD,所有资源包均在 Google Play 上托管和提供,因此您无需使用内容分发网络 (CDN) 向玩家提供游戏资源。
Play Asset Delivery 使用资源包,资源包由资源(如纹理、着色器和声音)组成,但不包含可执行代码。通过 Dynamic Delivery,您可以按照以下三种分发模式自定义如何以及何时将各个资源包下载到设备上:安装时分发、快速跟进式分发和按需分发。
如果您希望直接跳至在游戏中实现 PAD,请参阅后续步骤。

单个发布工件
将单个工件发布到 Play,包括游戏的所有资源
灵活的分发模式
控制 Play 何时以及如何分发您的游戏资产
纹理压缩格式定位
开始有效利用提供的硬件,同时不牺牲覆盖面
自动更新
让 Play 通过高级压缩和增量修补功能自动更新您的游戏资产常见问题解答
分发模式
install-time
资源包在用户安装应用时分发。这些资源包以拆分 APK(APK 集的一部分)的形式提供。它们也称为“预先”资源包;您可以在应用启动时立即使用这些资源包。这些资源包会增加 Google Play 商店上列出的应用大小。用户无法修改或删除这些资源包。
fast-follow
资源包会在用户安装应用后立即自动下载;用户无需打开应用即可开始 fast-follow
下载。此类下载不会阻止用户访问应用。这些资源包会增加 Google Play 商店上列出的应用大小。
on-demand
资源包会在应用运行时下载。
Google Play 商店会以归档文件(而非拆分 APK)的形式提供配置为 fast-follow
和 on-demand
的资源包。这些资源包随后会在应用的内部存储空间中展开。您可以使用 Play Core API 查询以这种方式提供的资源包的位置。应用无法假设这些文件的存在或其位置,因为它们可能会被用户删除,或由 Play Core SDK 在游戏会话之间移动。尽管这些文件可由应用写入,您也应将其视为只读文件,因为资源包补丁程序依赖于这些文件的完整性。
资源更新
更新应用时,install-time
Asset Pack 会作为基础应用更新的一部分进行更新(开发者无需执行任何操作)。
对于 fast-follow
和 on-demand
Asset Pack 的应用更新,则遵循以下步骤:
- 系统将应用的补丁程序(包括所有资产)下载到设备上的安全位置。
- 更新应用二进制文件;这包括所有
install-time
Asset Pack。 - 之前下载的所有 Asset Pack 变为无效。
- 将资产的补丁程序复制并应用到存储在应用内部存储空间中的资产。
在大多数情况下,当用户打开游戏时,整体更新已完成,用户可以立即开始玩更新后的版本。在极少数情况下,当用户打开应用时,应用二进制文件可能已完成更新,但资产的补丁程序应用过程尚未完成,因此用户尚无法访问这些资产。为了应对此类情形,您需要针对这些资产提供相应的“正在更新”界面元素,或构建逻辑来处理尚无法访问的无效资源。由于只有在所有 Asset Pack 类型均已下载后,应用二进制文件才会更新,因此补丁程序的应用操作会在本地以离线方式进行,且应快速完成。
纹理压缩格式定位
纹理压缩是一种有损图像压缩,可让 GPU 使用专用硬件直接从压缩纹理进行渲染,从而减少所需的纹理内存和内存带宽用量。借助纹理压缩格式定位功能,您可以在 Android App Bundle 中添加使用多种纹理压缩格式压缩的纹理,并且依靠 Google Play 自动为每种设备提供采用最佳纹理压缩格式的资源。
应用版本更新
新版本的应用上传到 Google Play 后,如果用户未在设备上更新该应用,他们可以打开之前的应用版本。在这种情况下,如有必要,应用可以通过调用 In-App Updates API 选择强制更新或建议更新。借助此 API,您可以从应用内触发更新,而不是让用户从 Google Play 商店触发更新。
下载大小上限
Asset Pack 因具有较高的大小上限而成为大型游戏的理想之选:
- 每个
fast-follow
和on-demand
Asset Pack 的下载大小上限为 512 MB。 - 所有
install-time
Asset Pack 的总下载大小上限为 1 GB。 - 一个 Android App Bundle 中的所有 Asset Pack 的总下载大小上限为 2 GB。
- 一个 Android App Bundle 中最多可以使用 50 个资源包。
如果您使用的是纹理压缩格式定位,那么这些下载限制会分别应用于每个独一无二的纹理格式。
后续步骤
您可以使用以下某种编程语言将 Play Asset Delivery 构建到您的游戏或应用中: