针对 Xbox 电脑、移动和创意者计划游戏的认证测试 Xbox 要求

版本 5.0 - 2025/04/01

简介

以下测试用例是当 Xbox 网络服务集成到电脑、手机或 Xbox 以外的主机时验证游戏的建议步骤。

基本要求

此类别的要求适用于编码标准、游戏行为和游戏提交的一般规则。

XR-001:游戏稳定性 *

游戏必须符合有关游戏稳定性Microsoft应用商店策略。 以下策略适用于此要求:

10.4.2
产品必须立即启动,继续运行并保持对用户输入的响应。 产品必须正常关闭,而不是意外关闭。 产品必须处理由任何托管或本机系统 API 引发的异常,并在处理异常后保持对用户输入的响应。

001-01 游戏稳定性

测试步骤

  1. 登录到某一 Xbox 档案并且启动游戏。
  2. 导航游戏的所有区域,包括但不限于:
    • 游戏玩法
    • 菜单和功能
    • 可下载内容 (DLC)。
  3. 使用没有以前保存数据的新 Xbox 配置文件,在与 Xbox 网络断开连接时重复步骤 1-3。

预期结果
游戏不稳定性是指在没有给予用户任何通知的情况下由于软件崩溃而无法识别用户输入或者用户无法继续操作的任何状态。

通过示例

  1. 游戏的表现稳定。
  2. 游戏不会导致意外的用户数据丢失。

失败示例

  1. 游戏崩溃、无法响应,或导致主机重新启动。
  2. 游戏导致用户数据丢失。
  3. 显示持续 20 秒钟以上的非交互式暂停或静态屏幕。
  4. 游戏包含加载屏幕,该屏幕持续显示超过两分钟,并且没有进度指示。
  5. 游戏包含加载屏幕,该屏幕持续显示超过三分钟,具有进度指示器。

XR-003:提交的游戏质量 *

Xbox 游戏必须符合 Xbox 质量标准,并且功能齐全且可测试。

功能完整且可测试

提交认证时,游戏必须完全正常运行且可测试。 这包括所有客户端代码、提交项目和可下载的内容。 使用当前版本的 提交验证器时,必须干净地打包游戏,且不会失败。 提交验证程序日志必须包含在提交中。

Xbox 质量标准

Xbox 游戏必须跨所有游戏模式和方案正常运行,以满足玩家的期望。

游戏完整性

游戏必须没有严重问题,例如崩溃、冻结、无法播放的帧速率、导致重大进度障碍的 bug 或图形损坏。 必须正确应用游戏设置、选项和控件,并在适当的情况下遵守默认设置。 导航和内容可用性应是无缝的,没有死胡同或无法访问的菜单。 无论玩家数量如何,多人游戏功能都必须稳定且正常运行。

保存游戏兼容性

游戏保存和玩家进度必须在内容更新后继续运行。 此外,使用基本光盘版本加载更新的保存时,不得发生永久性数据丢失。

003 02 游戏完整性

配置

请参阅本页底部的 电脑测试台指南 来设置电脑。

测试步骤

  1. 登录到某一 Xbox 档案并且启动游戏。
  2. 浏览所有菜单、子菜单、查看所有功能并完成所有游戏模式。
  • 与所有菜单 UI、额外内容、单人游戏和多人游戏模式交互并完成,包括所有受支持语言的任何其他功能。 * 测试脱机、联机和拆分屏幕(如果适用)。 * 使用最大玩家数测试多人游戏模式。 * 将统计信息发布到所有受支持的排行榜。

预期结果
所有游戏必须为用户提供可靠、公平、一致和完善的 Xbox 娱乐体验。

通过示例

  1. 游戏可以在所有游戏模式下完成。
  2. 游戏期间设置的选项在终止并重新启动游戏后保存。
  3. 游戏中的所有区域都可以按预期方式导航。
  4. 本地化文本可在支持的所有区域中正确显示。
  5. 用户可以按预期发布到排行榜。

失败示例

  1. 游戏在关卡结束时崩溃,或者用户被阻止在游戏的任何区域进行。
  2. 无法按预期导航标题的区域。
  3. 如果用户使用暂停菜单反转水平或垂直摄像头控制信息,摄像头控制信息不影响游戏内设置。
  4. 用户无法按预期发布到排行榜。
  5. 如果用户已完成其他模式,则无法完成特定的游戏模式。
  6. 游戏期间设置的选项在终止并重新启动游戏后重置为默认值。
  7. 由于帧速率问题,游戏无法播放。

003-16 保存游戏的兼容性

测试步骤

  1. 登录到 Xbox 配置文件并启动游戏,而无需连接到 Xbox。
  2. 玩游戏并保存进度和设置。
  3. 重新启动游戏,并验证是否可以加载并恢复步骤 2 中保存的进度。
  4. 连接到 Xbox 并安装基本游戏的内容更新。
  5. 验证更新后仍可加载并继续保存的进度。
  6. 重新启动游戏,启动新游戏,然后再次保存进度。
  7. 退出并卸载游戏。
  8. 在没有连接到 Xbox 网络的情况下重新安装并启动基础游戏。
  9. 验证以下事项之一:
  • 你可以加载并继续保存的进度 * 游戏显示一条消息,指示保存需要安装内容更新 * 游戏不显示步骤 6 中所做的保存
  1. 重新启动游戏并安装内容更新。
  2. 验证更新后仍可加载并继续保存的进度。

预期结果
游戏的内容更新版本必须能够成功加载使用游戏的非内容更新版本创建的保存。

通过示例

  1. 游戏的内容更新版本可以成功加载所有保存的信息。
  2. 启动基本版本加载更新的保存时,将通知用户丢失内容并给出无法加载保存的文件的原因,或在基本版本中看不到在内容更新版本中保存的信息。

失败示例

  1. 游戏的内容更新版本无法加载使用游戏的早期版本创建的游戏保存。
  2. 使用游戏的内容更新版本加载保存时,游戏的基本版本崩溃。

XR-022:官方命名标准 *

游戏必须采用目标设备平台上最新版术语列表中定义的命名标准:

022-01 官方命名标准

测试步骤

  1. 启动游戏。
  2. 访问游戏的所有区域。
  3. 导航所有菜单和子菜单。
  4. 更改所有可用的设置和选项。
  5. 如果游戏支持保存功能,请保存并加载所有可能的游戏类型。
  6. 观看所有电影场景。
  7. 注意所有显示的文本。

预期结果
所有文本均遵循最新的术语列表。

通过示例

失败示例

  1. 游戏使用来自竞争平台的专有术语或图像。
  2. 游戏使用未包含在术语列表中的术语来指代设备的组件或外围设备的组件。

XR-074:与 Xbox 和合作伙伴服务断开连接 *

游戏必须解决与 Xbox 网络和合作伙伴服务连接有关的错误。 游戏在出现故障后重试对 Xbox 服务的请求时,必须遵循 Xbox 网络设定的重试策略。 在服务不可用时,游戏必须相应管理与用户的信息传递。 例如,如果 Xbox 网络以外的某一合作伙伴服务不可用,游戏则不应指示存在与 Xbox 网络有关的问题。

074-01 WAN 与 Xbox 服务断开连接

测试步骤

  1. 登录到 Xbox 档案。
  2. 执行以下作时,断开 WAN 网络的连接。 如果使用以太网交换机/集线器,请断开上行电缆与网络设备的连接。 如果设备通过 Wifi 连接,请断开上行电缆与无线接入点连接的连接:
    • 创建新的保存点
    • 加载保存点
    • 到达自动保存点
    • 枚举已保存游戏的列表
    • 搜索并加入联机会话
    • 尝试创建联机会话
    • 查看排行榜 ((如果适用))
    • 脱机玩游戏

预期结果
在主机无法访问 Xbox 服务时,该游戏应该能够使用用户友好的错误消息做出响应。

