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

# Écrire un événement pour alimenter une statistique basée sur les événements

> Exemple de code XblEventsWriteInGameEvent qui déclenche un événement des services XBOX afin que les règles de statistiques configurées mettent à jour les statistiques utilisateur basées sur les événements sur le service.

Cette rubrique fournit un exemple de code qui montre comment écrire un événement.
Sur le service, cet exemple de code met à jour les statistiques basées sur les événements selon les règles de statistiques que vous avez définies dans Partner Center.

L'exemple suivant utilise l'API C plate. `LogToScreen` représente la fonction de journalisation de votre application.

```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));
}
```

Pour plus de renseignements, consultez
[XblEventsWriteInGameEvent](https://docs.xbox.com/fr-CA/reference/live/xsapi-c/events_c/functions/xbleventswriteingameevent.md).

## Résolution des problèmes

* **L'appel retourne `E_INVALIDARG`.** *xboxLiveContext* ou le nom de l'événement est null.
* **L'appel retourne `E_XBL_NOT_INITIALIZED`.** Appelez [XblInitialize](https://docs.xbox.com/fr-CA/reference/live/xsapi-c/xbox_live_global_c/functions/xblinitialize.md) avant d'écrire des événements.
* **L'appel retourne `E_NOTIMPL`.** La fonctionnalité XGameEvent du Gaming Runtime n'est pas disponible. Sur un PC Windows, les Gaming Runtime Services installés doivent inclure la fonctionnalité XGameEvent.
* **L'appel réussit, mais la statistique ne change pas.** Le nom de l'événement et les noms des champs de l'événement doivent correspondre aux noms de la configuration de service de votre titre. Les noms ne respectent pas la casse. Si le nom de l'événement ne correspond à aucun événement de la configuration de service, le service ignore l'événement sans en avertir votre jeu.
* **Les valeurs des champs ne sont pas au bon endroit.** Placez dans les dimensions les champs qui ont un ensemble fini de valeurs numériques ou de chaînes, comme le niveau de difficulté ou le mode de jeu. Placez dans les mesures les métriques numériques scalaires, comme le score, le temps ou la position.
* **Les mises à jour prennent du temps.** Les événements sont écrits localement sur l'appareil, même lorsque celui-ci est hors ligne, et sont chargés lorsque l'appareil est en ligne. Si l'appareil est en ligne, les statistiques basées sur les événements sont généralement mises à jour de 5 à 20 secondes après l'écriture de l'événement.


## Related topics

- [Exemple de code pour les statistiques et classements basés sur les événements (contenu)](https://docs.xbox.com/fr-CA/services/xbox-services/player-data/stats-leaderboards/event-based/how-to/live-statslb-eb-howto-nav.md)
- [Écrire un événement pour alimenter un succès basé sur les événements](https://docs.xbox.com/fr-CA/services/xbox-services/player-data/achievements/event-based/how-to/live-writing-event-based-achievement.md)
- [Obtenir les statistiques basées sur les événements](https://docs.xbox.com/fr-CA/services/xbox-services/player-data/stats-leaderboards/event-based/how-to/live-getting-eb-stat.md)
- [Premier aperçu des statistiques basées sur les événements](https://docs.xbox.com/fr-CA/services/xbox-services/player-data/stats-leaderboards/event-based/config/live-stats-first-glance.md)
- [Gérer un changement de statistique basée sur les événements](https://docs.xbox.com/fr-CA/services/xbox-services/player-data/stats-leaderboards/event-based/how-to/live-handling-eb-stat-change.md)
