Statistiche della partita

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:

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