Pular para o conteúdo principal
Este tópico mostra um código de exemplo de como gravar um evento no jogo. Quando o evento é disparado, as estatísticas baseadas em eventos no serviço são atualizadas de acordo com as regras de estatísticas que você definiu no Partner Center. Essas estatísticas, por sua vez, viabilizam as conquistas baseadas em eventos.

Antes de começar

  • Seu produto usa o conjunto completo de recursos dos serviços do XBOX. Novos produtos começam com serviços do XBOX limitados, e as conquistas e o gamerscore não ficam disponíveis até que seu produto seja integrado. Para obter mais informações, consulte Solicitar a integração do produto para habilitar os serviços do XBOX completos.
  • Você configurou o evento, as regras de estatísticas e a conquista no Partner Center e publicou a configuração dos serviços do XBOX na sua área restrita de desenvolvimento.
  • Seu kit de desenvolvimento ou Windows PC usa a mesma área restrita de desenvolvimento, e você entra com uma conta de teste que tem acesso a essa área restrita. Para obter mais informações, consulte Visão geral das áreas restritas dos serviços do XBOX.
  • Seu jogo inicializou o Gaming Runtime e, em seguida, chamou XblInitialize com uma estrutura XblInitArgs cujo membro scid contém sua ID de configuração de serviço (SCID). A SCID diferencia maiúsculas de minúsculas. Para obter mais informações, consulte Como usar as APIs dos serviços do XBOX.
  • Você conectou um usuário e criou um XblContextHandle para esse usuário chamando XblContextCreateHandle.
Para redefinir as conquistas e estatísticas de uma conta de teste entre execuções de teste, use a Ferramenta de redefinição de dados do jogador (XblPlayerDataReset.exe). Para redefinir um jogador por XUID, a conta de desenvolvedor com a qual você entra usando XblDevAccount.exe precisa da permissão Tools Access no nível do produto.

Gravar o evento

O exemplo a seguir usa a API C simples. LogToScreen representa a função de registro em log do seu aplicativo.
Para obter mais informações, veja XblEventsWriteInGameEvent.

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 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 ou a conquista 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.
Última modificação em 30 de outubro de 2026