> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XR-074 与 XBOX 和合作伙伴服务的连接丢失

> 游戏必须优雅地处理与 XBOX 和合作伙伴服务的连接丢失,遵守 XBOX 重试政策,并向用户清晰传达服务问题。

# XR-074:与 XBOX 和合作伙伴服务的连接丢失 \*

版本 2.0,2025/11/1

游戏必须优雅地处理与 XBOX 和合作伙伴服务的连接错误。在失败发生后尝试重试对 XBOX 服务的请求时,游戏必须遵守 XBOX 设置的重试政策。游戏必须在服务不可用时适当地管理向用户传达消息。如果合作伙伴服务不可用,游戏不得指示 XBOX 网络存在问题。当网络服务变慢或间歇性可用时,游戏不得崩溃或挂起。

## 更多信息

游戏应对自己的网络操作性能作出反应,和/或使用 `Windows.Xbox.Networking` 网络质量 API 确定当前网络状况。它们还应通过传输更少的数据、选择适当的用户角色或利用云服务优雅地降级。

### 处理非 XBOX 服务的问题

遇到合作伙伴服务问题(如非瞬态超时、网络 API 错误或缺少影响用户体验的服务配置)的游戏应向用户提示不可用的特定功能或服务。游戏应在用户排除故障时优雅地降级到安全状态,或降级到用户可以手动重试的状态。

用户友好消息的示例:

> "抱歉,*非 Microsoft 服务* 目前不可用。请稍后再试。有关更多信息,请联系 *非 Microsoft 支持联系信息*。"

### 处理 XBOX 服务的问题

如果与 XBOX 服务的连接丢失,某些功能可能变得不可用。在这种情况下,游戏应使用清晰、用户友好的消息向用户传达此信息。

如果服务不可用,游戏可以重试其请求,但只能在 XBOX 允许的参数内这样做。有关 XBOX 控制台游戏的服务弹性的更多信息,包括所需的 HTTP 重试和退避逻辑,以及各个服务的用户交互指南,请参阅 GDK 中的"游戏的服务中断弹性"文档。

### 要求 XBOX 连接

在为 XBOX 控制台开发时,大部分功能都需要连接到互联网(尤其是 XBOX)的游戏可能希望在其 AppX 清单中包含布尔标志 `RequireXboxLive`。这将阻止游戏在 XBOX 不可用时在 XBOX 控制台上启动,并且如果连接丢失,它将挂起并随后终止游戏。

有关使用 GDK 的网络的信息,请阅读 GDK 文档的"网络"部分。

## 认证测试用例

### 074-01 与 XBOX 服务的 WAN 断开连接

**测试步骤**

1. 登录 XBOX 配置文件。
2. 执行以下操作时,断开 WAN 网络。如果使用以太网交换机/集线器,请从网络设备断开上行电缆。如果设备通过 Wi-Fi 连接,请从无线接入点连接断开上行电缆:
   * 创建新的存档点
   * 加载存档点
   * 到达自动存档点
   * 枚举已保存游戏列表
   * 搜索并加入在线会话
   * 尝试创建在线会话
   * 查看排行榜(如适用)
   * 离线游戏

**预期结果**

如果控制台无法到达 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-03 挂起时与 XBOX 服务的断开连接

在零售控制台上,游戏在以下情况下将被挂起:

* 当控制台通过将电源模式设置为即时启用并关闭而进入连接待机时。
* 当游戏失去焦点十分钟时。例如,启动应用程序(如"设置")并将其保持焦点十分钟。

出于此测试用例的目的,应在步骤 3 中验证两种方法。

**测试步骤**

1. 在控制台电源模式设置为即时启用的情况下登录 XBOX 配置文件。
2. 启动游戏并进入游戏过程。
3. 在游戏过程中的不同时刻,挂起游戏。
4. 恢复游戏并验证游戏优雅地处理断开连接。
5. 在整个游戏过程中重复步骤 3-4。

**预期结果**

如果控制台在挂起后无法到达 XBOX 服务,游戏必须成功恢复,优雅地处理该情况,并在适当情况下以用户友好的错误消息响应。

**通过示例**

1. 在在线 XBOX 多人游戏会话期间,游戏显示错误消息,指示与 XBOX 服务的网络连接丢失。
2. 玩不需要 XBOX 服务的本地游戏模式时,游戏不显示错误消息。

**失败示例**

1. 用户无法完成非在线 XBOX 游戏会话。
2. 游戏进入无响应或不稳定状态。
3. 恢复后游戏显示误导性或错误的错误消息。

### 074-04 挂起期间的 XBOX 服务重新连接

在零售控制台上,游戏在以下情况下将被挂起:

* 当控制台通过将电源模式设置为即时启用并关闭而进入连接待机时。
* 当游戏失去焦点十分钟时。例如,启动应用程序(如"设置")并将其保持焦点十分钟。

出于此测试用例的目的,应在步骤 3 中验证两种方法。

**测试步骤**

1. 在控制台电源模式设置为即时启用的情况下登录 XBOX 配置文件,并确保控制台设置为主机。
2. 在没有连接到 XBOX 但保持本地网络连接的情况下,启动游戏。
   * 如果使用以太网交换机/集线器,请从网络设备断开上行电缆。
   * 如果设备通过 Wi-Fi 连接,请从无线接入点断开上行电缆。
3. 在游戏过程中的不同时刻,挂起游戏。
4. 重新连接上行电缆,并等待控制台重新连接到 XBOX 服务。
5. 恢复游戏并验证游戏优雅地处理重新连接。
6. 在整个游戏过程中重复步骤 2-5。

**预期结果**

如果控制台在挂起后无法到达 XBOX 服务,游戏必须成功恢复,优雅地处理该情况,并在适当情况下以用户友好的错误消息响应。

