Skip to main content

PC 和移动游戏的 XBOX 要求测试用例

版本 6.0 - 2025/11/01

简介

以下测试用例是将 XBOX 网络服务集成到 PC、移动或除 XBOX 以外的控制台时验证游戏的推荐步骤。

基本要求

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

XR-001:游戏稳定性 *

游戏必须符合 Microsoft Store 关于游戏稳定性的政策。以下政策适用于此要求: 10.4.2
产品必须迅速启动、持续运行并保持对用户输入的响应。产品必须优雅地关闭,不得意外关闭。产品必须处理由任何托管或本机系统 API 引发的异常,并在处理异常后保持对用户输入的响应。

001-01 游戏稳定性

测试步骤
  1. 登录 XBOX 配置文件并启动游戏。
  2. 浏览游戏的所有区域,包括但不限于:
    • 游戏过程
    • 菜单和功能
    • 可下载内容 (DLC)
  3. 使用没有先前存档数据的新 XBOX 配置文件,在与 XBOX 网络断开连接时重复步骤 1-3。
预期结果
游戏不稳定指的是无法识别用户输入的任何状态,或由于软件崩溃而阻止用户推进且没有任何用户通知的情况。
通过示例
  1. 游戏稳定。
  2. 游戏不会导致用户数据的意外丢失。
失败示例
  1. 游戏崩溃、变得无响应或导致控制台重启。
  2. 游戏导致用户数据丢失。
  3. 出现持续超过二十秒的非交互式暂停或静态屏幕。
  4. 游戏包含超过两分钟且没有进度指示的加载屏幕。
  5. 游戏包含超过三分钟带有进度指示的加载屏幕。

XR-003:提交游戏质量 *

XBOX 游戏必须符合 XBOX 质量标准,并且完全可用和可测试。

功能完整且可测试

游戏在提交认证时必须完全可用和可测试。这包括所有客户端代码、提交产物和可下载内容。游戏必须使用当前版本的提交验证器进行干净打包,无失败。提交验证器日志必须与提交一起包含。

XBOX 质量标准

XBOX 游戏必须在所有游戏模式和场景下正确运行,以满足玩家期望。
游戏完整性
游戏必须无严重问题,例如崩溃、冻结、无法游玩的帧率、导致主要进度阻碍的错误或图形损坏。游戏设置、选项和控件必须正确应用,并在适当的情况下尊重默认设置。导航和内容可用性应无缝,没有死胡同或无法访问的菜单。多人游戏功能必须稳定且可用,无论玩家数量如何。
存档游戏兼容性
游戏存档和玩家进度必须在内容更新后继续可用。此外,在使用基本光盘版本加载更新后的存档时不得发生永久性数据丢失。

003-02 游戏完整性

配置 请参阅页面底部的 PC 测试台指南 以设置您的 PC。 测试步骤
  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 与 XBOX 服务的 WAN 断开连接

测试步骤
  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 Classic 以阻止合作伙伴服务
  • 在控制台上,设置 Fiddler 以调试 Web 服务调用
  • 在 PC 上,设置 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 菜单和”Edit Blocked Hosts…” 现在所有非 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=[分号分隔的地址列表]
  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 服务访问限制

所需工具
  • PC 上的 Fiddler
  • 来自 GDK 开发工具下载包的 XBOX 服务跟踪分析器。它用于查看游戏进行的服务调用,并查找调用模式中的任何违规行为。
测试步骤
  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 网络和账户权限 *

XBOX 网络为用户及其孩子提供预期的隐私和在线安全水平。为了兑现这一承诺,游戏必须检查 XBOX 网络服务的权限,以便在 XBOX 网络服务或游戏体验中完成某些操作。 免费游戏、演示或 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 Home 上显示用户更新后的玩家代号或 Microsoft 账户名称。
  2. 游戏未在持久性发布内容(如游戏片段、回放、排行榜或其他自定义发布,如消息、公告栏帖子、用户挑战、服装、主题、涂装、锦标赛和联赛)中更新用户的玩家代号。注意:这适用于新的和先前创建的发布内容。
  3. 游戏为用户的存档数据(如回放、存档、选项、地图和队伍)存储用户的玩家代号,导致如果用户更改玩家代号或账户名称,存档数据变得无法使用。

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

