Aggiungi eventi al tuo gioco

A seguito del ritiro dell'API Google Sign-in, rimuoveremo l'SDK di Google Play Services per i giochi v1 nel 2026. Dopo febbraio 2025, non potrai pubblicare su Google Play titoli appena integrati con l'SDK v1 per i giochi. Ti consigliamo di utilizzare invece l'SDK giochi v2.
Sebbene i titoli esistenti con le integrazioni precedenti della versione 1 dei giochi continuino a funzionare per un paio di anni, ti invitiamo a eseguire la migrazione alla versione 2 a partire da giugno 2025.
Questa guida è dedicata all'utilizzo dell'SDK Play Services v1. L'SDK C++ per la versione 2 dei servizi per i giochi di Google Play non è ancora disponibile.

Questa guida mostra come utilizzare il servizio Eventi in un'applicazione C++.

Prima di iniziare

Se non l'hai ancora fatto, ti consigliamo di consultare i concetti di gioco relativi agli eventi.

Per configurare l'ambiente di sviluppo C++ in modo da utilizzare il servizio Eventi, segui le istruzioni riportate nella guida Guida introduttiva per C++. Puoi scaricare l'SDK C++ relativo ai servizi per i giochi di Google Play dalla pagina Download SDK.

Prima che il gioco possa accedere agli eventi, devi prima definirli in Google Play Console.

Inviare un evento

Puoi aggiungere codice al tuo gioco per notificare il servizio Eventi ogni volta che si verifica un evento di interesse per il tuo gioco. Alcuni esempi di eventi che puoi acquisire nel tuo gioco sono: uccidere nemici, esplorare o tornare in varie regioni del gioco o acquisire oggetti in-game. In genere, chiami il metodo Increment dell'event manager per incrementare il conteggio di un evento di 1 ogni volta che il giocatore esegue un'azione associata all'evento (ad esempio "Ha ucciso un mostro").

L'esempio seguente mostra come inviare il conteggio degli eventi aggiornato al servizio Eventi.

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

Recuperare gli eventi

Per recuperare il valore corrente del conteggio memorizzato sui server di Google per un evento specifico, chiama uno dei metodi Fetch*. Ad esempio, potresti farlo se vuoi mostrare le statistiche o i progressi in-game di un giocatore da un'interfaccia utente personalizzata nel tuo gioco.

L'esempio seguente mostra come recuperare e registrare i dati sugli eventi nel tuo gioco.

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