通过示例

  1. 游戏显示一条错误消息,指示与 Xbox 服务的网络连接断开。
  2. 该游戏在不要求 Xbox 服务的本地游戏模式下玩游戏时,不显示一条错误消息。
  3. AppX 清单中的游戏 RequireXboxLive 会暂停,然后在连接断开时终止。

失败示例

  1. 用户无法完成非在线 Xbox 游戏会话。
  2. 游戏进入无法响应或不稳定状态。

074-02 直接断开连接

测试步骤

  1. 启动游戏并登录到 Xbox 配置文件。
  2. 在游戏中执行以下作时,请从设备拔下网线,或者关闭 WAP 或无线路由器的电源:
    • 创建一个新的保存点。
    • 加载一个保存点。
    • 到达一个自动保存点。
    • 枚举保存的游戏的列表。
    • 搜索并加入一个在线会话。
    • 尝试创建一个在线会话。
    • 查看一个排行榜(如果适用)。
    • 离线玩游戏。

预期结果
在设备失去与 Xbox 服务的连接时,该游戏应该能够使用用户友好的错误消息做出响应。

通过示例

  1. 当游戏处于在线游戏模式时显示一个用户友好的消息。
  2. 在离线游戏模式期间该游戏不会中断游戏过程。
  3. AppX 清单中的游戏 RequireXboxLive 会暂停,然后在连接断开时终止。

失败示例

  1. 在离线游戏模式期间将显示一条错误消息。
  2. 该游戏进入无法响应或不稳定状态。
  3. 在网络进入离线状态后,用户能够查看在线菜单或者查看缓冲的媒体。

074-07 动态连接断开

所需工具:

配置 Fiddler 经典以使用内容阻止加载项阻止合作伙伴服务

  • 在控制台上, 设置 Fiddler 以调试 Web 服务调用
  • 在电脑上, 设置 Fiddler 以调试 Web 服务调用
  • 安装 Fiddler 的内容阻止 加载项
  • 在 Fiddler 中,选择菜单 ContentBlock 和“Enabled”

提示

配置阻止列表的步骤:

  1. 运行 Fiddler 后,启动游戏并导航所有菜单,完成多人游戏会话,加载到每个游戏模式,并导航游戏的所有区域,包括但不限于:
    • 菜单
    • 排行榜
    • 服务器 (创建一个并加入其他人的)
    • 好友列表
    • 游戏内存储
    • 限时事件

这可确保游戏在正常玩游戏期间连接到所有主机。

  1. 在 Fiddler 中,确定哪些主机是非Microsoft服务:

    • 按主机对会话列表进行排序,并查找不包含以下任何内容的主机:
      • microsoft, msft, xboxlive, xboxservices, live, PlayFabApi, msn, bing
  2. 在 Fiddler 中,将非Microsoft主机添加到阻止列表:

    • 右键单击“非Microsoft主机”,然后选择“阻止此主机”
    • 对所有其他非Microsoft主机重复此作

不必多次阻止同一主机。

若要编辑阻止列表,请选择 ContentBlock 菜单和“编辑阻止的主机...”。

现在,所有非Microsoft主机都已添加到阻止列表,请继续运行测试用例。

测试步骤

  1. 登录到某一 Xbox 档案并且启动游戏。
  2. 完成多人游戏会话,加载到每个游戏模式并导航游戏的所有区域,包括但不限于:
    • 菜单
    • 排行榜
    • 服务器 (创建一个并加入其他人的)
    • 好友列表
    • 游戏内存储
    • 限时事件
  3. 验证游戏是否未显示指示 Xbox 网络问题的错误消息。

预期结果
游戏会正常处理与非Microsoft服务的断开连接。

通过示例

  1. 与合作伙伴托管服务的连接断开时,游戏不会挂起或崩溃。

失败示例

  1. 显示的消息表示Microsoft服务存在问题。
  2. 显示非描述性错误消息。
  3. 游戏崩溃、变得不稳定,或导致主机重新启动。

074-08 预先启动停机

所需工具:

  • 来自 GDK/XDK 的 xbstress.exe
  • 对于 Windows 10,为 Fiddler Classic

测试步骤

  1. 在主机上,使用 命令为非Microsoft流量创建具有 xbstress.exe 的断开网络通道:

xbstress set channel=0 network=broken addresses=[semicolon delimited list of addresses]

  1. 使用以下命令启动网络模拟:xbstress simulate network=channels
  2. 如果在 Windows 10 上进行测试,则使用 fiddler 模拟停机。
  3. 登录到 Xbox 档案。
  4. 启动游戏。
  5. 访问非 Microsoft 在线功能。

预期结果
游戏应提供用户友好的错误消息,指示存在与访问非 Microsoft 服务有关的问题,并且应允许有机会重试连接。

通过示例

  1. 在丢失与合作伙伴托管的服务的连接时游戏不会挂起或崩溃。

失败示例

  1. 显示的错误意味着存在与 Microsoft 服务有关的问题。
  2. 显示非描述性错误消息。
  3. 游戏崩溃、变得不稳定,或导致主机重新启动。

XR-132:服务访问限制 *

在调用 Xbox 网络服务时超出了基于游戏和用户的限制或者未遵循 Xbox 网络服务重试政策的游戏可能会受到速率限制,这可能会导致服务中断或弃用。 未能遵守指定的限制可能会阻止游戏发布,并且与已发布游戏相关的生产内问题可能导致 Xbox 网络服务在删除游戏前一直挂起。

132-01 服务访问限制

所需工具

  1. Fiddler
  2. Xbox 服务 Trace Analyzer,用于分析来自 Fiddler 的输出文件

测试步骤

  1. 在游戏正在运行的情况下,启动 Fiddler 跟踪并且继续在游戏的所有区域中导航,包括(如果支持)但不限于以下操作:
  • 创建一个游戏存档、重新启动设备并且加载该游戏存档。
  • 连续快速地更改丰富显示状态(如果可能)。
  • 解锁和查看成就。
  • 发布到所有排行榜并使用所有筛选器查看所有排行榜。
  • 查看游戏内好友列表(包括状态为“已阻止”的好友)并且在页面之间快速移动。
  • 匹配到所有在线模式中,包括找不到可用会话(如果可能)和生成语音流量。
  • 创建、保存和共享一个游戏剪辑。
  • 访问游戏内商店(如果适用)。
  1. 测试结束后,将 Fiddler 捕获保存到本地目录。
  2. 在 GDK 命令提示符下,运行 xbltraceAnalyzer -data filepath -outputdir filepath
  3. 打开步骤 3 中的输出目录,打开“index”文件, (出现提示) 时选择“允许阻止的内容”。

预期结果
游戏必须确保其对 Xbox 终结点的服务调用保持在指定的突发和维持限制以下,并且其 Xbox 服务跟踪分析器报告中没有任何红色结果。

Xbox 服务跟踪分析器工具生成一个 report.txt 文件,该文件指示发现违规的规则 () ,以及这些冲突的详细信息。

提示

解释 Xbox 服务跟踪分析器报表

  • 红色 - 表示超出细化速率限制生效 10 倍的点的问题。 这是认证中的一个严重问题。
  • 黄色 - 指示服务受到速率限制,因为游戏超出了允许对服务调用的频率,但未超过认证中严重问题的阈值。 这些是游戏应该解决的一些问题。
  • 绿色 - 表示游戏调用 Xbox 服务的频率低于速率限制生效的频率。

通过示例

  1. 在调用 Xbox 服务时该游戏未超出维持限制。
  2. Xbox 服务跟踪分析器报表仅包含黄色和/或绿色结果。

失败示例

  1. 该游戏超出维持限制(速率限制在其生效的限制)达 10 倍。 例如,如果精细速率限制生效时的维持限制设置为 300 秒内 300 个调用,则达到或高于 300 秒内 3000 个调用的游戏将失败。
  2. Xbox 服务跟踪分析器报表包含一个或多个红色结果。

用户档案

