Pular para o conteúdo principal
Este tópico fornece código de exemplo para tratar uma alteração de estatística baseada em eventos. Os exemplos são fragmentos de código C++ que usam a API C simples da XBOX Services API (XSAPI). A XSAPI entrega as atualizações de estatísticas por meio do serviço Real-Time Activity (RTA) e gerencia as assinaturas do RTA para você.

Antes de começar

Os fragmentos de código compartilham um mesmo escopo e pressupõem o seguinte:
  • xboxLiveContext é um XblContextHandle do usuário conectado. Para criar um, chame XblContextCreateHandle.
  • xboxUserId é a ID de usuário do XBOX (XUID) uint64_t do jogador cujas atualizações de estatísticas você deseja receber.
  • scid é um const char* que contém a ID de configuração de serviço (SCID) do seu título.
  • TotalPuzzlesSolved é um nome de estatística de exemplo. Substitua-o pelo nome de uma estatística baseada em eventos configurada para o seu título.
  • LogToScreen é uma função de registro em log no estilo printf do seu aplicativo.
Para obter notificações sobre alterações de estatísticas baseadas em eventos
  1. Adicione um manipulador de alteração de estatística.
  2. Acompanhe as estatísticas das quais você deseja receber atualizações.
Para limpar
  1. Pare de acompanhar as estatísticas.
  2. Remova um manipulador de alteração de estatística.

Adicionar um manipulador de alteração de estatística

Registre um manipulador de eventos para notificações de alteração de estatística usando o código de exemplo a seguir. O manipulador de eventos recebe um objeto XblStatisticChangeEventArgs. Se xboxLiveContext ou o manipulador for nulo, XblUserStatisticsAddStatisticChangedHandler retornará 0 e não registrará o manipulador.

Acompanhar as estatísticas das quais você deseja receber atualizações

Seu manipulador recebe atualizações somente das estatísticas que você acompanha. Chame XblUserStatisticsTrackStatistics com os usuários e os nomes de estatísticas dos quais você deseja receber atualizações. Você pode alterar o conjunto de estatísticas acompanhadas a qualquer momento, independentemente dos seus manipuladores.
XblUserStatisticsSubscribeToStatisticChange e XblUserStatisticsUnsubscribeFromStatisticChange foram preteridas. Elas ainda funcionam, mas serão removidas em uma versão futura e, dependendo das configurações do compilador, as chamadas a elas podem gerar avisos de preterição. Em vez delas, use XblUserStatisticsTrackStatistics e XblUserStatisticsStopTrackingStatistics.

Parar de acompanhar estatísticas

Quando você não precisar mais de atualizações de estatísticas específicas, chame XblUserStatisticsStopTrackingStatistics com os mesmos usuários, SCID e nomes de estatísticas que você acompanhou.
Como alternativa, para interromper as atualizações de todas as estatísticas que você acompanha para um conjunto de usuários, chame XblUserStatisticsStopTrackingUsers em vez de XblUserStatisticsStopTrackingStatistics.
A XSAPI conta as solicitações de acompanhamento. Se você acompanhar a mesma estatística de um usuário mais de uma vez, chame uma função de interrupção do acompanhamento o mesmo número de vezes para interromper as atualizações.

Remover um manipulador de alteração de estatística

Remova um manipulador de eventos para notificações de alteração de estatística usando o código de exemplo a seguir.

Confira também

Última modificação em 30 de outubro de 2026