游戏必须将进度、已保存的状态、偏好、成就和其他奖励与记录该进度、选择偏好或获得奖励的用户关联。游戏通过正确处理用户切换通知来实现这一点。游戏必须避免为不再登录的用户保存状态。游戏存档数据不得对共享内容或本地存储有任何依赖。 对于跨平台、设备和/或控制台世代使用相同 TitleID 的游戏,当用户登录到 XBOX 网络时,游戏存档进度必须按以下方式漫游:
  • 在同一平台内(XBOX 控制台)。
  • 在同一平台上的设备之间(例如,XBOX One 和 XBOX One S)。
  • 跨设备平台世代(例如,XBOX One 和 XBOX Series X|S)。
  • 在 Windows 平台上跨 PC(例如,两个不同的 PC 之间)。
  • 在 Windows 平台上的 PC 与 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 台 PC
测试步骤
  1. 在设备 A 上登录 XBOX 配置文件并启动游戏。
  2. 开始游戏并制作存档进度(如果可能,通过更改或添加新的设置配置来创建设置存档)。
  3. 退出游戏。
  4. 在与步骤 1 中使用的相同平台/世代的第二台设备(例如,XBOX Series S 和 XBOX Series X、XBOX One 和 XBOX One S 以及第二台 PC)上使用步骤 1 中使用的相同配置文件登录。
    • 从步骤 1 启动同一游戏,并验证所有已保存的游戏及任何设置和/或配置文件可以正确访问和加载,并且它们对共享内容没有任何依赖。
  5. 对于跨世代在同一平台上使用相同 TitleID 的游戏(例如,XBOX One 和 XBOX Series X|S),重复步骤 4。
  6. 对于在 Windows 平台上使用相同 TitleID 的 PC 游戏,重复步骤 4。
  7. 如果支持,对于跨平台使用相同 TitleID 的游戏(例如,Windows 和 XBOX Series X|S):
    • 在其他支持的平台上启动步骤 1 中的相同游戏,并验证所有已保存的游戏及任何设置和/或配置文件可以正确访问和加载,并且它们对共享内容没有任何依赖。
预期结果
游戏存档进度必须与用户配置文件关联,并且当用户登录到 XBOX 服务时,必须在类似的设备/平台之间漫游。对于跨世代在同一平台上使用相同 TitleID 的游戏,游戏存档数据必须在这些平台之间漫游。对于在 Windows 平台上使用相同 TitleID 的 PC 游戏,游戏存档数据必须在不同的 PC 之间漫游。游戏存档数据不得对共享内容有任何依赖。
通过示例
  1. 游戏存档和相关设置文件可以在同一控制台平台/世代的第二台控制台上成功下载(例如,XBOX Series S 和 XBOX Series X 或 XBOX One 和 XBOX One S)。
  2. 游戏存档和相关设置文件可以在 Windows 平台的第二台 PC 上成功下载。
  3. 对于跨世代在同一平台上共享相同 TitleID 的控制台游戏(例如,XBOX One 和 XBOX Series X|S),存档和相关设置文件可以在这些设备之间漫游。
  4. 游戏存档数据对共享内容没有任何依赖。
失败示例
  1. 游戏存档和相关设置文件无法在同一平台/世代的第二台控制台上成功下载(例如,XBOX Series S 和 XBOX Series X 或 XBOX One 和 XBOX One S)。
  2. 游戏存档和相关设置文件无法在 Windows 平台的第二台 PC 上成功下载。
  3. 对于跨世代在同一平台上共享相同 TitleID 的控制台游戏(例如,XBOX One 和 XBOX Series X|S),存档和相关设置文件无法在这些设备之间漫游。
  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 账户或登录凭据后,任何时候都不会要求用户重新输入它们,并且游戏在关联过程中以及在账户保持关联期间提供使用条款的通知。
  2. 游戏允许为所有属于游戏年龄分级的用户创建发行商账户。
失败示例
  1. 游戏要求用户在每次启动游戏时输入其非 XBOX 账户或登录凭据。
  2. 游戏在从另一台控制台运行时要求用户输入其非 XBOX 账户或登录凭据。
  3. 游戏未在账户关联过程中提供查看使用条款的方法。
  4. 游戏未提供从非 XBOX 账户解除其 XBOX 配置文件关联的方法。
  5. 游戏不允许为所有属于游戏年龄分级的用户创建发行商账户。

XR-015:管理玩家通信 *