此类别中的要求适用于游戏与 Xbox 用户模型、配置文件和保存用户数据之间的交互方式。

XR-045:Xbox Live 和帐户权限*

Xbox 网络向用户提供针对其自身和其孩子的期望级别的隐私和在线安全。 为了兑现该承诺,游戏必须检查 Xbox 网络服务的权限,以便在 Xbox 网络服务上或某一游戏体验中完成某些操作。

活动 ID 特权名称 注意
在一个多人游戏会话中玩游戏 254 XPRIVILEGE_MULTIPLAYER_SESSIONS 允许一个用户在下列等情况下与真实用户(而不是机器人)一起加入在线多人游戏会话:同一会话中的同步玩家对玩家游戏、异步的回合制游戏、基于团队的游戏、用户启动的匹配、发送或接受邀请、正在进行中的加入会话。 请注意,此权限与在同一设备上运行的本地多人游戏无关。
跨网络游戏会话玩游戏 185 AuthPrivileges.CrossNetworkPlay 允许用户在以下情况中与未登录到 Xbox 服务的其他真实玩家一同参与游戏会话:同一会话中的同步玩家对玩家游戏、异步的回合制游戏、基于团队的游戏、用户启动的匹配、发送或接受邀请、加入正在进行的会话。
与任何人通信 252 XPRIVILEGE_COMMUNICATIONS 允许用户通过语音或文本与任何其他 Xbox 网络用户通信。
共享的游戏会话 189 XPRIVILEGE_SESSIONS 允许用户在共享环境中或在游戏是混合免费玩游戏和付费多人游戏的情况下参与连接的单玩家体验,并使用此特权来封闭这些体验 Xbox 主机。 单玩家体验不得具有权限 252 或 254(分别是通信和多人游戏)所涵盖的任何功能。 对此权限的使用是一项要求平台许可的游戏功能。
用户生成的内容 (UGC) 247 XPRIVILEGE_USER_CREATED_CONTENT 允许用户在线查看其他用户的 UGC、下载其他用户的 UGC 或者在线共享其自己的 UGC。 这并不会限制对之前下载的 UGC 的使用。
共享到某一社交网络 220 XPRIVILEGE_SOCIAL_NETWORK_SHARING 仅限 Xbox 主机:允许用户在 Xbox 网络外共享信息,包括游戏进度、Kinect 生成的内容以及游戏剪辑等。

可以配置免费试玩游戏、演示版或 beta 版,以允许非 Xbox Game Pass 订阅者的玩家进行多人游戏(ID 254)。 此操作通过服务端配置完成,可以通过联系 Microsoft 代表启动。 这些游戏必须继续检查多人游戏特权,以确保遵循家长控制和玩家的选择。

045-01 尊重用户权限

测试步骤

  1. 登录到某一 Xbox 档案并且启动该游戏。
  2. 对于在 XR 中确定的每个权限,确定游戏是否支持关联的行为。
  3. 对于在步骤 [2] 中确定的每个适用权限的每个可能设置,执行以下操作:
  • 退出游戏并更改权限的用户设置。
  • 重启设备。
  • 登录到相同的档案并且启动该游戏。
  • 访问该游戏的所有相关区域,使用与权限相关的所有游戏功能,并且确认游戏尊重用户的当前权限设置。

预期结果
游戏必须遵守用户的权限设置。

通过示例

  1. 该游戏遵守用户的权限设置。
  2. 该游戏将部分允许的权限设置视为该权限被禁用/拒绝(例如,在用户生成的内容 (UGC) 权限设置为“仅好友”时,该游戏的行为就像该权限设置为“阻止”一样)。
  3. 对于使用 Xbox One XDK 的游戏,游戏将调用系统 UI 来警告用户存在的任何权限冲突(游戏必须使用 Store::Product::CheckPrivilegeAsync API)。
  4. 对于使用 XSAPI 的游戏,游戏将显示一条提示性消息,告知用户他们不能参与。

失败示例

  1. 游戏保留用户的权限设置,并且不会在其已更改后反映用户的实际权限。
  2. 该游戏将部分允许的权限设置视为该权限设置为限制性最低的设置(例如,在用户生成的内容 (UGC) 权限设置为“仅好友”时,该游戏的行为就像该权限设置为“允许”一样)。
  3. 对于使用 Xbox One XDK 的游戏,游戏将使用游戏中消息以便警告用户存在任何权限冲突并且不显示系统 UI。
  4. 对于使用 XSAPI 的游戏,游戏将不显示提示性消息来告知用户知道其不能参与。

XR-046:显示名称和玩家图片 *

在 Xbox 主机上,游戏必须使用玩家代号作为主要显示名称。

根据设计选择,游戏可以在玩家现代玩家代号或其经典玩家代号之间进行选择。 GDK 中提供新式玩家代号,经典玩家代号在 ERA 和 GDK 中均可用。

在非主机平台上,虽然不是必需的,但我们建议你在游戏体验内的适当位置使用 Xbox 网络玩家的玩家代号。

玩家代号必须基于使用的玩家代号类型在游戏中正确显示:

现代玩家代号
显示唯一现代玩家代号的全部 16 个字符,包括现代玩家代号的最多 12 个字符,然后是 # 和后缀号(如果存在)。 例如:Major Nelson(没有后缀)或 Major Nelson #881。 如果使用的是现代玩家代号,则必须支持所有适用于现代玩家代号的 Unicode 字符范围。 有关更多新式玩家代号信息和最佳做法,请访问 GDK 开发文档文章“新式玩家代号概述”。

经典玩家代号
正确显示经典玩家代号的全部 15 个字符。 经典玩家代号只能包含 ASCII 字符 a-z、A-Z、0-9、逗号 (,) 和空格(ASCII 字符 0x20)。 例如:Major Nelson

在 GDK 中,使用 XUserGetGamertag API 返回这些项。 在 ERA 中,使用 GetUserProfileAsync API 获取玩家代号。

046-01 显示名称和玩家图片

所需工具

  • GDK 中的 XblTestAccountGui.exe

准备
为以下每个名称创建四个测试帐户,并使用 XblTestAccountGui.exe 将每个测试帐户的玩家代号更改为以下内容:

  • สฐ众нь컴퓨
  • आथाώঙぁヺ
  • øÜêþЯЂў
  • gttest1

测试步骤

  1. 找到并查看游戏中显示玩家代号的区域。
  2. 查看用户玩家代号在步骤 [1] 中标识的所有区域中的显示方式。
  3. 如果游戏显示用户的图片,请确认 Microsoft 帐户图片或每个帐户的玩家图片均显示正确。

预期结果
必须正确显示用户的玩家代号。

通过示例

  1. 使用现代玩家代号时,玩家代号正确显示 Unicode 字符(包括自动生成的后缀)。
  2. 使用经典玩家代号时,会正确显示玩家代号。

失败示例

  1. 玩家代号根本不会呈现,因为 Unicode 字符显示为空白字符。
  2. 使用经典玩家代号时,无法正确显示玩家代号。

XR-048:档案设置用法 *

Xbox 网络是 Xbox 用户配置文件信息的真实来源。 为了支持这一点,游戏不得存储来自 Xbox 网络的用户信息,例如配置文件数据、首选项或玩家代号,而不是用于支持网络断开连接方案的本地存储缓存。 必须在与服务建立下一个可用连接时更新任何脱机缓存。

048-01 档案设置用法

配置

  • 2 个 Xbox 设备

测试步骤

  1. 选择某一档案并创建存档。
  2. 更改用户档案数据,包括更新玩家代号或帐户名称。
  3. 启动游戏,并加载步骤 [2] 中创建的存档。
  4. 确认游戏过程中可见的用户档案数据已发生更改,并且未存储在存档游戏中。
  5. 确认对玩家代号的所有引用(由游戏自动创建)已更新。 这包括任何对服务器托管功能的引用以及游戏内的引用。
  6. 在另一台设备上启动游戏,并验证更新的玩家代号是否正确显示。

