Questo documento descrive come utilizzare le statistiche di gioco di Google Play Games Services nei giochi C++. Questo
documento presuppone che tu abbia configurato il progetto come descritto in Configurare
Google Play Games Services. Puoi trovare l'API delle statistiche di gioco in the
PgsGameStatsClient.
Prima di iniziare
Se non l'hai ancora fatto, potrebbe essere utile esaminare i concetti delle statistiche di gioco.
Prima di iniziare a scrivere codice utilizzando l'API Statistiche di gioco:
Segui le istruzioni per installare e configurare l'app in modo che utilizzi Play Games Services nella guida Configura Google Play Games Services.
Definisci le statistiche di gioco che vuoi per il tuo gioco seguendo le istruzioni nella guida di Google Play Console.
Recupera il client Statistiche di gioco
Per iniziare a utilizzare l'API Achievements, il tuo gioco deve prima ottenere un
PgsGameStatsClient
oggetto. Puoi ottenerlo chiamando il
PgsPlayerGameEvent_create
metodo e passando l'attività.
Integrazione lato client
L'integrazione lato client per PlayerGameEvent prevede la creazione dell'oggetto evento nell'SDK C++, nei punti di attivazione e l'invio utilizzando le funzioni di caricamento fornite dall'SDK.
Allo stesso modo, per l'evento progressUpdate, registra i progressi aggiornati utilizzando la proprietà currentProgress con proprietà aggiuntive definite e inviali utilizzando le funzioni di caricamento fornite dall'SDK.
Eventi
L'integrazione lato client per PlayerGameEvent è:
Crea evento di gioco del giocatore
C++
// Build the PlayerGameEvent
PgsPlayerGameEvent* player_event = PgsPlayerGameEvent_create("matchCompleted");
if (player_event != nullptr) {
PgsPlayerGameEvent_putString(player_event, "matchId", "Match_A");
PgsPlayerGameEvent_putString(player_event, "gameMode", "Battle_B");
PgsPlayerGameEvent_putString(player_event, "mapId", "Location_XYZ");
PgsPlayerGameEvent_putBoolean(player_event, "isWinner", true);
PgsPlayerGameEvent_putLong(player_event, "playerElimination", 2);
}
Crea evento di gioco del giocatore progressUpdate
C++
PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
Registra e carica l'evento
C++
// Record the event
PgsGameStatsClient_recordEvent(client, player_event);
// This submits the events to PGS
PgsGameStatsClient_requestEventsUpload(client);
// Clean up handle to avoid leaks
PgsPlayerGameEvent_destroy(player_event);
// Clean up client handle when PGS operations are finished
PgsGameStatsClient_destroy(client);