Agrega eventos a tu juego

Tras la baja de la API de Google Sign-In, quitaremos el SDK de juegos de la versión 1 en 2026. Después de febrero de 2025, no podrás publicar títulos que se hayan integrado recientemente con la versión 1 del SDK de juegos en Google Play. Te recomendamos que uses la versión 2 del SDK de juegos.
Si bien los títulos existentes con las integraciones anteriores de la versión 1 de los juegos seguirán funcionando durante un par de años, te recomendamos que migres a la versión 2 a partir de junio de 2025.
Esta guía se aplica al uso del SDK de la versión 1 de los Servicios de juego de Play. El SDK de C++ para la versión 2 de los Servicios de juego de Play aún no está disponible.

En esta guía, se muestra cómo usar el servicio de Events en una aplicación de C++.

Antes de comenzar

Si aún no lo hiciste, puede resultarte útil consultar los conceptos de juegos de eventos.

Para configurar tu entorno de desarrollo de C++ para usar el servicio de Events, sigue las instrucciones de la guía de Introducción a C++. Puedes descargar el SDK de C++ de los Servicios de juego de Play desde la página de descarga de SDKs.

Antes de que tu juego pueda acceder a los eventos, primero debes definirlos en Google Play Console.

Cómo enviar un evento

Puedes agregar código a tu juego para notificar al servicio de Events cada vez que se produce un evento de interés en tu juego. Algunos ejemplos de eventos que podrías capturar en tu juego son: matar enemigos, explorar o regresar a varias regiones del juego, o adquirir elementos del juego. Por lo general, llamarías al método Increment en el administrador de eventos para aumentar en 1 el recuento de un evento cada vez que el jugador realiza una acción asociada con el evento (por ejemplo, “Mató a un monstruo”).

En el siguiente ejemplo, se muestra cómo puedes enviar el recuento de eventos actualizado al servicio de Events.

  // Increment the event count when player performs the 'Attack blue
  // monster' action.
  game_services_->Events().Increment(BLUE_MONSTER_EVENT_ID);

Recupera eventos

Para recuperar el valor de recuento actual almacenado en los servidores de Google para un evento específico, llama a uno de los métodos Fetch*. Por ejemplo, podrías hacerlo si quieres mostrar las estadísticas o el progreso de un jugador en el juego desde una IU personalizada en tu juego.

En el siguiente ejemplo, se muestra cómo puedes recuperar y registrar los datos del evento en tu juego.

  // 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);