当用户的隐私设置不允许时,游戏不得允许通过 XBOX 网络进行通信。 游戏通过从 XBOX 网络服务检索数据来满足此 XR。如果游戏使用自己的服务,则必须在会话开始时或当新用户加入会话时检查用户的隐私权限。对于会话之外用户发起的场景,游戏通过在显示用户数据之前和执行操作之前检查隐私来满足此要求。以下权限可供游戏检查: 在游戏会话期间,提供 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 请求的情况下删除/禁用高风险违法内容,以防 Microsoft 察觉到 XBOX 网络上未通过标准操作机制或流程处理的违法材料。
  • 尊重玩家 UGC 设置,并优雅地处理由于受限权限导致用户无法在游戏中访问 UGC 的场景。
此外,如果您的产品与第三方游戏 mod 平台集成,您必须:
  • 与平台的举报/投诉 API(如果可用)集成,并在与第三方的合同协议要求时审核内容。
  • 当内容不是来自开发者时,向用户显示免责声明、对话框或视觉指示。

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

测试步骤
  1. 识别游戏中可以在非好友之间输入文本的任何区域,然后其他设备上的用户可以查看。
  2. 验证游戏提供产品内方式来向开发者举报其他用户的不当或有害 UGC。
  3. 如果没有方法举报不当内容,请在每个区域输入禁用术语列表中的字符串、子字符串等。
    • 直接输入禁用术语(即”ForbiddenTerm”)。
    • 输入禁用术语,以空格分隔另一个非禁用术语,即(“Good ForbiddenTerm”)。
  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 网络上提供成就和奖励的游戏。

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

游戏必须在发布时提供所需数量(最小和最大)的成就及其相关的玩家分数。允许游戏在发布后随时添加成就或玩家分数,无论是否有相应的新内容,但不能超过基于游戏或基于日历的限制。 单项成就不能超过 200 玩家分数,游戏中的所有成就都必须可实现。 在基础游戏或内容更新中解锁成就必须代表对游戏内容的深入探索或参与。
“半年度”是指 1 月至 6 月、7 月至 12 月。基础游戏的成就和玩家分数不计入半年度限制。

055-01 成就

测试步骤
  1. 查看游戏支持的玩家分数量和成就总数。
  2. 通关游戏并尝试获得尽可能多的成就。
  3. 从连接待机恢复后重复步骤 2。
  4. 在与 XBOX 服务断开连接时重复步骤 2。
预期结果
所有成就根据其条件解锁,基础游戏发布的最大可能玩家分数为 1000G,分布在 10-100 个成就中。所有成就代表对游戏内容的深入探索或参与。
通过示例
  1. 可以获得所有成就。
  2. 成就按其条件解锁。
  3. 所有成就代表对游戏内容的深入探索或参与。
  4. 游戏的发布版本具有 1000 玩家分数,分布在 10-100 个成就中。
失败示例
  1. 满足条件时成就未解锁。
  2. 成就在满足条件之前解锁。
  3. 成就不代表对游戏内容的深入探索或参与。
  4. 所有成就都可以在游戏开始几分钟内解锁。
  5. 除非作为核心游戏循环的一部分需要,否则可以在几乎没有用户输入的情况下解锁成就。
  6. 游戏的发布版本没有 1000G。
  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 登录的 PC 设备提供与 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 通过 Game Bar 加入,而是让配置文件 A 通过 Game Bar 向配置文件 B 发送游戏邀请,并确保配置文件 B 能够接收、接受和加入配置文件 A。
预期结果
用户 B 必须能够加入用户 A 的游戏,并一起进入游戏体验。对于仅支持私人多人游戏会话且因此不显示为可加入的游戏,邀请可以是加入配置文件 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 通过 Game Bar 加入,而是让配置文件 A 通过 Game Bar 向配置文件 B 发送游戏邀请,并确保配置文件 B 能够接收、接受和加入配置文件 A。
预期结果
用户 B 必须能够加入用户 A 的游戏,并一起进入游戏体验。对于仅支持私人多人游戏会话且因此不显示为可加入的游戏,邀请可以是加入配置文件 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 未被要求等待到下一次加入的机会,并且未收到关于无法加入的消息。

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

