> ## 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.

# 基于事件的成就与游戏管理的成就

> 比较基于事件（成就 2013）和作品管理（成就 2017）的 XBOX Live 系统，为您的作品选择合适的解锁模型。

本主题介绍基于事件的成就和游戏管理的成就之间的差异。

*基于事件的成就*以前称为“云驱动的成就”或“成就 2013”。

*游戏管理的成就*以前称为“成就 2017”。

游戏管理的成就比基于事件的成就更为简单直接，使用直接调用、简单配置和本地故障排除。
游戏管理的成就服务对 XBOX、Windows 10、Android 和 iOS 上的新 XBOX 服务游戏使用直接调用模型来解锁成就。

> [!NOTE]
>
> 我们建议使用游戏管理的成就来配置新作品。

## 简介

基于事件的成就使您能够通过发送游戏内遥测事件来推动 XBOX 服务功能的数据，例如用户统计信息、成就、丰富状态和多人游戏。这带来了许多好处。例如，一个事件可以更新多个 XBOX 服务功能的数据，XBOX 服务配置驻留在服务器上而不是客户端上，以及许多其他好处。

在基于事件的成就发布后的几年中，开发人员一直提供以下反馈。

1. **使用直接调用模式解锁成就会更容易。**
   许多开发人员为多个平台和世代构建游戏，直接调用模式使支持多个平台变得更容易。
   支持直接解锁调用将减轻他们跨平台游戏开发的需求，并减少开发时间。

2. **配置基于事件的成就太复杂。**
   对于基于事件的成就服务，必须在 XBOX 服务中配置成就的解锁逻辑，以便服务知道如何解释作品的统计数据以及何时为用户解锁成就。
   这是通过使用成就配置中新的“成就规则”部分来完成的。
   尽管在云中拥有解锁逻辑可能很强大，但额外的配置要求增加了作品成就设计和创建的复杂性。

3. **基于云的解锁机制难以进行故障排除。**
   尽管基于事件的成就服务引入了有用的功能，但游戏开发人员验证和排查其成就问题也可能变得更加困难。这是因为成就解锁是由驻留在服务上的规则间接触发的，而不是由游戏本身直接控制的。

游戏开发人员还提供反馈说他们重视基于事件的成就引入的一些功能，例如以下功能：

1. 用户体验功能，例如成就进度、实时更新、概念艺术奖励以及将解锁发布到活动源中。

2. 配置改进，例如服务配置代替必须包含在游戏包中的本地配置（例如 gameconfig、XLAST 和 SPA）。

3. 在游戏发布后能够轻松编辑成就字符串和图像。

游戏管理的成就是基于事件的成就服务的替代品，它使配置成就、将解锁和更新集成到游戏代码中以及验证成就是否按预期工作变得更加容易。

## 游戏管理的成就的不同之处

| 功能 | 游戏管理的成就服务 | 基于事件的成就服务 |
| - | - | - |
| 解锁触发器 | 通过 API 调用直接触发 | 通过遥测事件间接触发 |
| 解锁所有者 | 作品 | XBOX 服务 |
| 配置 | 字符串、图像、奖励 | 字符串、图像、奖励、解锁规则 \[+ 统计信息、+事件] |
| 进度 | 支持 *通过 API 调用直接支持* | 支持  *通过遥测事件间接支持* |
| 实时活动 (RTA) | 支持 | 支持 |
| 挑战 | 不支持 | 支持 |

## 作品要求

以下是将使用游戏管理的成就服务的任何作品的要求。

