基于事件的成就概述

本主题介绍基于事件的成就服务如何使用数据平台遥测来跟踪玩家成就。

注意

如果你的游戏使用基于事件的成就(以前称为成就 2013),并且你希望支持多个平台,则必须继续使用基于事件的成就。 为了让用户可以在所有平台上保留其成就,这是必需的。

为帮助开发者和发布者将其游戏作为服务来管理,成就服务建立在基于 Xbox 服务事件的数据平台。

基于事件的数据平台由单个事件驱动的数据模型和管道组成,供游戏开发者用于收集使用情况遥测并基于此数据构建用户体验。 数据平台的关键价值主张之一是一种通用的用户统计分类法,它支持发布者共享的语义,以便深入了解其玩家的行为。

所有成就都来自用户的统计信息,无需从游戏直接调用 API。 这样做有两个原因。

  1. 开发者能够在游戏启动后添加成就,而无需进行额外的代码更改或游戏更新。 如果游戏在启动时已经进行了充分的检测,则开发者需要在云中更新游戏的服务配置即可添加新的成就。

  2. 游戏可以减少对同一游戏内用户行为的服务调用。 例如,游戏可能会记录一个事件,其用户统计信息应用于多个区域。 该事件最终可能会影响成就、排行榜和商业智能 (BI) 报表。

数据管道

以下步骤概括介绍了使用成就系统的主要阶段。

  1. 配置设计并发布游戏配置,该配置指定Xbox 服务应处理或存储的相关数据。

  2. 检测 - 由游戏完成事件日志记录的实现,以便正确地编码和传输数据。

  3. 集合 - 游戏使用客户端日志记录库将事件馈送到数据平台。 其服务基于游戏配置处理事件,以便根据情况聚合、关联、路由和存储统计信息。

  4. 成就处理 - 服务处理传入的统计信息更改,以检测何时达到成就目标。 根据游戏配置,服务会解锁成就、提醒相应的奖励系统并存储成就记录。

  5. 通知 - 成就服务可将解锁活动传达给用户(通过系统 toast 通知)、游戏、Xbox 客户端以及其他 Xbox 服务来增强额外体验和功能。

  6. 分析 - 发布者用于了解客户如何使用其游戏的在线报告和商业智能平台。

成就服务的主要功能

Xbox 服务大大地扩展了成就服务,这使得游戏开发者在如何使用成就来促进用户参与方面有了更多的选择和控制权。 基于事件的成就服务引入了以下功能:

  • 云触发解锁
  • 挑战
  • 在成就中使用深层链接
  • 成就进度

云触发解锁

对于基于事件的成就,游戏不会对 Xbox 服务进行特定于成就的调用来解锁成就。 相反,开发人员和发布者现在会在云中的服务配置中在线配置成就的解锁规则。 Xbox 服务在云中实时处理这些规则。 这使得开发者和发布者可以在游戏启动后不进行游戏更新的情况下添加新的成就和挑战。

挑战(限时成就)

较新式游戏托管的成就服务不再提供挑战,不再建议使用挑战。 有关详细信息,请参阅基于事件的成就与游戏管理的成就

挑战是有时间限制的成就,用户只能在指定的时间范围内解锁。 配置它们就像配置成就一样(具有图标、解锁规则和隐藏功能),但它们还要求定义符合条件的时间范围。

当用户完成挑战时,它将作为已解锁的成就存储在用户的成就历史记录中。 如果用户参与了某项挑战,但未在符合条件的时间范围内解锁该挑战,则用户的成就历史记录中不会保留该记录。

游戏可以使用成就架构指定成就详细信息中显示的深层链接。 深层链接链接到游戏中可赢得成就的点。 链接的格式设置为在协议激活期间传递给游戏的字符串。 游戏必须解析字符串以确定要去往游戏中的何处。 例如,与完成游戏中的某个关卡相关的成就可在成就详细信息中包括深层连接,将一个字符串传递给游戏。 这会告知游戏转到该级别。

成就进度

Xbox 服务成就服务衡量成就进度,并提供可用于向玩家显示该进度的数据。

成就服务根据每个成就规则提供进度详细信息。 如果某个成就具有多个必须满足才能解锁它的要求,则服务响应将包括每个要求的进度详细信息。 如果成就有一个基于多项统计信息的要求,则服务将返回在所有基础统计数据中合并的单一进度值。

进度对象

查询用户成就列表将返回一个进度对象。 它包含有关成就规则(要求)的详细数据,以及用户在满足该要求方面当前的进度状态。 有关详细信息,请参阅 XblAchievementProgression