适用于电脑和游戏的 Xbox 要求测试用例

版本 3.1 - 2024/04/01

简介

以下测试用例是当 Xbox 网络服务集成到移动、电脑或主机设备(而不是 Xbox)时验证游戏的建议步骤。

基本要求

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

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 服务的本地游戏模式下玩游戏时,游戏不显示一条错误消息。

失败示例

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

074-02 直接断开连接

测试步骤

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

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

通过示例

  1. 当游戏处于在线游戏模式时显示一条用户友好的消息。
  2. 在离线游戏模式期间该游戏不会中断游戏过程。

失败示例

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

074-07 动态连接断开

所需工具

  • Fiddler

测试步骤

  1. 登录到某一 Xbox 档案并且启动游戏。
  2. 访问非 Microsoft 在线功能。
  3. 使用 Fiddler 模拟停机时间。

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

通过示例

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

失败示例

  1. 显示的错误意味着存在与 Microsoft 服务有关的问题。
  2. 显示非描述性错误消息。
  3. 游戏崩溃或变得不稳定。

074-08 预先启动停机

所需工具

  • Fiddler

测试步骤

  1. 使用 Fiddler 模拟停机时间。
  2. 登录到某一 Xbox 档案并且启动游戏。
  3. 访问非 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. 在 XDK 命令提示符下,运行 xbltraceanalyzer -data filepath -outputdir filepath
  3. 在步骤 4 中打开输出目录,并且打开“index”文件(如果系统提示,则选择“允许阻止的内容”)。

预期结果
游戏在其 Trace Analyzer 输出结果中未显示任何严重警告。 游戏必须确保将其对 Xbox 终结点的服务调用保持在指定突发值和维持限制之下。

通过示例

  1. 在调用 Xbox 服务时该游戏未超出维持限制。

失败示例

  1. 该游戏超出维持限制(速率限制在其生效的限制)达 10 倍。 例如,如果精细速率限制生效时的维持限制设置为 300 秒内 300 个调用,则达到或高于 300 秒内 3000 个调用的游戏将失败。

用户档案

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

XR-045:Xbox 网络和帐户特权*

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 中,玩家代号是使用 API 获取的 GetUserProfileAsync

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

所需工具

GDK 中的 XblTestAccountGui.exe

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

  1. สริฐ众云нь컴퓨터
  2. आचुथाώঅঙぁゖァヺ
  3. нøÜsêþåЯЂў
  4. mdrngtck

测试步骤

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

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

通过示例

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

失败示例

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

XR-048:档案设置用法 *

此 Xbox 网络服务是 Xbox 网络用户档案信息的来源。 游戏不得存储源自 Xbox 网络的用户信息,例如档案数据、首选项或显示名称;用于在网络连接丢失时提供支持的本地存储的缓存除外。 任何此类缓存都必须在下次可以连接到服务时更新。

048-01 档案设置用法

测试步骤

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

预期结果
不得存储用户档案数据。 例如,如果游戏在游戏内(例如在欢迎消息中)或在非 Xbox 服务器(例如上传的命名数据)上使用玩家代号,那么在用户更改其玩家代号的情况下,原来的玩家代号不应再继续存在。 如果用户已经手动输入了玩家代号,此要求则不适用。

通过示例

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

失败示例

  1. 针对本地存储的存档数据(例如重播、存档、选项、地图和团队数据),游戏在游戏内不显示用户更新后的玩家代号或 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. 从同一平台/代 ((例如,Xbox Series S和 Xbox Series X、Xbox One 和 Xbox One S)中的第二台设备,以及步骤 1 中使用的第二台电脑) 与步骤 1 中使用的相同配置文件。
    • 从步骤 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 帐户中的信息自动填充注册/帐户创建体验。 在发布者帐户创建过程中,必须向用户提供游戏内的所有适用使用条款、隐私和其他政策(或包含指向此类信息的链接的通知)。
  • 披露要求:如果游戏或其他功能需要发布者帐户,则必须在游戏的产品说明和任何实体包装中披露该帐户(包括年龄等任何限制)。 在游戏中,游戏必须定义发布者帐户的原因和用法。

发布者帐户/Microsoft 帐户链接

  • 身份验证:必须在链接前对链接的帐户进行身份验证。
  • 征求同意并提供选择:必须通知用户其发布者帐户与其 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 帐户的关联。

预期结果
该用户应该仅必须提供其凭据一次并且允许用户查看使用条款,或者在完成帐户关联过程之前通知用户如何查看使用条款。 必须向用户提供一个机制,以便取消其 Xbox 档案与其非 Xbox 帐户的关联。