**通过示例**

1. 用户能够恢复游戏并无中断地完成离线 XBOX 游戏会话。
2. 游戏保持稳定,不会崩溃。

**失败示例**

1. 用户无法完成非在线 XBOX 游戏会话。
2. 游戏进入无响应或不稳定状态。
3. 恢复后游戏显示误导性或错误的错误消息。

### 074-05 持续低带宽

**所需工具**

* 来自 GDK/XDK 的 `xbstress.exe`。

**配置**

网络模拟由命令行压力工具 `xbstress.exe` 控制。此工具配置各种控制台压力测试,包括网络模拟。出于网络目的,`xbstress.exe` 控制 XBOX 设备上的专用驱动程序,该驱动程序丢弃数据包、注入延迟并限制吞吐量。`xbstress.exe` 具有三个预配置的模拟配置文件,可让您轻松模拟重要的网络场景:最小、平均和优秀。最小配置文件对应此 XR。

**测试步骤**

1. 使用最小配置文件,将连接限制到 XBOX 设备的最低操作要求。
2. 执行与游戏相关的在线操作,包括但不限于:
   * 浏览所有菜单。
   * 玩在线游戏会话。

**预期结果**

当用户的互联网连接降至 192 Kbps 以下时,游戏不得崩溃或导致用户数据丢失。

**通过示例**

1. 显示用户友好的消息,指示由于低带宽可能对在线游戏产生影响。
2. 游戏不崩溃,也不导致用户数据丢失。

**失败示例**

1. 游戏崩溃或导致用户数据丢失。

### 074-06 可变低带宽

**所需工具**

* 来自 GDK/XDK 的 `xbstress.exe`。

**配置**

网络模拟由命令行压力工具 `xbstress.exe` 控制。此工具配置各种控制台压力测试,包括网络模拟。出于网络目的,`xbstress.exe` 控制 XBOX 设备上的专用驱动程序,该驱动程序丢弃数据包、注入延迟并限制吞吐量。`xbstress.exe` 具有三个预配置的模拟配置文件,可让您轻松模拟重要的网络场景:最小、平均和优秀。最小配置文件对应此 XR。

**测试步骤**

1. 在 `xbstress.exe` 中禁用所有网络限制。
2. 执行与游戏相关的在线操作,包括但不限于:
   * 浏览所有菜单。
   * 玩在线游戏会话。
3. 执行步骤 2 时,启用 `xbstress` 最小配置文件。

**预期结果**

当用户的互联网连接降至 192 Kbps 以下时,游戏不得崩溃或导致用户数据丢失。

**通过示例**

1. 显示用户友好的消息,指示由于低带宽可能对在线游戏产生影响。
2. 游戏不崩溃,也不导致用户数据丢失。

**失败示例**

1. 游戏崩溃或导致用户数据丢失。

### 074-07 动态连接丢失

**所需工具**

* 带有内容阻止插件的 Fiddler Classic。

**使用内容阻止插件配置 Fiddler Classic 以阻止合作伙伴服务**

* 在控制台上,设置 Fiddler 以调试 Web 服务调用。
* 在 PC 上,设置 Fiddler 以调试 Web 服务调用。
* 为 Fiddler 安装内容阻止插件。
* 在 Fiddler 中,选择菜单 ContentBlock 和"Enabled"。

<Tip>
  **配置阻止列表的步骤:**

  1. 运行 Fiddler 后,启动游戏并浏览所有菜单,完成多人游戏会话,加载到每个游戏模式,并浏览游戏的所有区域,包括但不限于:
     * 菜单
     * 排行榜
     * 服务器(创建一个并加入他人的)
     * 好友列表
     * 游戏内商店
     * 限时活动 这确保游戏在正常游戏过程中连接到所有主机。
  2. 在 Fiddler 中,识别哪些主机是非 Microsoft 服务:
     * 按主机排序会话列表,并查找不包含以下任何内容的主机:`microsoft, msft, xboxlive, xboxservices, live, PlayFabApi, msn, bing`。
  3. 在 Fiddler 中,将非 Microsoft 主机添加到阻止列表:
     * 右键单击非 Microsoft 主机,然后选择"阻止此主机"。
     * 对所有其他非 Microsoft 主机重复此操作。

  您不必多次阻止同一主机。

  要编辑阻止列表,请选择 ContentBlock 菜单和"Edit Blocked Hosts..."。

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

**测试步骤**

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=[分号分隔的地址列表]`
2. 使用命令启动网络模拟:`xbstress simulate network=channels`。
3. 如果在 Windows 10 上测试,使用 Fiddler 模拟停机时间。
4. 登录 XBOX 配置文件。
5. 启动游戏。
6. 访问非 Microsoft 在线功能。

**预期结果**

游戏应提供用户友好的错误消息,指示访问非 Microsoft 服务时存在问题,并应提供重试连接的机会。

**通过示例**

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

**失败示例**

1. 显示的错误暗示 Microsoft 服务存在问题。
2. 显示非描述性错误消息。
3. 游戏崩溃、变得不稳定或导致控制台重启。


## Related topics

- [PC 和移动认证要求以及最常见的失败](/zh-CN/publishing/certification/pc-certification.md)
- [XBOX 认证概览](/zh-CN/publishing/certification/overview.md)
- [PC 和移动游戏的 XBOX 要求测试用例](/zh-CN/publishing/certification/pc-policy-tests.md)
- [XBOX 要求 (XR) 认证参考](/zh-CN/publishing/certification/xbox-requirements.md)
- [FMA：XR-074 与 XBOX 服务的连接丢失](/zh-CN/publishing/certification/fma/xr-074.md)
