Play Asset Delivery
Play Asset Delivery (PAD) 将 app bundle 的优势带到游戏中。它允许超过 200 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 Asset Delivery 库查询以这种方式提供的资源包的位置。应用不能假设这些文件存在或其位置,因为这些文件可能会被用户删除,或者被 Play Asset Delivery 库在不同播放会话中移动。尽管这些文件可由应用写入,您也应将其视为只读文件,因为资源包补丁依赖于这些文件的完整性。
在免安装应用中使用 Play Asset Delivery 时,按需模式是唯一受支持的模式。
资源更新
更新应用时,install-time
Asset Pack 会作为基础应用更新的一部分进行更新(开发者无需执行任何操作)。
对于 fast-follow
和 on-demand
Asset Pack 的应用更新,则遵循以下步骤:
- 系统将应用的补丁程序(包括所有资产)下载到设备上的安全位置。
- 更新应用二进制文件;这包括所有
install-time
Asset Pack。 - 之前下载的所有 Asset Pack 变为无效。
- 将资源的补丁复制并应用到存储在应用内部存储空间中的资源。
在大多数情况下,当用户打开游戏时,整体更新已完成,用户可以立即开始玩更新后的版本。在极少数情况下,当用户打开应用时,应用二进制文件可能已完成更新,但资产的补丁应用过程尚未完成,因此用户尚无法访问这些资源。为了应对此类情形,您需要针对这些资源提供相应的“正在更新”界面元素,或构建逻辑来处理尚无法访问的无效资源。由于只有在所有资源包类型均已下载后,应用二进制文件才会更新,因此补丁的应用操作会在本地以离线方式进行,且应快速完成。
纹理压缩格式定位
纹理压缩是一种有损图像压缩,可让 GPU 使用专用硬件直接从压缩纹理进行渲染,从而减少所需的纹理内存和内存带宽用量。借助纹理压缩格式定位功能,您可以在 Android App Bundle 中添加使用多种纹理压缩格式压缩的纹理,并且依靠 Google Play 自动为每种设备提供采用最佳纹理压缩格式的资源。
应用版本更新
有新版本的应用上传到 Google Play 后,用户可以先在设备上打开应用的旧版本,然后再在设备上进行更新。在这种情况下,如有必要,应用可以通过调用 In-App Updates API 选择强制更新或建议更新。借助此 API,您可以从应用内触发更新,而不是让用户从 Google Play 商店触发更新。
下载大小上限
资源包是大型游戏的理想之选,因为它们的大小上限更高。加入 Google Play 游戏合作伙伴计划的开发者也可以设置更高的大小限制。如需详细了解大小上限,请参阅 Google Play 大小上限。
如果您使用的是纹理压缩格式定位,那么这些下载限制会分别应用于每个独一无二的纹理格式。
后续步骤
您可以使用下面的其中一种编程语言将 Play Asset Delivery 构建到您的游戏或应用中:
服务条款和数据安全
访问或使用 Play Asset Delivery Library 即表示您同意接受 Play Core 软件开发套件服务条款。请先阅读并了解所有适用的条款及政策,然后再访问该库。
Play Core 库是您的应用与 Google Play 商店的运行时接口。因此,当您在应用中使用 Play Core 时,Play 商店会运行自己的进程,其中包括处理受 Google Play 服务条款约束的数据。以下信息说明了 Play Core 库如何通过处理数据来处理从您的应用发来的特定请求。
Play Asset Delivery
收集的使用情况数据 | 设备元数据 应用版本 |
数据收集目的 | 我们会利用收集的数据来为设备提供合适的资源包,以及在更新后保留已安装的资源包。 |
数据加密 | 数据会加密。 |
数据分享 | 我们不会将收集的数据发送给任何第三方。 |
数据删除 | 我们会在固定保留期限过后删除收集的数据。 |
虽然我们力求做到尽可能公开透明,但对于 Google Play 的“数据安全”部分针对您的应用的用户数据收集、分享和安全做法提供的表单,您需自行负责决定如何回应。