Aggiungi eventi al tuo gioco

A seguito del ritiro dell'API Google Sign-In, rimuoveremo l'SDK v1 per i giochi nel 2026. Dopo febbraio 2025, non potrai pubblicare su Google Play titoli che sono stati integrati di recente con l'SDK v1 per i giochi. Ti consigliamo di utilizzare l'SDK v2 per i giochi.
Anche se i titoli esistenti integrati in precedenza con l'SDK v1 per i giochi continueranno a funzionare per un paio di anni, ti consigliamo di eseguire la migrazione all'SDK v2 a partire da giugno 2025.
Questa guida riguarda l'utilizzo dell'SDK Play Games Services v1. L'SDK Play Games Services v2 C++ non è ancora disponibile.

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

Prima di iniziare

Se non l'hai ancora fatto, potrebbe esserti utile rivedere i concetti di gioco degli eventi.

Per configurare l'ambiente di sviluppo C++ in modo da utilizzare il servizio Events, segui le istruzioni riportate nella guida Guida introduttiva per C++. Puoi scaricare l'SDK Play Games Services C++ dalla pagina dei download dell'SDK.

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

Inviare un evento

Puoi aggiungere codice al tuo gioco per inviare una notifica al servizio Eventi ogni volta che si verifica un evento di interesse per il tuo gioco. Esempi di eventi che potresti acquisire nel tuo gioco sono: uccidere nemici, esplorare o tornare in varie regioni del gioco o acquisire oggetti di gioco. In genere, chiami il metodo Increment sul gestore eventi per incrementare di 1 il conteggio di un evento ogni volta che il giocatore esegue un'azione associata all'evento (ad esempio "Ucciso un mostro").

Il seguente esempio mostra come inviare il conteggio aggiornato degli eventi al servizio Events.

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

Recuperare eventi

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

Il seguente esempio mostra come recuperare e registrare i dati degli 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);