Play Asset Delivery
Play Asset Delivery (PAD) 将应用包的优势带给了游戏。它允许大于 200MB 的游戏通过发布包含游戏所需所有资源的单个工件到 Play 来替换旧版扩展文件 (OBB)。PAD 提供灵活的交付模式、自动更新、压缩和增量修补,并且免费使用。使用 PAD,所有资源包都托管在 Google Play 上并由其提供服务,无需使用内容交付网络 (CDN) 将游戏资源传递给玩家。
Play Asset 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 库的播放会话之间移动。即使这些文件可由应用写入,也应将其视为只读文件,因为资源包补丁依赖于这些文件的完整性。
在即时应用中使用 Play Asset Delivery 时,按需是唯一受支持的模式。
资源更新
当应用更新时,install-time
资源包会作为基本应用更新的一部分进行更新(无需开发者执行任何操作)。
用于fast-follow
和on-demand
资源包的应用更新遵循以下步骤
- 包含所有资源的应用补丁下载到设备上的安全位置。
- 更新应用二进制文件;这包括任何
install-time
资源包。 - 所有以前下载的资源包均失效。
- 资源的补丁被复制并应用到存储在应用内部存储中的资源。
在大多数情况下,当用户打开游戏时,整个更新已经完成,用户可以立即开始玩更新后的版本。在少数情况下,当应用打开时,应用二进制文件可能已经更新,但应用补丁到资源的过程尚未完成,因此无法访问资源。您需要通过在这些资源周围提供合适的“更新中”用户界面元素来处理这种情况,或者构建逻辑来处理尚未准备好访问的无效资源。由于应用二进制文件更新仅在所有资源包类型下载完成后才会发生,因此应用补丁是本地、脱机操作,应快速完成。
纹理压缩格式目标
纹理压缩是一种有损图像压缩形式,它允许 GPU 直接从压缩纹理中使用专用硬件进行渲染,从而减少所需的纹理内存和内存带宽。 纹理压缩格式目标 允许您在 Android 应用包中包含使用多种纹理压缩格式压缩的纹理,并依靠 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 的数据安全部分表单,该表单涉及您应用的用户数据收集、共享和安全实践。