预期结果
不得存储用户档案数据。 例如,如果游戏使用游戏内 ((如欢迎消息) )或非 Xbox 服务器 ((例如将上传的数据命名为) ),则如果用户更改其玩家代号,则该玩家代号不得保留。 如果用户手动输入了玩家代号,则不适用。

通过示例

  1. 用户档案数据和首选项设置更改后,所有显示内容中都进行了相应的更新。

失败示例

  1. 针对本地存储的存档数据(例如重播、存档、选项、地图和团队数据),游戏在游戏内或 Xbox 主页上均不显示用户更新后的玩家代号或 Microsoft 帐户名称。
  2. 针对游戏剪辑、重播和排行榜等永久性帖子或消息、公告帖、用户挑战、服装、主题、涂装、锦标赛和联赛等其他自定义帖子,游戏未更新用户在其中的玩家代号。 注意:这适用于新创建的帖子和之前创建的帖子。
  3. 游戏存储用户保存数据的玩家代号,例如重播、保存、选项、地图和团队,导致如果用户更改其玩家代号或帐户名,则保存数据变得不可用。

XR-052:用户状态和游戏保存位置、漫游和依赖项*

游戏必须将进度、存档状态、首选项、成就以及其他奖励与记录了此进度、选择了这些首选项或者赢得了这些奖励的用户相关联。 游戏通过正确处理用户更改通知完成此操作。 游戏必须避免保存不再登录的用户的状态。 游戏存档数据对共享内容或本地存储不得具有任何依赖关系。

对于跨平台、设备和/或主机世代使用相同 TitleID 的游戏,用户登录 Xbox 网络时游戏保存进度必须漫游,如下所示:

  • 在同一平台内(Xbox 主机)。
  • 在同一平台的设备内(例如 Xbox One 和 Xbox One S)。
  • 跨设备平台中的各世代(例如 Xbox One 和 Xbox Series X|S)。
  • 跨 Windows 平台中的电脑(例如,在两个不同的电脑之间)。
  • 在各个 Windows 和 Xbox 主机平台上(例如 Windows 和 Xbox Series X|S),不需要进行游戏保存漫游,但建议进行漫游以支持玩家的体验。
  • 对于非 Microsoft 平台(例如 iOS、Android、Switch、PlayStation®),不需要进行游戏保存漫游,但建议进行漫游以支持玩家的体验。

052-05 正确的用户关联

测试步骤

  1. 登录到某一档案并且启动该游戏。
  2. 玩一段时间游戏并保存游戏进度。
  3. 终止游戏。
  4. 从步骤 1 注销该档案并且登录到一个新档案。
  5. 启动游戏并且尝试访问已保存的进度。

预期结果
为原始用户保存的进度不能对新档案可见/可访问。

通过示例

  1. 步骤 5 中仅显示与步骤 4 中的新档案关联的已保存进度。

失败示例

  1. 游戏允许新档案加载不同档案的保存进度。

052-06 云存储:漫游

所需设备:

  • Xbox One
  • Xbox One S
  • Xbox One X
  • Xbox Series X 开发工具包(使用 Xbox Series X|S 零售主机模式)
  • 2 台电脑

测试步骤

  1. 登录到设备 A 上的某一 Xbox 档案并启动游戏。
  2. 开始玩游戏并且生成保存进度(如果可能,通过更改或添加新的设置配置创建一个设置存档)。
  3. 退出游戏。
  4. 使用步骤 1 中使用的相同档案从步骤 1 中使用的相同平台/世代(例如,Xbox Series S 和 Xbox Series X、Xbox One 和 Xbox One S 以及第二台电脑)登录到另一个设备。
    • 启动与步骤 1 相同的游戏,并且确认所有已保存游戏以及任何设置和/或配置文件可以正确访问和加载,并且它们没有任何针对共享内容的依赖关系。
  5. 对于跨世代在同一平台(例如 Xbox One 和 Xbox Series X|S)上使用同一 TitleID 的游戏,重复步骤 4。
  6. 对于在 Windows 平台上使用相同 TitleID 的电脑游戏,请重复步骤 4。
  7. 如果支持,对于跨平台(例如 Windows 和 Xbox Series X|S)使用相同 TitleID 的游戏:
    • 在其他支持的平台上启动与步骤 1 相同的游戏,并且确认所有已保存游戏以及任何设置和/或配置文件可以正确访问和加载,并且它们没有任何针对共享内容的依赖关系。

预期结果
游戏存档进度必须与某一用户档案相关联,并且在用户登录到 Xbox 服务时必须在设备/平台之间漫游。 对于跨代在同一平台上使用相同 TitleID 的游戏,游戏保存数据必须在这些平台之间漫游。 对于在 Windows 平台上使用相同 TitleID 的电脑游戏,游戏存档数据必须在不同的电脑之间漫游。 游戏存档数据对共享内容不得具有任何依赖关系。

通过示例

  1. 可以在同一主机平台/代上的第二台主机(例如,Xbox Series S 和 Xbox Series X 或 Xbox One 和 Xbox One S)上成功下载游戏保存和关联的设置文件。
  2. 可以在 Windows 平台的第二台电脑上成功下载游戏保存和关联的设置文件。
  3. 对于跨代在同一平台(例如 Xbox One 和 Xbox Series X|S)上共享同一 TitleID 的主机游戏,保存和关联的设置文件可以在这些设备之间漫游。
  4. 游戏存档数据对共享内容不具有任何依赖关系。

失败示例

  1. 不能在同一平台/代的第二台主机(例如,Xbox Series S 和 Xbox Series X 或 Xbox One 和 Xbox One S)上成功下载游戏保存和关联的设置文件。
  2. 不能在 Windows 平台的第二台电脑上成功下载游戏保存和关联的设置文件。
  3. 对于跨代在同一平台(例如 Xbox One 和 Xbox Series X|S)上共享同一 TitleID 的主机游戏,保存和关联的设置文件不能在这些设备之间漫游。
  4. 云中的存档在游戏首次启动时未被游戏识别,并且随后在未通过用户交互的情况下在第二台设备上被覆盖。
  5. 游戏存档数据对共享内容具有依赖关系。

在线安全和隐私

此类别中的要求与 Xbox 用户的在线安全和隐私相关。

XR-013:将 Microsoft 帐户与发布者帐户关联*

在 Xbox 上,使用合作伙伴托管服务的游戏或需要凭据的帐户必须支持所有 Xbox 用户,并提议将该帐户与用户的Microsoft帐户相关联。 在 Xbox 主机外部,游戏可以选择允许帐户关联以便支持其游戏体验。

如果在游戏中启用了发布者帐户登录,则以下规则将适用:

发布者帐户登录

  • 容纳所有用户
    如果游戏功能需要发布者帐户登录, (单人游戏、多人游戏、跨网络游戏、排行榜) ,则登录和注册必须支持提供游戏游戏的所有用户类型、年龄和区域,以及本地/地区法律允许这些功能,无论年龄分级如何。

    • 游戏发布者可以选择不支持其发布者帐户的特定区域、年龄等。 如果某个区域、年龄组或其他玩家组无法创建或登录帐户,则游戏不能要求这些用户使用账户登录来使用游戏功能。
    • 如果基于游戏的注册体验(例如年龄或地区)不支持特定帐户设置,则游戏必须通过提供消息来妥善处理,以便在支持该用户的外部站点或移动优化体验上注册。
  • 获取同意并提供帐户信息使用条款
    游戏必须请求使用并获取许可才能使用玩家Microsoft帐户中的信息来自动填充注册/帐户创建体验。 必须在游戏 (中向用户提供所有适用的使用条款、隐私和其他政策,或者在发布者帐户创建过程中) 带有指向此类信息链接的通知。

  • 披露要求
    如果游戏或其他功能需要发布者帐户,则必须在游戏的产品说明和任何物理包装(包括年龄等任何限制)中披露该帐户。 在游戏中,游戏必须定义发布者帐户的原因和用法。 如果发布者帐户限制或限制子帐户的体验,建议将此文本添加到商店详细信息页,以增强买家意识:

Xbox 子帐户可能无法访问游戏的某些功能,包括在线多人游戏、通信和其他在线功能。 在 Xbox 中,儿童是指 13 岁以下的玩家,除非当地法律另有规定。

发布者帐户/Microsoft 帐户链接

  • 使用 Xbox 安全令牌服务 (XSTS) 进行身份验证
    将用户的发布者帐户链接到用户的Microsoft帐户时,必须使用 XSTS 令牌提供标识信息进行身份验证。 有关 XSTS 令牌身份验证的详细信息,请参阅游戏服务的 Xbox 服务身份验证要求授权

  • 获取同意并提供选择
    必须将用户的发布者帐户链接到用户的Microsoft帐户,通知用户。 如果链接了用户的帐户,则必须为用户提供选择退出的选项。 用户必须能够取消帐户的关联。

  • 容纳所有用户
    如果游戏功能需要发布者帐户登录, (单人玩家、多人游戏、跨网络游戏、排行榜) ,则登录和注册必须支持提供游戏游戏的所有用户类型、年龄和区域,以及本地/地区法律允许这些功能,无论年龄分级如何。

注意

发布者可以实施其他欺诈防护机制,例如,当链接的帐户首次从新设备登录时,双重身份验证中断。 此行为不违反此 XR。

013-01 将 Microsoft 帐户与发布者帐户关联

测试步骤

  1. 验证游戏是否支持或需要非 Xbox 帐户或登录名以获取服务或功能。
  2. 通过使用新创建的 Xbox 档案,使用发布者提供的服务帐户或登录名以在初始设置过程中输入非 Xbox 帐户凭据。
  3. 在完成帐户链接过程之前,验证游戏允许用户查看应用中的使用条款或通知用户如何查看使用条款。
  4. 验证是否未提示用户在任何位置重新输入其非 Xbox 帐户凭据。
  5. 在游戏正在运行时注销后重新登录。
  6. 重复步骤 [4]。
  7. 终止后使用相同的档案重新激活游戏。
  8. 重复步骤 [4]。
  9. 终止游戏。
  10. 通过删除可能已由该游戏创建的任何保存的文件,确认游戏未在本地存储非 Xbox 帐户凭据。
  11. 重新激活该游戏,然后重复步骤 [4]。
  12. 在不同的主机上,使用相同的档案启动该游戏,然后重复步骤 [4]。
  13. 验证用户是否可以取消其 Xbox 配置文件与非 Xbox 帐户的链接。
  14. 对属于游戏年龄分级的 Xbox 子女帐户(年龄低于 13 岁)重复步骤 [1]-[13]。

预期结果
该游戏必须允许为处于游戏年龄分级范围内的所有用户创建发布者帐户。 在完成帐户链接过程之前,用户只需提供一次凭据,并允许用户查看使用条款,或通知用户如何查看使用条款。 必须向用户提供一个机制,以便取消其 Xbox 档案与其非 Xbox 帐户的关联。

通过示例

  1. 游戏从不要求用户在最初输入非 Xbox 帐户或登录凭据后随时重新输入其非 Xbox 帐户或登录凭据,并且游戏会在链接过程中和关联帐户期间提供使用条款通知。
  2. 该游戏允许为处于游戏年龄分级范围内的所有用户创建发布者帐户。

失败示例

  1. 游戏要求用户在每次启动游戏时输入其非 Xbox 帐户或登录凭据。
  2. 游戏要求用户在从其他主机运行游戏时输入其非 Xbox 帐户或登录凭据。
  3. 该游戏未提供用于在帐户关联过程中查看使用条款的方法。
  4. 该游戏未提供用于从其非 Xbox 帐户取消关联其 Xbox 档案的方法。
  5. 该游戏不允许为处于游戏年龄分级范围内的所有用户创建发布者帐户。

XR-015:管理玩家通信 *

当用户的隐私设置不允许时,游戏不得允许通过 Xbox 网络进行通信。

游戏通过从 Xbox 网络服务检索数据来满足此 XR。 如果游戏使用自己的服务,则它必须在会话开始时或者在某一新用户加入该会话时检查该用户的隐私权限。 对于在会话外用户启动的情形,游戏通过在显示用户的数据之前和在执行操作之前通过检查隐私来满足此要求。 以下权限可用于游戏检查:

权限名称 说明
CommunicateUsingText 检查用户是否可以向目标用户发送文本通信 (例如文本聊天、消息等 ) 或邀请。
CommunicateUsingVoice 检查用户是否可以使用语音与目标用户进行通信。

在游戏会话期间,支持 Xbox 网络和非 Xbox 网络网络玩家之间通信的游戏必须提供可在会话期间使任何非 Xbox 网络玩家静音的功能。

注意

有关如何检查和解决游戏中的隐私和权限问题的详细信息,请参阅隐私和权限概述

015-01 用户通信**

配置:

  • 创建一组“其他人可以使用语音、文本或邀请进行通信”设为“所有人”、“好友”和“阻止”的档案。
  • 对于支持 Xbox 外部通信的游戏,请创建一组“你可以在 Xbox 之外进行语音和文本通信”设为“允许”、“游戏内好友”和“阻止”的档案。
  • 注意:“允许”和“游戏内好友”选项之间的区别在于,“允许”表示可与网络内的每个人进行交谈(包括在随机匹配中遇见的玩家)。 “游戏内好友”是你通过将其添加到游戏内好友列表来明确选择与其一起玩游戏的人员。

测试步骤

  1. 在设备 1 上,登录到某一档案,已根据“配置”使用一组特定的权限对该配置文件进行了配置。
  2. 在设备 2 上,登录到一个没有通信限制的配置文件。
  3. 在这两台设备上,启动游戏并且尝试在支持的每个位置中使用文本、语音(通过 Kinect 以及通过耳机)和视频进行通信。
  4. 对“配置”步骤中的所有档案重复执行步骤 1-3。

预期结果
游戏必须检查 Xbox 服务中用户对隐私和在线安全相关操作的权限,并且当用户的隐私和在线安全设置不允许时,不得通过 Xbox 传输用户数据或进行通信。

通过示例

  1. 在特定的通信方法配置为阻止时,游戏禁止用户在 Xbox 中通过语音和文本进行通信。
  2. 在特定的通信方法配置为阻止时,游戏禁止用户在 Xbox 外部通过语音和文本进行通信。
  3. 当已被阻止时,游戏禁止用户在 Xbox 中接收邀请。

失败示例

  1. 在特定的通信方法配置为阻止时,用户能够在 Xbox 中通过语音和文本进行通信。
  2. 在特定的通信方法配置为阻止时,用户能够在 Xbox 外部通过语音和文本进行通信。
  3. 当已被阻止时,游戏允许用户在 Xbox 中接收邀请。

015-02 静音支持

测试步骤

  1. 让用户 A 将用户 B 静音。
  2. 同时让这两位用户加入某个 Xbox 多人游戏会话。
  3. 尝试从用户 B 向用户 A 发送语音通信。
  4. 确保用户 A 无法接收来自用户 B 的任何语音通信。

预期结果
用户 A 不能收到来自用户 B 的通信。

通过示例

  1. 启用静音功能的用户无法接收已被静音的用户的语音通信。

失败示例

  1. 启用静音功能的用户可以收到已被静音的用户的语音通信。

015-03 被屏蔽的用户

测试步骤

  1. 让用户 A 屏蔽用户 B。
  2. 同时让这两位用户加入某个 Xbox 多人游戏会话。
  3. 尝试从用户 B 向用户 A 发送语音或书面通信。
  4. 找到游戏提供的任何邀请机制(任何不使用 Xbox Shell 的邀请机制)。
  5. 使用在步骤 [4] 中找到的每种机制,尝试从用户 B 向用户 A 发送游戏邀请。
  6. 确保用户 A 无法接收来自用户 B 的任何语音通信或邀请。

