向统计信息规则添加字段值
本主题介绍如何向统计信息规则添加字段名称,而不是字段值。
事件值添加到统计信息名称
统计信息模板功能强大且非常灵活,但如果未正确配置,则有时可能会产生意想不到的结果。 统计信息模板创建可变的统计信息路径或统计信息实例。 统计信息模板将基于从源事件中选定字段的名称和值派生的变量得到统计信息名称。 这是您了解诸如玩家在每个地图中获得多少金币等内容的方式。
不仅事件名称将添加到统计信息名称,还将添加事件值。 这通常会造成混淆和意外的结果。
单个统计信息规则的示例
假设你的游戏发送了一个名为 GameEnd
的事件。 它有一个名为 Map
的 int
字段和一个名为 Gold
的 int
字段。
若要使用单一统计信息规则以映射的方式捕获高分,则需要为统计信息提供名称(例如 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
。 结果是,只有当玩家获得统计信息名称中定义的特定量金币时(可能不是预期的值),这些统计信息才会增加。