> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 编写事件以驱动基于事件的统计信息

> 示例 XblEventsWriteInGameEvent 代码，用于触发 XBOX 服务事件，使已配置的统计规则更新服务上基于事件的用户统计信息。

本主题提供了展示如何编写事件的示例代码。
在服务端，此示例代码将根据你在 Partner Center 定义的统计规则更新基于事件的统计信息。

以下示例使用扁平 C API。`LogToScreen` 表示应用的日志记录函数。

```cpp theme={null}
HRESULT hr = XblEventsWriteInGameEvent(
    xboxLiveContext,
    "PuzzleSolved",
    R"({"DifficultyLevelId":100, "GameplayModeId":"Adventure"})",
    R"({"LocationX":1,"LocationY":1})"
);
if (FAILED(hr))
{
    // Log the failure. Don't retry the call in a loop.
    LogToScreen("XblEventsWriteInGameEvent failed: 0x%08X", static_cast<unsigned int>(hr));
}
```

有关详细信息，请参阅
[XblEventsWriteInGameEvent](https://docs.xbox.com/zh-CN/reference/live/xsapi-c/events_c/functions/xbleventswriteingameevent.md)。

## 故障排除

* **调用返回 `E_INVALIDARG`。** *xboxLiveContext* 或事件名称为 null。
* **调用返回 `E_XBL_NOT_INITIALIZED`。** 请在写入事件之前调用 [XblInitialize](https://docs.xbox.com/zh-CN/reference/live/xsapi-c/xbox_live_global_c/functions/xblinitialize.md)。
* **调用返回 `E_NOTIMPL`。** Gaming Runtime 的 XGameEvent 功能不可用。在 Windows 电脑上，已安装的 Gaming Runtime Services 必须包含 XGameEvent 功能。
* **调用成功，但统计信息未更改。** 事件名称和事件字段名称必须与游戏服务配置中的名称匹配。名称不区分大小写。如果事件名称与服务配置中的事件不匹配，服务会丢弃该事件，且不会通知你的游戏。
* **字段值位置错误。** 将具有有限数值或字符串值集的字段（例如难度级别或游戏模式）放在维度 (dimensions) 中。将标量数值指标（例如分数、时间或位置）放在度量 (measurements) 中。
* **更新需要时间。** 事件在设备本地写入（即使设备处于脱机状态），并在设备联机时上传。如果设备处于联机状态，基于事件的统计信息通常会在写入事件后 5 到 20 秒内更新。


## Related topics

- [基于事件的统计信息与排行榜示例代码（目录）](https://docs.xbox.com/zh-CN/services/xbox-services/player-data/stats-leaderboards/event-based/how-to/live-statslb-eb-howto-nav.md)
- [写入事件以驱动基于事件的成就](https://docs.xbox.com/zh-CN/services/xbox-services/player-data/achievements/event-based/how-to/live-writing-event-based-achievement.md)
- [基于事件的统计信息和排行榜配置](https://docs.xbox.com/zh-CN/services/xbox-services/player-data/stats-leaderboards/event-based/config/index.md)
- [基于事件的统计信息与游戏管理的统计信息](https://docs.xbox.com/zh-CN/services/xbox-services/player-data/stats-leaderboards/live-stats-eb-vs-tm.md)
- [基于事件的统计信息概述](https://docs.xbox.com/zh-CN/services/xbox-services/player-data/stats-leaderboards/event-based/live-stats-eb-overview.md)