通过示例

  1. 该游戏永远不会在用户最初已输入后的任何时间点要求用户重新输入其非 Xbox 帐户或登录凭据;并且在关联过程中以及只要关联了帐户,该游戏就会提供使用条款通知。

失败示例

  1. 该游戏要求用户在每次启动游戏时都输入其非 Xbox 帐户或登录凭据。
  2. 该游戏要求用户在从其他主机运行该游戏时输入其非 Xbox 帐户或登录凭据。
  3. 该游戏未提供用于在帐户关联过程中查看使用条款的方法。
  4. 该游戏未提供用于从其非 Xbox 帐户取消关联其 Xbox 档案的方法。

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 ((例如,文本筛选) )时向开发人员报告产品中的不适当或有害内容,以供开发人员查看和删除/禁用。
  • 游戏必须在 Microsoft 请求时删除/禁用 UGC。
  • 正常处理用户无权在游戏中访问 UGC 的情况。
  • 与第三方模块平台集成的游戏必须与产品的报告/投诉 API(如果有)集成,并且必须根据各自的第三方合同要求审查内容。
  • 与第三方模块平台集成的游戏必须向用户提供免责声明、对话框或可视提示(如果内容不是来自开发人员)。

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

测试步骤

  1. 确定可以在非 Xbox 好友之间输入文本并之后可由其他设备上的用户查看的任何游戏区域。
  2. 确认游戏提供了一种方法来方便用户将其他用户的不适当内容报告给该游戏或 Microsoft。
  3. 如果没有用于报告不适当内容的方法,则在每个区域中,输入已发布的禁用词列表中的字符串或者子字符串等。
  • 直接输入禁用词(例如“BannedWord”)。
  • 输入一个禁用词,并且用空格将其与另一个非禁用词分隔开来(例如“Good BannedWord”)。
  1. 如果该游戏允许在离线状态下创建 UGC(例如角色名称),则将设备与网络断开、输入禁用词组合,然后重新连接到网络。
  2. 确认不适当的字符串对于其他设备上的任何其他用户而言不可见。
  3. 在游戏支持的每种语言中重复步骤 3-5,并使用匹配区域设置中的禁止字词。

预期结果
游戏必须提供一种方法以便用户报告其他用户的不适当内容;或者必须通过错误消息阻止不适当语言,或者用非冒犯性的替代词语替代/屏蔽冒犯性词语。

通过示例

  1. 不筛选在游戏中(例如大厅或者游戏文本重叠中)实时共享或者仅在好友之间共享的用户输入的短信。
  2. 游戏提供了一种方法来方便用户将其他用户的不适当内容报告给该游戏或 Microsoft。
  3. 该游戏禁止不适当语言的发布,并将通知用户发布失败的原因。
  4. 该游戏会用替代词语或字符(例如 [BLOCKED] 或 [!$%and£$])替代任何不适当词语。
  5. 本地主机上的用户能够看到冒犯性字符串,但它们不会越过本地主机传输到其他非 Xbox 好友。

失败示例

  1. 游戏未提供一种方法来供用户报告其他用户的不适当内容,并且其他主机上的非 Xbox 好友可看到不恰当字符串。
  2. 游戏允许用户通过在离线状态下创建 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 网络集成的游戏,请确保档案没有游戏的现有许可证。
  1. 启动游戏并验证游戏是否支持 Xbox 网络。
  • 如果没有成功登录的直观指示,请在 Xbox 档案未登录到 Xbox 应用的情况下启动游戏,并检查是否提示用户登录。
  1. 确保系统提示用户接受显式同意对话框提示。
  2. 验证用户是否可以进入游戏。

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

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 文件。

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

此版本中的更改

日期 文档版本 更改说明
2024 年 4 月 1 日 12.1 更新 了主机电脑的顶级失败测试用例。

适用于电脑、移动和创意者的 Xbox 网络策略的 标题更改为 适用于电脑、移动和创意者计划的 Xbox 要求和应用商店策略

电脑 Xbox 要求 测试用例中删除了测试用例 052-01 和 052-02,因为它们不适用于电脑。 在用户注销) 052-05 正确用户关联涵盖后,暂停/恢复不适用于电脑和从终止状态启动 (。

XR-015 的测试用例:更新以阐明邀请是指多人游戏邀请。 它不包括好友邀请。

XR-130:更新了 XR 引用 XR-052 以保存漫游, (XR-050 已被) 删除。

XR-018:更新了 指向禁止条款列表的断开链接。

XR-133 从 电脑 Beta 版和游戏预览版要求 中删除,因为它仅适用于主机。

所有测试用例:大量格式更新和语法修复。 更新了 指向 Microsoft Learn 的 GDK 文档链接。