Este guia mostra como usar o serviço Eventos em um aplicativo C++.
Antes de começar
Caso ainda não tenha feito isso, talvez seja útil revisar o conceitos de eventos do jogo.
Para configurar seu ambiente de desenvolvimento em C++ para usar o serviço de eventos, siga as instruções na Introdução ao C++. Você pode fazer o download o SDK para C++ dos serviços relacionados a jogos do Google Play na página de downloads do SDK
Antes que seu jogo possa acessar eventos, é necessário defini-los primeiro em o Google Play Console.
Como enviar um evento
É possível adicionar um código ao jogo para notificar o serviço de Eventos sempre que um evento de
interesse em seu jogo. Exemplos de eventos que você pode capturar no
são: matar inimigos, explorar ou retornar a vários
regiões ou para adquirir itens no jogo. Normalmente, você chamaria
o método Increment
no gerenciador de eventos para incrementar a contagem de um evento em 1 sempre que o jogador
realiza uma ação associada ao evento
(por exemplo, "Merrou um monstro").
O exemplo a seguir mostra como enviar a contagem de eventos atualizada para o serviço de eventos.
// Increment the event count when player performs the 'Attack blue
// monster' action.
game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);
Como recuperar eventos
Para recuperar o valor de contagem atual armazenado nos servidores do Google para um determinado
chame um dos métodos Fetch*
. Talvez você
isso, por exemplo, se você deseja mostrar as estatísticas no jogo de um jogador ou
o progresso de uma IU personalizada no jogo.
O exemplo a seguir mostra como recuperar e registrar os dados do evento no seu jogo.
// Log Events details.
LogI("---- Showing Event Counts -----");
gpg::EventManager::FetchAllCallback callback =
[](gpg::EventManager::FetchAllResponse const &response) {
for (auto i : response.data) {
gpg::Event const &event = i.second;
LogI("Event name: %s count: %d", event.Name().c_str(),
event.Count());
}
};
game_services_->Events().FetchAll(callback);