> ## 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-037 内容包的依赖关系

> 附加内容不得阻止基础游戏功能,不得依赖其他附加内容,并且在加载存档时必须优雅地处理缺失的内容。

# XR-037:内容包的依赖关系 \*

版本 1.0,2023 年 12 月 1 日

用户完成基础游戏的任何主要功能或内容时,不得要求购买附加内容(耐用或消耗品)。可选内容包不得依赖其他可选内容包。也就是说,用户不得为了使用某个内容包而下载更多内容包。具有与附加内容相关联的独特内容的游戏存档必须仍然可以在基础游戏上加载,或者提供清晰的消息说明为何无法加载。

## 更多信息

此要求的关键方面是:

1. 用户不得为了完成基础游戏的主要功能而必须购买附加内容。
2. 用户不得为了使用另一个内容包而必须购买额外的附加内容。附加内容必须独立于其他附加内容可用。
3. 具有与附加内容相关联的独特内容的游戏存档必须仍然可以在基础游戏上加载,或者提供清晰的消息说明为何无法加载。作为最佳实践,该消息应包括在已拥有时下载内容的提示,或在未拥有时提示用户潜在购买。
4. 支持多人游戏所需附加内容的游戏必须向未安装内容的用户提供清晰的消息。

## 实现指南和最佳实践

理想情况下,当用户之前使用了现在已删除的附加内容时,游戏能够优雅地处理这种情况,并让用户从其游戏存档加载并继续。如果不可能,游戏必须明确向用户传达需要安装内容才能加载游戏存档。游戏可以查询以查看用户是否有该内容的权益,并且:

1. 如果已拥有,提示用户下载特定内容。
2. 如果未拥有,提示用户潜在购买该内容。

## 认证测试用例

### 037-01 基础游戏没有内容包存档游戏依赖

**测试步骤**

1. 登录 XBOX 配置文件并启动游戏。
2. 尝试访问基础游戏的所有功能和内容。验证用户不需要下载任何附加内容。
3. 下载可以在游戏中使用的可用内容包。
4. 加载并使用该内容包,推进足够远以创建基于内容的游戏存档。
5. 返回主页并删除该内容包。
6. 再次启动游戏。
7. 确保存档可以成功加载,并且游戏可以继续,或者用户被清楚地告知为何无法继续。
8. 消息必须清晰,并具体告知用户如何排除故障。
9. 对所有其他支持的内容包重复步骤 1-8。

**预期结果**

用户必须能够完成基础游戏的任何主要功能和/或内容,而无需购买附加内容。用户删除内容包后,游戏必须正确运行,或者清楚地告知用户为何无法正确运行。

**通过示例**

1. 用户能够完成基础游戏包含的所有功能和内容,而无需购买附加内容。用户删除内容包后,游戏的所有方面都可以无问题地进行。
2. 在由内容包提供的区域内创建存档,然后删除该内容包后,游戏清楚地向用户传达需要安装内容\_x\_才能加载游戏存档。游戏还可以查询以查看用户是否有该内容的权益,并且:
   * 如果已拥有,提示用户下载特定内容。
   * 如果未拥有,提示用户潜在购买该内容。

**失败示例**

1. 用户被迫购买附加内容才能完成基础游戏中包含的功能或内容。在步骤 3 期间用户下载了内容包 1 和内容包 2 后,如果随后删除内容包 1,则会丢失在游戏中使用内容包 2 的能力。
2. 如果存在内容存档游戏依赖且未安装内容,游戏未清楚地向用户传达需要安装内容才能加载游戏存档。

### 037-02 没有对其他内容包的依赖

**测试步骤**

1. 登录 XBOX 配置文件。
2. 启动游戏。
3. 下载游戏支持的单个附加内容。
4. 尝试在游戏中使用该内容。
5. 验证用户不需要下载其他内容才能使用步骤 3 中的内容。
6. 退出游戏并删除步骤 3 中的内容。
7. 对游戏支持的每个内容重复步骤 2-6。

**预期结果**

用户不得为了使用某个内容包而必须下载其他内容包。内容包必须本身可用。

**通过示例**

1. 游戏不需要用户下载其他内容才能使用单独的内容包。

**失败示例**

1. 要求用户下载其他内容才能使用单独的内容包。

### 037-03 DLC 依赖

**测试步骤**

1. 登录 XBOX 配置文件。
2. 下载游戏的可下载内容 (DLC)。
3. 进入游戏并使用 DLC 保存进度。
4. 退出游戏。
5. 从控制台移除 DLC。
6. 启动游戏并尝试访问已保存的进度。

**预期结果**

如果 DLC 不再安装,游戏能够优雅地处理使用 DLC 创建的游戏存档的存在。

**通过示例**

1. 用户能够加载其已保存的进度并无问题地与游戏进行交互。
2. 用户被通知访问其已保存游戏需要特定 DLC。

**失败示例**

1. DLC 不存在时,游戏变得无法使用。
2. 用户无法访问已保存的进度,并且没有收到关于原因的通知。

### 037-04 多人游戏 DLC

**测试步骤**

1. 登录 XBOX 配置文件。
2. 启动游戏。
3. 控制台 A:下载所有可用于多人游戏的可下载内容。
4. 控制台 A:使用可下载内容(关卡、角色、汽车、赛道等)托管 XBOX 游戏会话。
5. 控制台 B:使用所有可能的方法尝试加入控制台 A 创建的游戏会话。
6. 如果无法加入游戏会话,请验证给出了清晰的指示,说明或容易推断出为何无法加入。
7. 对所有游戏模式重复步骤 3-6。
8. 以控制台 B 作为主机重复步骤 3-6。

**预期结果**

支持多人游戏所需可下载内容的游戏必须向未安装可下载内容的用户提供清晰的指示。

**通过示例**

1. 用户在尝试加入有 DLC 要求的会话时,如果不满足要求,则会收到适当的消息,并获得如何解决问题的信息(下载、重新下载等)。
2. 通过使用图标和/或其他屏幕元素,用户在尝试加入有 DLC 要求的会话时,如果不满足要求,则收到清晰的通知,并获得或可以轻易推断出如何解决问题的信息(下载、重新下载等)。
3. 满足多人游戏比赛 DLC 要求的用户能够加入会话并游戏。

**失败示例**

1. 不满足多人游戏会话 DLC 要求的用户未获得关于 DLC 要求及如何解决它的清晰视觉指示。
2. 满足多人游戏会话 DLC 要求的用户无法一起加入。


## Related topics

- [XBOX 认证概览](/zh-CN/publishing/certification/overview.md)
- [XBOX 要求 (XR) 认证参考](/zh-CN/publishing/certification/xbox-requirements.md)
- [XR 更改历史和版本控制](/zh-CN/publishing/certification/xr-change-history.md)
- [FMA：XR-037 内容包依赖](/zh-CN/publishing/certification/fma/xr-037.md)
- [框架包依赖](/zh-CN/build/core-features/common/packaging/packaging-framework-packages.md)
