Play Asset Delivery
Play Asset Delivery (PAD) 将 App Bundle 的优势引入了游戏领域。它允许超过 200MB 的游戏通过向 Play 发布包含游戏所需所有资源的单个构建产物,来替换传统的扩展文件 (OBB)。PAD 提供灵活的分发模式、自动更新、压缩和增量修补功能,并且可以免费使用。使用 PAD 时,所有资源包都托管在 Google Play 上并由其提供服务,因此无需使用内容分发网络 (CDN) 来向玩家分发游戏资源。
Play Asset Delivery 使用资源包 (Asset Pack),资源包由资源(如纹理、着色器和声音)组成,但不包含可执行代码。通过动态分发 (Dynamic Delivery),您可以根据三种分发模式(安装时分发、快速跟进分发和按需分发)自定义每个资源包下载到设备上的方式和时间。
如果您想直接开始在游戏中实现 PAD,请参阅下一步。
单个发布构建产物
向 Play 发布包含游戏所有资源的单个构建产物灵活的分发模式
控制 Play 分发游戏资源的时间和方式针对特定纹理压缩格式的分发
在不牺牲覆盖范围的情况下,开始高效利用现有硬件自动更新
让 Play 通过先进的压缩和增量修补技术自动更新您的游戏资源常见问题解答
分发模式
install-time 资源包在应用安装时交付。这些包以分割 APK(APK 集合的一部分)的形式提供。这些包也称为“预置”资源包;您可以在应用启动时立即使用它们。这些包会占用 Google Play 商店中列出的应用大小。用户无法修改或删除这些包。
fast-follow 资源包在应用安装后立即自动下载;用户无需打开应用即可开始 fast-follow 下载。这些下载不会阻碍用户进入应用。这些包不占用 Google Play 商店中列出的应用大小。
on-demand 资源包在应用运行时下载。
配置为 fast-follow 和 on-demand 的资源包由 Google Play 商店以归档文件(而非分割 APK)的形式提供。然后,这些包会在应用的内部存储中解压。您可以使用 Play Asset Delivery 库查询以此方式分发的资源包的位置。应用不能假设这些文件或其位置始终存在,因为这些文件可能会被用户删除,或者由 Play Asset Delivery 库在不同的运行会话之间移动。尽管应用可以对这些文件进行写入,但您应该将它们视为只读,因为资源包补丁依赖于这些文件的完整性。这些包不占用 Google Play 商店中列出的应用大小。
在即时应用中使用 Play Asset Delivery 时,按需分发 (on-demand) 是唯一受支持的模式。
资源更新
应用更新时,install-time 资源包会作为基础应用更新的一部分进行更新(开发者无需执行任何操作)。
fast-follow 和 on-demand 资源包的应用更新遵循以下步骤:
- 包含所有资源的应用程序补丁会下载到设备上的安全位置。
- 应用二进制文件更新;这包括任何
install-time资源包。 - 所有之前下载的资源包均失效。
- 资源补丁被复制并应用到存储在应用内部存储中的资源上。
在大多数情况下,当用户打开游戏时,整个更新已经完成,用户可以立即开始玩更新后的版本。在极少数情况下,打开应用时,应用二进制文件可能已经更新,但应用资源补丁的过程尚未完成,因此资源尚无法访问。您需要通过在这些资源周围提供适当的“正在更新”用户界面元素来适应这种情况,或者构建逻辑来处理尚未准备好访问的失效资源。由于应用二进制文件更新仅在所有资源包类型都下载完成后才会发生,因此应用补丁是一个本地离线操作,应该很快就能完成。
针对特定纹理压缩格式的分发
纹理压缩是一种有损图像压缩形式,允许 GPU 使用专用硬件直接从压缩纹理进行渲染,从而减少所需的纹理内存量和内存带宽。针对特定纹理压缩格式的分发允许您在 Android App Bundle 中包含使用多种纹理压缩格式压缩的纹理,并依靠 Google Play 为每台设备自动分发受支持的最佳纹理压缩格式资源。
应用版本更新
在应用的新版本上传到 Google Play 后,用户可能会在设备上的应用更新之前打开旧版本的应用。如果需要,在这种情况下,应用可以选择通过调用 应用内更新 API 强制更新或建议更新。此 API 允许您从应用内部触发更新,而不是让用户从 Google Play 商店触发更新。
下载大小限制
资源包因其更大的大小限制而成为大型游戏的理想选择。加入 Google Play 游戏合作伙伴计划的开发者还可以获得更高的大小限制。您可以在 Google Play 最大大小限制中找到有关最大大小的更多信息。
如果您使用针对特定纹理压缩格式的分发,这些下载限制将分别适用于每个唯一的纹理格式。
下一步
使用以下方式之一将 Play Asset Delivery 构建到您的游戏或应用中:
服务条款和数据安全
通过访问或使用 Play Asset Delivery 库,即表示您同意 Play Core 软件开发工具包服务条款。在访问该库之前,请阅读并理解所有适用的条款和政策。
Play Core 库是您的应用与 Google Play 商店的运行时界面。因此,当您在应用中使用 Play Core 时,Play 商店会运行自己的进程,其中包括根据 Google Play 服务条款处理数据。以下信息说明了 Play Core 库如何处理数据以处理来自您的应用的特定请求。
Play Asset Delivery
| 收集的关于使用的相关数据 | 设备元数据 应用版本 |
| 数据收集的目的 | 收集的数据用于向设备分发正确的资源包,并在更新后保留已安装的资源包。 |
| 数据加密 | 数据已加密。 |
| 数据共享 | 数据不会传输给任何第三方。 |
| 数据删除 | 数据在固定的保留期后会被删除。 |
虽然我们力求尽可能透明,但您仍需全权负责决定如何针对您的应用的用户数据收集、共享和安全实践,来填写 Google Play 的数据安全部分表单。