Este documento descreve como usar as estatísticas do jogo dos serviços do Google Play Games em jogos C++. Este
documento pressupõe que você configurou seu projeto conforme descrito em Configurar os serviços do Google Play Games. Você pode encontrar a API de estatísticas do jogo no
PgsGameStatsClient.
Antes de começar
Caso ainda não tenha feito isso, recomendamos consultar os conceitos de estatísticas do jogo.
Antes de começar a programar usando a API de estatísticas do jogo:
Siga as instruções do guia Configurar os serviços do Google Play Games para instalar e configurar seu app para usar os serviços do Google Play Games.
Defina as estatísticas do jogo que você quer que o jogo mostre seguindo as instruções do guia do Google Play Console.
Acessar o cliente de estatísticas do jogo
Para começar a usar a API de conquistas, o jogo precisa ter um
PgsGameStatsClient
objeto. Para isso, chame o
PgsPlayerGameEvent_create
método e transmita a atividade.
Integração no lado do cliente
A integração no lado do cliente para PlayerGameEvent envolve a criação do
objeto de evento no SDK C++ nos pontos de acionamento e
o envio deles usando as funções de upload fornecidas pelo SDK.
Da mesma forma, para o evento progressUpdate, registre o progresso atualizado usando a propriedade currentProgress com outras propriedades definidas e envie-as usando as funções de upload fornecidas pelo SDK.
Eventos
A integração no lado do cliente para PlayerGameEvent é:
Criar evento de jogo do player
C++
// Build the PlayerGameEvent
PgsPlayerGameEvent* player_event = PgsPlayerGameEvent_create("matchCompleted");
if (player_event != nullptr) {
PgsPlayerGameEvent_putString(player_event, "matchId", "Match_A");
PgsPlayerGameEvent_putString(player_event, "gameMode", "Battle_B");
PgsPlayerGameEvent_putString(player_event, "mapId", "Location_XYZ");
PgsPlayerGameEvent_putBoolean(player_event, "isWinner", true);
PgsPlayerGameEvent_putLong(player_event, "playerElimination", 2);
}
Criar evento de jogo do player progressUpdate
C++
PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
Registrar evento e fazer upload
C++
// Record the event
PgsGameStatsClient_recordEvent(client, player_event);
// This submits the events to PGS
PgsGameStatsClient_requestEventsUpload(client);
// Clean up handle to avoid leaks
PgsPlayerGameEvent_destroy(player_event);
// Clean up client handle when PGS operations are finished
PgsGameStatsClient_destroy(client);