向统计信息规则添加字段值

本主题介绍如何向统计信息规则添加字段名称,而不是字段值。

事件值添加到统计信息名称

统计信息模板功能强大且非常灵活,但如果未正确配置,则有时可能会产生意想不到的结果。 统计信息模板创建可变的统计信息路径或统计信息实例。 统计信息模板将基于从源事件中选定字段的名称和值派生的变量得到统计信息名称。 这是您了解诸如玩家在每个地图中获得多少金币等内容的方式。

不仅事件名称将添加到统计信息名称,还将添加事件。 这通常会造成混淆和意外的结果。

单个统计信息规则的示例

假设你的游戏发送了一个名为 GameEnd 的事件。 它有一个名为 Mapint 字段和一个名为 Goldint 字段。

若要使用单一统计信息规则以映射的方式捕获高分,则需要为统计信息提供名称(例如 GoldByMap),并向统计信息规则添加 Map 字段。 在此示例中,Map 值是一个数字 ID。

您的参数(包含想要为统计信息增加的值的字段)将是 GameEnd 事件上的 Gold 字段。

假设游戏向 Xbox 服务发送 GameEnd 事件。 事件的 Map 字段值为 1。 Gold 字段值为 100。 结果是将统计信息写入统计信息路径:GoldByMap.Map.1。 此统计信息路径的新值为 100。

下表显示了我们目前拥有的内容。

项目 类型 说明
GameEnd 事件 由你的游戏发送到 Xbox 服务
Map 事件上的字段 int
1 int Map 字段的值
Gold 事件上的字段 int
100 int Gold 字段的值

统计信息路径包含下表中显示的部分。

项目 类型 说明
GoldByMap.Map.1 统计信息路径 此统计信息路径的值为 100。
GoldByMap 统计信息名称 不适用。
Map 统计信息规则 数字 ID。

如果下一个事件的 Map 值为 2,则会将该事件的 Gold 字段添加到新的统计信息路径:GoldByMap.Map.2

假设该事件上的 Gold 字段的值为 200。 现在,我们还会看到下表中显示的内容。

项目 类型 说明
GoldByMap.Map.2 统计信息路径 此统计信息路径的值为 200。

如此一来,您可以保持统计信息值独立,而无需为每个 Map 定义统计信息。

错误地将字段名称而不是字段值添加到统计信息规则的示例

以上述示例为出发点,让我们看看将 Gold 字段名称也添加到 Map 统计信息规则,而不只是仅添加 Gold 参数值时,会发生什么不良结果。 这将导致以下统计信息名称:GoldByMap.Map.1.Gold.100

请注意,玩家获得的金币值(100)也在统计信息的名称中。这意味着在地图 1 上获得 100 金币的玩家将获得此统计信息的值为 100:GoldByMap.Map.1.Gold.100

如果玩家在该地图上获得 101 金币,此配置将导致以下结果,即,一个不同的统计信息名称:GoldByMap.Map.1.Gold.101。 结果是,只有当玩家获得统计信息名称中定义的特定量金币时(可能不是预期的值),这些统计信息才会增加。