在 XBOX 控制台上,具有在线多人游戏功能的游戏必须在 XBOX 网络上维护会话状态信息。游戏通过 XBOX 多人游戏会话目录 (MPSD) 执行此操作,或者如果游戏有自己的多人游戏会话状态功能,它们可以选择使用多人游戏活动最近玩家功能记录玩家交互。 在 XBOX 控制台以外的设备上,提供与 XBOX 控制台跨平台多人游戏的游戏必须在 XBOX 多人游戏会话目录 (MPSD) 中维护会话状态信息。如果他们有自己的会话状态功能,他们可以选择使用多人游戏活动最近玩家功能记录玩家交互。

067-01 维护会话状态

测试步骤
  1. 登录 XBOX 配置文件,并在多台设备上启动游戏。
  2. 与所有玩家完成 XBOX 游戏会话。
  3. 使用 Windows PC 的 XBOX 应用(或 Game Bar),查看最近玩家以验证游戏会话中的所有玩家都已包含。
  4. 重复步骤 1-3 数次,但这次每次使用新账户。
  5. 重复步骤 1-4,但这次让一个或多个玩家在游戏过程中离开,并确保他们的配置文件仍出现在步骤 2 期间的”最近玩家”列表中。
预期结果
用户必须能够查看每个最近玩过的游戏会话中的所有玩家。
通过示例
  1. 所有配置文件都包含在设备的”最近玩家”列表中。
失败示例
  1. 并非所有配置文件都包含在设备的”最近玩家”列表中。
  2. 在多人游戏中退出的用户不会出现在”最近玩家”中。

BVT:构建的预认证测试

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

BVT-01 构建稳定性

测试步骤
  1. 启动游戏,浏览所有菜单并进入游戏。
  2. 尝试重现执行其他 BVT 时发现的稳定性问题。
预期结果
游戏必须没有稳定性问题或阻止游戏进行完整 XR 测试的长加载时间。

BVT-02 XBOX 网络登录

准备:
  • 在适当沙盒中的 PC
  • 新的 XBOX 配置文件
  • XBOX 应用
测试步骤:
  1. 登录 XBOX 配置文件,启动 XBOX 应用,并确保该配置文件没有游戏的先前成就数据。
    • 对于不支持与 XBOX 网络集成的游戏,请确保配置文件没有该游戏的现有许可证。
  2. 启动游戏并验证游戏是否支持 XBOX 网络。
    • 如果没有成功登录的视觉指示,请在没有 XBOX 配置文件登录 XBOX 应用的情况下启动游戏,并检查用户是否被提示登录。
  3. 验证用户可以进入游戏。
预期结果:
设备沙盒已针对提交类型正确设置,并且以前未见过该游戏的配置文件可以登录并成功启动游戏。

BVT-03 依赖项

准备:
  • 具有 Windows 干净安装的 PC
  • 新的 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. 下载后,验证可以在游戏中轻松识别内容。(与提交材料一起提供的详细可下载内容描述有助于认证团队查找可下载内容。)
预期结果
与游戏一起提交的可下载内容必须可以使用 XBOX 商店或游戏内 UI 下载,并且一旦下载,应该在游戏中易于识别。

BVT-06 语言

测试步骤
  1. 确保设备的”Windows 显示语言”设置设置为英语。
  2. 进入游戏。
  3. 验证游戏:
  • 不崩溃或进入无响应状态
  • 在屏幕上不输出任何调试
  • 在所有预期区域实现本地化。
  1. 对游戏支持的所有语言重复步骤 1-4。
预期结果
游戏包含所有支持的语言。游戏还应不包含特定于语言的稳定性问题或调试。

BVT-07 基本配置

测试步骤
  1. 启动游戏并确保所有 BVT 功能检查不需要更改 PC 设置(如时间/日期)才能工作。
  2. 验证无需变通方法即可到达游戏的主菜单。
预期结果
当游戏进入认证时,预期基本功能可以正常工作。

BVT-08 XBOX 商店可用性

配置:
  • 提交内容摄取到认证 CERT 和 CERT.DEBUG 沙盒。
测试步骤
  1. 登录并尝试通过商店安装游戏。
  2. 完成安装后,启动游戏并导航到主菜单(或等效屏幕)。
预期结果
游戏必须能够在认证 CERT 和 CERT.DEBUG 沙盒中安装和启动。

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 文件。
预期结果
游戏的服务配置必须为测试进行配置。

PC 测试台布局

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

此版本中的更改

最后修改于 2026年8月24日