预期结果
用户 A 无法听到或看到来自用户 B 的通信。用户 A 无法收到用户 B 的游戏邀请。

通过示例

  1. 启用屏蔽功能的用户无法看到或听到来自被屏蔽用户的通信。
  2. 启用屏蔽功能的用户未收到被屏蔽用户的游戏邀请。

失败示例

  1. 启用屏蔽功能的用户可以看到或听到来自被屏蔽用户的通信。
  2. 启用屏蔽功能的用户收到了来自被屏蔽用户的游戏邀请。

XR-018:用户生成的内容 *

用户生成的内容 (UGC) 是指玩家生成的任何游戏内数字内容,并且使处于联机状态的一个或多个其他人可见或可访问。

如果产品包含 UGC,则必须:

  • 提供产品内方法,让用户向开发人员报告不适当或有害的 UGC,以便在违反内容准则) 和/或实施主动检测不当或有害的 UGC ((例如文本筛选) )时进行审阅和删除/禁用 (。
  • 发布用户生成的内容指南 (例如使用条款或行为准则) ,供用户在产品内或游戏网站上使用。
  • 如果Microsoft意识到 Xbox 网络上尚未通过标准作机制或流程解决的非法材料,请准备好在Microsoft的要求下删除/禁用高风险非法内容。
  • 尊重玩家 UGC 设置,并妥善处理用户因权限受限而无法访问游戏内 UGC 的情况。

此外,如果产品与第三方游戏模块平台集成,则必须:

  • 与平台的报告/投诉 API 集成 ((如果可用)) ,如果与第三方签订合同协议,则对内容进行审核。
  • 当内容不是来自开发人员时,向用户显示免责声明、对话框或视觉指示器。

018-01 报告不适当内容和 UGC 文本字符串验证

测试步骤

  1. 确定可在非好友之间输入文本,然后供另一台设备上的用户查看的标题的任何区域。

  2. 验证游戏提供产品内方式,以向开发人员报告其他用户的不适当或有害的 UGC。

  3. 如果没有用于报告不适当内容的方法,则在每个区域中,输入已发布的禁用词列表中的字符串或者子字符串等。

    • 直接输入禁用词(例如“BannedWord”)。
    • 输入一个禁用词,并且用空格将其与另一个非禁用词分隔开来(例如“Good BannedWord”)。
  4. 如果该游戏允许在离线状态下创建 UGC(例如角色名称),则将设备与网络断开、输入禁用词组合,然后重新连接到网络。

  5. 确认不适当的字符串对于其他设备上的任何其他用户而言不可见。

  6. 使用匹配区域设置中的禁止字词,在游戏支持的每种语言中重复步骤 3-5。

预期结果
游戏必须为用户提供产品内的方式,以便用户向开发人员报告不适当或有害的 UGC,并/或实现主动检测不适当或有害的 UGC (方法,例如,使用 StringService API) 的文本筛选。 必须阻止或模糊处理 Xbox 服务上非本地玩家的不适当或有害内容。

Xbox 玩家代号不受 UGC 要求的限制,并且不应由于 UGC 特权受限而受文本筛选、游戏管理的报表选项或模糊处理的约束。

用户可以在产品内或游戏网站上获取 UGC 指南,例如使用条款或行为准则。

游戏不得阻止具有受限 UGC 权限的用户的整个游戏模式或体验。

通过示例

  1. Xbox 玩家代号不受筛选、模糊处理或受游戏内报告的约束。
  2. 跨网络用户名、发布者管理的用户名、自定义字符名称或部族/小队/公会名称不会进行模糊处理。
  3. 游戏提供了一种产品内方式,供用户向开发人员报告不适当或有害的 UGC。
  4. 游戏可防止发布不适当或有害的 UGC,并通知用户发布失败的原因。
  5. 标题将不适当或有害的文本替换为字词或字符,例如 内容阻止$!*#&
  6. 用户输入的文本在游戏中实时共享,例如大厅或游戏内文本覆盖,或者仅在好友之间被筛选。
  7. 不适当或有害的文本字符串对本地主机上的用户可见,但不会传输到本地主机以外的其他非好友。
  8. 用户可以在产品内或游戏网站上获取 UGC 指南,例如使用条款或行为准则。
  9. 游戏不会阻止具有受限 UGC 权限的用户的整个游戏模式或体验。

失败示例

  1. Xbox 玩家代号经过筛选或模糊处理。
  2. 游戏不提供用户向开发人员报告不适当或有害 UGC 的方法,也不允许用户在其他设备上向非好友显示不适当或有害的 UGC。
  3. 该游戏允许用户通过创建处于脱机状态的 UGC 并随后在线共享它来规避不适当或有害的 UGC 筛选。
  4. UGC (准则(如使用条款或行为准则) )不适用于产品内或游戏网站上的用户。
  5. 游戏会阻止具有受限 UGC 权限的用户的整个游戏模式或体验。

成就和奖励

以下要求适用于在 Xbox Live 上提供成就和奖励的游戏。

XR-055:成就和玩家分数 *

游戏在发布时必须提供所需的成就数(最小和最大)及其关联的玩家分数。 允许游戏在发布后的任何时间添加成就或玩家分数(无论有无相应的新内容),但它们不能超过基于游戏或基于日历的限制。

单个成就不能超过 200 点玩家分数,游戏中的所有成就必须是可以达成的。

解锁基础游戏或内容更新中的成就必须代表对游戏内容的全部探索或参与。

项目 发布 半年新增内容 生存期限制
最小成就数 10 0 10
最大成就数 100 100 500
玩家分数 1000 1000 5000

注意

“半年”指一月到六月或七月到十二月。 基本游戏成就和玩家分数不计入半年限制。

055-01 成就

测试步骤

  1. 查看游戏支持的玩家分数和成就总数。
  2. 从头到尾玩一遍游戏并尝试获得尽可能多的成就。
  3. 从连接待机状态恢复后重复步骤 2。
  4. 在与 Xbox 服务断开连接的情况下重复步骤 2。

预期结果
所有成就均按照各自的条件解锁,基础游戏发布版本的玩家分数最多可为 1000 分,分布在 10-100 个成就中。 所有成就都代表对游戏内容的深入探索或参与。

通过示例

  1. 所有成就均可获得。
  2. 成就会按照各自的条件解锁。
  3. 所有成就都代表对游戏内容的深入探索或参与。
  4. 游戏发布版本拥有 1000 点玩家分数,分布在 10-100 个成就中。

失败示例

  1. 满足条件时,成就未解锁。
  2. 在未满足条件之前,成就便已解锁。
  3. 成就并不表示对游戏内容的彻底探索或参与。
  4. 所有成就都可以在启动游戏后的几分钟内解锁。
  5. 除非作为核心游戏循环的一部分需要,否则可以在没有任何(或最小)用户输入的情况下解锁成就。
  6. 游戏发布版本没有 1000 点玩家分数。
  7. 游戏的发布版本不满足 10-100 个成就数要求。
  8. 从连接待机状态恢复后,成就不能解锁。
  9. 单个成就超过了 200 点玩家分数。
  10. 重新连接到 Xbox 服务后,成就没有解除锁定。

XR-057: 解锁成就 *

用户应获得基础游戏定义的所有成就,而无需购买额外的游戏内的内容。 游戏不能使用户仅通过购买内容便可获得成就。 如果游戏具有基于真实货币购买进行解锁的成就,此成就应能通过游戏内的活动或通过游戏内的活动获得的游戏内的货币来解锁。

057-01 达成基础成就无需购买其他内容

测试步骤

  1. 查看基础游戏中的成就说明。
  2. 确认无需购买额外的内容即可达成这些成就。
  3. 获得所有成就。

预期结果
无需购买额外的游戏中内容即可获得所有成就。

通过示例

  1. 无需购买额外的游戏中内容即可获得所有成就。
  2. 无需任何额外的游戏中内容即可达成所有成就。

失败示例

  1. 要求用户购买额外的游戏中内容才能解锁基础游戏定义的成就。

多人游戏会话

此类别中的要求适用于在 Xbox 上提供多人游戏会话的游戏。 Xbox 提供一致且简单方法来查找多人游戏会话并优化用来查找这些会话的参数。

XR-064:可加入的游戏会话和在线游戏 *

在 Xbox 主机上,提供可加入的游戏会话的游戏必须通过 Xbox shell 界面实现可加入性。

使用 Xbox 登录从电脑设备通过 Xbox 主机提供跨平台多人游戏的游戏还必须通过 Game Bar 体验启用加入。

064-01 从游戏外部加入游戏会话

配置:

  • 2 个 Xbox 档案
  • 2 台设备
  • 设备 1 档案 A – 具有档案 B 的好友
  • 设备 2 档案 B – 具有档案 A 的好友

测试步骤

  1. 使用档案 A,创建一个可加入的游戏会话。
  2. 使用未在该游戏上运行的档案 B 通过 Game Bar 访问好友列表,并且确认档案 A 作为可加入列出。
  • 某些游戏可能仅支持专用多人游戏会话,因此不显示为配置文件 B 可加入,在这种情况下,请跳到步骤 5。
  1. 档案 B 加入档案 A 的游戏。
  2. 确认这两个档案一起放置于游戏体验中。
  3. 重复步骤 1-4,但这次不是通过游戏栏加入档案 B,而是让档案 A 通过游戏栏向档案 B 发送游戏邀请,并确保档案 B 可以接收、接受和加入档案 A。

预期结果
用户 B 必须能够加入用户 A 的游戏并且一起进入游戏体验之中。 对于仅支持私人多人游戏会话、因此对档案 B 不显示为可加入的游戏,允许加入档案 A 的唯一机制是邀请。对于只支持通过匹配(例如排名匹配)加入会话的多人游戏会话,可以不支持通过 Game Bar 加入。 通过 Xbox 主机提供跨平台多人游戏服务的游戏必须通过 Game Bar 体验实现加入。

通过示例

  1. 这两个档案一起放置于游戏体验中。
  2. 用户 B 能够加入用户 A 的游戏并且一起进入游戏体验之中。
  3. 用户 A 在好友列表中不显示为可通过 Game Bar 加入,因为游戏仅支持私人多人游戏会话,但用户 A 可以通过 Game Bar 向用户 B 发送游戏邀请。
  4. 用户 A 在参与仅支持通过匹配(例如排名匹配)加入的会话时,不显示为可加入并且无法通过 Game Bar 发送游戏邀请。

失败示例

  1. 用户 B 无法成功加入用户 A 的游戏并且未处于游戏体验之中。
  2. 用户 A 不显示为可通过 Game Bar 加入,因为游戏仅支持私人多人游戏会话,用户 A 不可以通过 Game Bar 向用户 B 发送游戏邀请。

064-02 从相同游戏加入游戏会话

配置

  • 2 个 Xbox 档案
  • 2 台设备
  • 设备 1 档案 A – 具有档案 B 的好友
  • 设备 2 档案 B – 具有档案 A 的好友

测试步骤

  1. 使用档案 A,启动游戏并在该游戏内创建一个可加入游戏会话。
  2. 使用档案 B,启动相同的游戏,然后在该游戏内进入一些某些体验。
  3. 使用档案 B,通过 Game Bar 加入档案 A 的游戏。
  • 一些游戏可能只支持私人多人游戏会话,因此对于档案 B 不会显示为可加入,在这种情况下请跳转到步骤 5。
  1. 确认这两个档案一起放置于游戏体验中。
  2. 重复步骤 1-4,但这次不是通过游戏栏加入档案 B,而是让档案 A 通过游戏栏向档案 B 发送游戏邀请,并确保档案 B 可以接收、接受和加入档案 A。

预期结果
用户 B 必须能够加入用户 A 的游戏并且一起进入游戏体验之中。 对于仅支持私人多人游戏会话、因此对档案 B 不显示为可加入的游戏,允许加入档案 A 的唯一机制是邀请。对于只支持通过匹配(例如排名匹配)加入会话的多人游戏会话,可以不支持通过 Game Bar 加入。 通过 Xbox 主机提供跨平台多人游戏服务的游戏必须通过 Game Bar 体验实现加入。

通过示例

  1. 这两个档案一起放置于游戏体验中。
  2. 用户 B 能够加入用户 A 的游戏并且一起进入游戏体验之中。
  3. 用户 A 不显示为可通过 Game Bar 加入,因为游戏仅支持私人多人游戏会话,但用户 A 可以通过 Game Bar 向用户 B 发送游戏邀请。
  4. 用户 A 在参与仅支持通过匹配(例如排名匹配)加入的会话时,不显示为可加入并且无法通过 Game Bar 发送游戏邀请。

失败示例

  1. 用户 B 无法成功加入用户 A 的游戏并且未处于游戏体验之中。
  2. 用户 A 不显示为可通过 Game Bar 加入,因为游戏仅支持私人多人游戏会话,用户 A 不可以通过 Game Bar 向用户 B 发送游戏邀请。

064-05 不可加入的游戏

配置

  • 3 个 Xbox 配置文件,每个配置文件登录到不同的设备
  • 设备 1 档案 A – 具有档案 B 和 C 的好友
  • 设备 2 档案 B – 具有档案 A 的好友
  • 设备 3 档案 C – 具有档案 A 的好友

测试步骤

  1. 使用档案 A,启动游戏并创建一个可加入游戏会话。
  2. 使用档案 A,邀请档案 B 和 C 加入到游戏中。
  3. 使用档案 A,进入一个游戏会话,以便在 A 加入后仅有一个剩余时隙。
  4. 使用档案 B,接受邀请。
  5. 确认档案 A 和 B 正在一起玩游戏。
  6. 使用档案 C,接受邀请并尝试加入该游戏会话。

预期结果
要求档案 C 在下一次加入机会前等待,或者向档案 C 提供一条消息,指出未能加入游戏会话的原因。

通过示例

  1. 要求档案 C 等待,直到有下一次加入的机会。
  2. 向档案 C 提供一条消息,指出未能加入游戏会话的原因。

失败示例

  1. 未要求档案 C 在下一次加入机会前等待,并且未向档案 C 提供指出未能加入的原因的消息。

XR-067:维护多人游戏会话状态 *

在 Xbox 主机上,具有在线多人游戏功能的游戏都必须在 Xbox 网络中维护会话状态信息。 游戏通过 Xbox 多人游戏会话目录 (MPSD) 执行此操作;如果游戏具有自己的多人游戏会话状态功能,则可以选择改为使用多人游戏活动最近互动玩家功能记录玩家互动。

在 Xbox 主机以外的设备上,通过 Xbox 主机提供跨平台多人游戏服务的游戏必须在 Xbox 多人游戏会话目录 (MPSD) 中维护会话状态信息。 如果它们有自己的会话状态功能,则可以改为使用多人游戏活动最近互动玩家功能记录玩家互动。

067-01 维护会话状态

测试步骤

  1. 登录到某一 Xbox 档案并在多台设备上启动游戏。
  2. 完成具有所有玩家的一个 Xbox 游戏会话。
  3. 使用适用于 Windows 电脑的 Xbox 应用 (或游戏栏) 查看最近的玩家,以验证是否包括游戏会话中的所有玩家。
  4. 再重复执行步骤 1–3 几次,但在重复时每次都使用新帐户。
  5. 重复步骤 1-4,但这次在游戏期间让一个或多个玩家离开,并且确保其档案仍在步骤 2 期间出现在最近玩家列表中。

预期结果
用户必须能够查看每个最近所玩游戏会话中的所有玩家。

通过示例

  1. 所有档案都包括在设备的最近玩家列表中。

失败示例

  1. 不是所有档案都包括在设备的最近玩家列表中。
  2. 在玩多人游戏期间退出的用户不出现在最近玩家中。

BVT:生成的预认证测试

以下测试 (BVT) 用于检查游戏是否准备好了进行 Xbox 认证测试。

BVT-01 生成稳定性

测试步骤

  1. 启动游戏,导航所有菜单,然后进入游戏。
  2. 尝试重现执行其他 BVT 时发现的稳定性问题。

预期结果
游戏不得出现将阻碍对游戏进行完整的 XR 测试的稳定性问题或加载时间过长问题。

BVT-02 Xbox 网络登录

准备:

  • 相应沙盒中的电脑
  • 新的 Xbox 档案
  • Xbox 应用

测试步骤:

  1. 登录到 Xbox 档案,启动 Xbox 应用并确保该档案没有游戏以前的成就数据。
    • 对于不支持与 Xbox 网络集成的游戏,请确保档案没有游戏的现有许可证。
  2. 启动游戏并验证游戏是否支持 Xbox 网络。
    • 如果没有成功登录的直观指示,请在 Xbox 档案未登录到 Xbox 应用的情况下启动游戏,并检查是否提示用户登录。
  3. 验证用户是否可以进入游戏。

预期结果:
设备沙盒已针对提交类型正确设置,以前未看到游戏的档案可以登录并成功启动游戏。

BVT-03 依赖项

准备:

  • 具有干净安装 Windows 的电脑
  • 新的 Xbox 档案
  • Xbox 应用

测试步骤:

  1. 验证游戏是否是使用 GDK 构建的。
  2. 从设备中删除所有包依赖项,vclibs.140 下列出的任何内容除外。
  3. 登录到某 Xbox 档案并开始安装游戏。
  4. 验证游戏是否在安装过程中拉取其他包。
  5. 安装完成后,启动游戏,并通过仅在安装过程中安装的那些包按预期验证游戏功能。

预期结果:
游戏仅使用下载的包完全正常工作。

BVT-04 匹配

测试步骤

  1. 设备 1:选择最基本的 Xbox 游戏模式并主持一个 Xbox 游戏会话。
  2. 设备 2:使用快速匹配加入设备 1 的 Xbox 游戏会话。 (重复此步骤,直到加入的设备数达到了启动游戏会话的最低数量。)
  3. 设备 1 和 2:启动并完成 Xbox 游戏会话。
  4. 确认匹配功能可以正常运作,并且用户可以在所有其他受支持的游戏模式下进入游戏。

预期结果
设备 2 应始终能够找到并加入设备 1 的游戏会话。 这两台设备都应该能够在没有断开连接或者遇到稳定性问题的情况下完成 Xbox 游戏会话。

BVT-05 DLC

测试步骤

  1. 验证随游戏一起提交的可下载内容是否可使用 Xbox 商店或游戏内机制下载。
  2. 下载完成后,确认此内容可以在游戏中被轻易识别。 (随提交材料提供的可下载内容的详细说明有助于认证团队找到可下载内容。)

预期结果
随游戏提交的可下载内容必须能够使用 Microsoft Store 或游戏中的 UI 下载,并且下载完成后,在游戏中应该可被轻易识别。

BVT-06 语言

测试步骤

  1. 确保设备“Windows 显示语言”设置设为英语。
  2. 进入游戏。
  3. 验证游戏:
  • 未出现崩溃或进入无响应状态
  • 未在屏幕上输出任何调试。
  • 在所有目标区域中实现了本地化。
  1. 对游戏支持的所有语言重复步骤 1-4。

预期结果
游戏包含所有受支持的语言。 游戏也不应包含特定于语言的稳定性问题或调试。

BVT-07 基本配置

测试步骤

  1. 启动游戏,并确保所有 BVT 功能检查无需更改时间/日期等电脑设置即可正常工作。
  2. 确认无需变通方法即可直接访问游戏的主菜单。

预期结果
游戏进入认证阶段时,基本功能按预期正常运作。

BVT-08 Microsoft Store 可用性

配置:

  • 引入到认证证书和 CERT 的提交。调试沙盒。

测试步骤

  1. 登录并尝试通过 Microsoft Store 安装游戏。
  2. 安装完成后,启动游戏并导航到main菜单 (或等效的屏幕) 。

预期结果
在认证证书和 CERT 中时,游戏必须能够安装和启动。调试沙盒。

BVT-09 重新提交的条件

测试步骤

  1. 尝试在游戏的最新报告中重现被标记为 CFR 的所有问题。
  2. 确认重现的任何问题已获得例外的许可。

预期结果
修复了之前报告中标记为 CFR 的问题,除非已通过既定的例外处理过程使此问题获得例外的许可。

BVT-10 版本检查

测试步骤

  1. 安装游戏。
  2. 导航到 C:/Program Files/Windowsapps,并将已安装的文件夹名称与提交表单中列出的版本进行比较。
  3. 将已安装的 MSIXVC 的名称与提交表单中列出的名称进行比较。

预期结果
已安装的 MSIXVC 的名称与提交文档中标注的名称完全一致。

BVT-11 服务配置验证

测试步骤

  1. 登录到之前未访问过游戏的一个 Xbox 档案。
  2. 启动此游戏。
  3. 确保提示用户接受 Xbox 网络帐户权限。
  4. 检查游戏的服务配置:
  • 对于非 MSIXVC 提交,验证安装的包是否包含 xboxservices.config 文件,以及该文件是否大于 0 KB。
  • 对于 MSIXVC 提交,验证安装的包是否包含 Microsoft.gameconfig 文件。

预期结果
必须将游戏的服务配置配置为进行测试。

电脑测试台布局

在各种电脑硬件配置上测试游戏对于确保兼容性、识别潜在问题以及提供最佳用户体验至关重要。 通过测试不同的显示分辨率、视频卡、GPU 和 CPU,开发人员可以确保游戏在各种设置中表现良好,从而为所有玩家提供更好的游戏体验。

下表概述了在测试台中使用的各种电脑配置。

设置 电脑 1 电脑 2 电脑 3 电脑 4 电脑 5
CPU AMD 高端 CPU AMD 高端 CPU Intel 高端 CPU Intel 中端 CPU AMD/Intel 高端或中端 CPU
GPU AMD Radeon 高端 GPU Nvidia Geforce RTX 高端 GPU Nvidia GeForce RTX 高端 GPU AMD Radeon 中端 GPU 集成的 iGPU/APU
解决方法 4K UHD (3840x2160) 2K QHD (2560x1440) 4K UHD (3840x2160) HD 1080p HD 1080p
语言 语言 1 英语 语言 2 语言 3 语言 4
游戏设置 与默认设置相反 默认游戏设置 每 30 分钟或每个级别后更改设置 选项应设置为第一个四分位数 选项应设置为第三个四分位数

此版本中的更改

日期 文档版本 更改说明
2025 年 4 月 1 日 5.0 添加了 XR-001 游戏稳定性XR-003 游戏质量,以便提交电脑 Xbox 要求。 在这些要求中,仅包括适用于电脑的相关测试用例:001-01 游戏稳定性、003-02 游戏完整性和 003-16 Save-Game 兼容性。 向这两个 XR 添加了一个表,显示哪些测试用例适用于主机和电脑。

XR-003:提交游戏质量和 XR-003 测试用例已简化和整合。 一些测试用例已进入 003-02 游戏完整性 (选项、导航、排行榜和语言) 。 测试用例 003-08 和 003-14 已停用。 认证期间使用的主机和电脑板布局指南也已添加到 XR-003。

已删除PC Game Pass质量标准。 这些方案位于 XR-003 中,其中包括游戏完整性、硬件/分辨率兼容性和保存游戏兼容性。