Adicionar eventos ao jogo

Após a descontinuação da API Google Sign-In, vamos remover a v1 do SDK dos serviços relacionados a jogos em 2026. A partir de fevereiro de 2025, não será mais possível publicar no Google Play títulos que foram integrados a essa versão do SDK. Recomendamos que você use a v2 dele.
Embora os títulos atuais com as integrações anteriores da v1 de jogos continuem funcionando por alguns anos, recomendamos que você migre para a v2 a partir de junho de 2025.
Este guia é para usar a v1 do SDK dos serviços relacionados a jogos do Google Play. A v2 do SDK C++ para os serviços relacionados a jogos do Google Play ainda não está disponível.

Este guia mostra como usar o serviço de eventos em um aplicativo C++.

Antes de começar

Consulte os conceitos de eventos em jogos, caso ainda não tenha feito isso.

Para configurar seu ambiente de desenvolvimento em C++ para usar o serviço de eventos, siga as instruções no guia de introdução ao C++. Baixe o SDK para C++ dos serviços relacionados a jogos do Google Play na página de downloads.

Antes de acessar os eventos, é necessário defini-los no Google Play Console.

Enviar um evento

Você pode adicionar um código ao jogo para notificar o serviço de eventos sempre que ocorrer um evento de interesse. Exemplos de eventos que você pode capturar no seu jogo: matar inimigos, explorar ou retornar a várias regiões ou adquirir itens. Normalmente, você chama o método Increment no gerenciador de eventos para aumentar em 1 a contagem de um evento sempre que o jogador realiza uma ação associada a ele (por exemplo, matar 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);

Recuperar eventos

Para recuperar o valor da contagem atual (relacionada a um evento) armazenado nos servidores do Google, chame um dos métodos Fetch*. Por exemplo, se você quiser mostrar as estatísticas ou o progresso de um jogador em uma UI personalizada no seu jogo.

O exemplo a seguir mostra como recuperar e registrar os dados de eventos no 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);