XR-129:智能交付内容管理 *
版本 1.3,2021 年 4 月 1 日 支持智能交付(Intelligent Delivery)的游戏必须在需要当前未安装的内容时优雅地处理相关场景。游戏可通过在需要从光盘或 XBOX Live 安装额外内容时,在 GDK 中调用PackageInstallChunksAsync,或在 XDK 中调用 AddChunkSpecifiersAsync 来实现这一点。
有关使用 GDK 的流式安装(Streaming Install)或智能交付的更多信息,请阅读 GDK 文档中的”流式安装和智能交付概述”。
更多信息
借助智能交付,游戏可以采用设备特定、语言特定或按需安装游戏内容的方式。允许在游戏内切换需要未自动安装内容的功能/设置的游戏必须:- 在内容不可用时不崩溃或无响应。
- 通过
PackageInstallChunksAsync(GDK)或AddChunkSpecifiersAsync(XDK)API 正确发起安装。
XPackageCreateInstallationMonitor(GDK),或使用通过 AddChunkSpecifiersAsync API 获得的 PackageTransferWatcher 对象的事件和方法(XDK),显示由游戏发起的内容安装进度。
示例场景:
语言包
用户将主机语言设置为 en-US,同时你也通过智能交付提供 fr-FR、it-IT、es-SP、fr-CA、de-AU 和 ja-JP 等语言。由于用户主机设置为 en-US,平台默认会将 en-US 语言块作为基础安装进行安装。
但是,如果你的游戏在游戏内菜单中提供了语言选择,则当用户选择与初始安装不同的语言时,游戏必须触发额外语言内容的安装。
设备
用户最初将游戏作为 XBOX One S 游戏安装到外部驱动器上。用户将外部驱动器移动到 XBOX One X 主机。平台将在启动标记之前自动安装 XBOX One X 块,但启动集之外的、XBOX One X 特有的任何内容将在游戏从其启动集可运行时通过流式方式安装。你的游戏必须检查该设备类型的块是否已安装,并在等待期间优雅地处理该场景。此外,提供设备特定优化(如更好纹理)的游戏应将此场景视为其内容管理体验的一部分。
按需内容
用户在游玩一款拥有多人战役、角色编辑器和关卡编辑器的游戏。你在布局文件中将这些标记为按需资产。你的游戏应在这些模式的菜单条目中指明该内容需要被安装。如果用户选择这些菜单条目之一,或游戏由于其他原因需要该内容,游戏必须请求安装该内容。用户可以取消安装该内容的请求,游戏必须优雅地处理 AddChunkSpecifiersAsync 的此返回值。
实现指导和最佳实践
其他资源
认证测试用例
129-01 语言包的智能交付
所需工具- 1 台 XBOX One
- 1 台 XBOX One S
- 1 台 XBOX One X
- 1 台 XBOX Series X 开发套件(使用 XBOX Series X|S 零售主机模式)
- 将 XBOX One 主机设置为受支持的语言。
- 安装游戏。
- 启动游戏。
- 浏览游戏,并确保体验与主机所选语言一致。
- 如果游戏提供游戏内切换语言的菜单选项,选择每种语言以安装相应的语言块。
- 对所有受支持的语言重复步骤 1–5。
- 在所有代次的设备上重复步骤 1–6。
- 游戏根据主机语言设置安装了预期的语言包。
- 从菜单选项中选择不同的语言可安装正确的语言包。
- 游戏保持稳定,不崩溃或无响应。
- 游戏未根据主机语言设置安装预期的语言包。
- 从菜单选项中选择不同的语言未能安装正确的语言包。
- 游戏崩溃或无响应。
129-02 设备特定内容的智能交付
所需工具- 1 台 XBOX One
- 1 台 XBOX One S
- 1 台 XBOX One X
- 1 台 XBOX Series X 开发套件(使用 XBOX Series X|S 零售主机模式)
- 将 XBOX One 主机设置为受支持的语言。
- 安装游戏。
- 启动游戏。
- 浏览游戏,并确保仅安装了 XBOX One 特定的内容。
- 在所有代次的设备上重复步骤 1–4,并确保安装了所有代次特定的内容。
- 对所有受支持的语言重复步骤 1–5。
- 游戏安装了预期的设备特定内容。
- 游戏保持稳定,不崩溃或无响应。
- 游戏未安装预期的设备特定内容。
- 游戏崩溃或无响应。
129-03 设备特定内容的迁移
所需工具- 1 台 XBOX One
- 1 台 XBOX One S
- 1 台 XBOX One X
- 1 台 XBOX Series X 开发套件(使用 XBOX Series X|S 零售主机模式)
- [XBOX One 主机] 将 XBOX One 主机设置为受支持的语言。
- [XBOX One 主机] 将游戏安装到外部 USB 设备上。
- [XBOX One 主机] 启动游戏。
- [XBOX One 主机] 浏览游戏,并确保仅安装了 XBOX One 特定的内容。
- 将 USB 设备移动到 XBOX One X 主机。
- [XBOX One X 主机] 接受更新以安装 XBOX One X 特定的内容。
- [XBOX One X 主机] 启动游戏,并确保游戏能优雅地处理额外 XBOX One X 内容的安装。
- 将 USB 设备移回 XBOX One 主机。
- [XBOX One 主机] 浏览游戏,并确保游戏能优雅地处理两个平台内容均已安装的情况。
- 在 XBOX Series X|S 上重复步骤 5–9。
- 游戏安装了预期的设备特定内容。
- 游戏保持稳定,不崩溃或无响应。
- 游戏崩溃或无响应。
129-04 按需内容的智能交付
所需工具- 1 台 XBOX One
- 1 台 XBOX One S
- 1 台 XBOX One X
- 1 台 XBOX Series X 开发套件(使用 XBOX Series X|S 零售主机模式)
- 将 XBOX One 主机设置为受支持的语言。
- 安装游戏。
- 启动游戏。
- 安装所有按需内容。
- 对所有受支持的语言重复步骤 1–4。
- 在所有代次的设备上重复步骤 1–5。
- 游戏按预期安装了按需内容。
- 游戏保持稳定,不崩溃或无响应。
- 游戏未按预期安装按需内容。
- 游戏崩溃或无响应。
129-05 功能和配方(Features and Recipes)
所需工具- 1 台 XBOX One
- 1 台 XBOX One S
- 1 台 XBOX One X
- 1 台 XBOX Series X 开发套件(使用 XBOX Series X|S 零售主机模式)
- 安装基础游戏,不安装任何与 Features and Recipes 关联的可选内容。
- 浏览游戏的所有区域,尝试访问未安装的内容,并确保游戏保持稳定。
- 对系统 UI 中公开的每个 Feature,安装该 Feature 并尝试在游戏中访问,确保游戏保持稳定。
- 对系统 UI 中未公开的每个 Feature,通过游戏内 UI 选项安装 Feature 视图,确保游戏保持稳定。
- 对每个 Recipe,确保用户拥有任何相关的商店权益并执行全新安装。
- 确保 Recipe 中包含的任何 Features 已安装并且可在游戏中访问。
- 未安装可选内容时游戏保持稳定。
- 已安装时游戏允许访问该可选内容。
- 未安装可选内容时游戏崩溃或无响应。
- 已安装时游戏不允许访问该可选内容。