1. **不得已使用基于事件的成就发布。** 已经发布并使用基于事件的成就服务的作品不符合资格。有关更多信息，请参阅[为什么现有作品无法“迁移”到游戏管理的成就服务？](#_Why_cant_existing)

2. **必须使用 2016 年 8 月的 XBOX One 软件开发工具包或更高版本。**

3. **必须是托管开发人员计划（例如 ID\@XBOX）的一部分。** 游戏管理的成就服务不适用于创作者计划或旧版平台，包括 XBOX 360、Windows 8.x 或更早版本，或 Windows Phone 8 或更早版本。

## 常见问题解答

### 如果我的作品使用基于事件的统计信息，我是否还必须使用基于事件的成就？

不需要。我们建议将游戏管理的成就与基于事件的统计信息并排使用。

### 为什么游戏管理的成就服务不支持挑战？

XBOX 游戏的使用数据显示，挑战的当前实现和呈现方式无法满足大多数游戏开发人员的需求。
我们将继续收集开发人员的意见和反馈，以便我们能够提供符合开发人员需求的未来功能。

### 如果我的作品使用游戏管理的成就服务，我是否仍然可以通过内容更新添加新成就？

可以。所有服务的成就策略都是相同的。有关更多信息，请参阅 [XBOX Live 成就和奖励策略](https://learn.microsoft.com/gaming/gdk/docs/services/store/policies/pc/live-policies-pc#achievements-and-awards)。

### 为什么现有作品无法“迁移”到游戏管理的成就服务？

对于绝大多数现有作品，“迁移”到游戏管理的成就服务将不仅仅需要更新其服务配置并将事件写入替换为成就解锁调用。仅这些更改就会非常昂贵，并存在错误和意外行为的重大风险，这可能导致成就无法修复地损坏。
此外，大多数现有作品也拥有具有现有数据的用户。

试图转换已经使用基于事件的成就服务的实时游戏对开发人员和 XBOX 来说都是一项非常昂贵的工作，并且会严重危害现有用户的配置文件和游戏体验。

### 如果我的作品是使用基于事件的成就服务发布的，那么该作品未来的可下载内容 (DLC) 是否可以切换到游戏管理的成就？

作品的所有成就必须使用相同的成就服务。
基础游戏使用的成就服务必须用于作品的所有未来成就。

### 在我的开发人员沙盒中测试成就时，我是否可以混合使用游戏管理的成就服务和基于事件的成就服务？

不可以。作品的所有成就必须使用相同的成就服务。

### 游戏管理的成就服务是否支持离线成就解锁？

如果作品在设备处于脱机状态时解锁成就，API 会自动将离线解锁请求排队。当设备重新建立网络连接时，解锁请求会自动同步到 XBOX 服务，类似于基于事件的成就服务的离线体验。
用户处于脱机状态时不会发生成就解锁。

### 我在合作伙伴中心看到了一个新的 `AchievementUpdate` 事件。如果我的作品使用该事件，是否意味着它具有游戏管理的成就？

`AchievementUpdate` 基事件是 XBOX 服务出于后端目的所必需的。
您可以安全地忽略此基事件。

如果您的作品使用此基事件类型配置事件，则这些事件写入将被 XBOX 服务忽略。
基于事件的成就服务上构建的作品应继续使用其他基事件类型配置其事件。
基于游戏管理的成就服务构建的作品不需要为成就目的配置*任何*事件。

### 如何重置测试用户的成就数据？

您可以使用 `XblPlayerDataReset` 工具重置测试用户的 XBOX 玩家数据，包括成就。有关如何使用该工具的详细信息，请参阅 [XblPlayerDataReset 文档](https://devdocs.xbox.com/zh-CN/tools/tools-services/live-player-data-reset.md)。


## Related topics

- [用户成就系统](https://devdocs.xbox.com/zh-CN/services/xbox-services/player-data/achievements/live-achievements-nav.md)
- [基于事件的统计信息与游戏管理的统计信息](https://devdocs.xbox.com/zh-CN/services/xbox-services/player-data/stats-leaderboards/live-stats-eb-vs-tm.md)
- [获取基于事件的成就](https://devdocs.xbox.com/zh-CN/services/xbox-services/player-data/achievements/event-based/how-to/live-getting-event-based-achievements.md)
- [基于事件的成就概述](https://devdocs.xbox.com/zh-CN/services/xbox-services/player-data/achievements/event-based/live-achievements-eb-overview.md)
- [基于事件的成就的门户配置](https://devdocs.xbox.com/zh-CN/services/xbox-services/player-data/achievements/event-based/config/live-achievements-eb-portal.md)
