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

# Gravar um evento para alimentar uma estatística baseada em eventos

> Exemplo de código XblEventsWriteInGameEvent que dispara um evento dos serviços do XBOX para que as regras de estatística configuradas atualizem as estatísticas de usuário baseadas em eventos no serviço.

Este tópico fornece código de exemplo que mostra como gravar um evento.
No serviço, esse código de exemplo atualiza as estatísticas baseadas em eventos de acordo com as regras de estatística que você definiu no Partner Center.

O exemplo a seguir usa a API C simples. `LogToScreen` representa a função de registro em log do seu aplicativo.

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

Para obter mais informações, veja
[XblEventsWriteInGameEvent](https://docs.xbox.com/pt-BR/reference/live/xsapi-c/events_c/functions/xbleventswriteingameevent.md).

## Solução de problemas

* **A chamada retorna `E_INVALIDARG`.** *xboxLiveContext* ou o nome do evento é nulo.
* **A chamada retorna `E_XBL_NOT_INITIALIZED`.** Chame [XblInitialize](https://docs.xbox.com/pt-BR/reference/live/xsapi-c/xbox_live_global_c/functions/xblinitialize.md) antes de gravar eventos.
* **A chamada retorna `E_NOTIMPL`.** O recurso XGameEvent do Gaming Runtime não está disponível. Em um Windows PC, o Gaming Runtime Services instalado precisa incluir o recurso XGameEvent.
* **A chamada é bem-sucedida, mas a estatística não muda.** O nome do evento e os nomes dos campos do evento precisam corresponder aos nomes na configuração de serviço do seu título. Os nomes não diferenciam maiúsculas de minúsculas. Se o nome do evento não corresponder a um evento na configuração de serviço, o serviço descartará o evento sem notificar o seu jogo.
* **Os valores dos campos estão no lugar errado.** Coloque os campos que têm um conjunto finito de valores numéricos ou de cadeia de caracteres, como nível de dificuldade ou modo de jogo, nas dimensões. Coloque as métricas numéricas escalares, como pontuação, tempo ou posição, nas medidas.
* **As atualizações levam tempo.** Os eventos são gravados localmente no dispositivo, mesmo quando ele está offline, e são carregados quando o dispositivo fica online. Se o dispositivo estiver online, as estatísticas baseadas em eventos normalmente são atualizadas de 5 a 20 segundos após a gravação do evento.


## Related topics

- [Código de exemplo de estatísticas e leaderboards baseados em eventos (conteúdo)](https://docs.xbox.com/pt-BR/services/xbox-services/player-data/stats-leaderboards/event-based/how-to/live-statslb-eb-howto-nav.md)
- [Gravando um evento para viabilizar uma conquista baseada em eventos](https://docs.xbox.com/pt-BR/services/xbox-services/player-data/achievements/event-based/how-to/live-writing-event-based-achievement.md)
- [Tratar uma alteração de estatística baseada em eventos](https://docs.xbox.com/pt-BR/services/xbox-services/player-data/stats-leaderboards/event-based/how-to/live-handling-eb-stat-change.md)
- [Primeiros passos com estatísticas baseadas em eventos](https://docs.xbox.com/pt-BR/services/xbox-services/player-data/stats-leaderboards/event-based/config/live-stats-first-glance.md)
- [Obter estatísticas baseadas em eventos](https://docs.xbox.com/pt-BR/services/xbox-services/player-data/stats-leaderboards/event-based/how-to/live-getting-eb-stat.md)
