Statistiques de jeu

Ce document explique comment utiliser les statistiques de jeu des services Google Play Games dans les jeux C++. Il suppose que vous avez configuré votre projet comme décrit dans Configurer les services Google Play Games. Vous trouverez l'API Statistiques de jeu dans le PgsGameStatsClient.

Avant de commencer

Si ce n'est pas déjà fait, n'hésitez pas à revoir les concepts de statistiques de jeu.

Avant de commencer à coder à l'aide de l'API Statistiques de jeu :

Obtenir le client Statistiques de jeu

Pour commencer à utiliser l'API Achievements, votre jeu doit d'abord obtenir un PgsGameStatsClient objet. Pour ce faire, appelez la PgsPlayerGameEvent_create méthode et transmettez l'activité.

Intégration côté client

L'intégration côté client pour PlayerGameEvent implique que vous créez l'objet d'événement dans le SDK C++, au niveau des points de déclenchement, et que vous l'envoyez à l'aide des fonctions d'importation fournies par le SDK.

De même, pour l'événement progressUpdate, enregistrez la progression mise à jour à l'aide de la propriété currentProgress avec des propriétés définies supplémentaires, puis envoyez-les à l'aide des fonctions d'importation fournies par le SDK.

Événements

L'intégration côté client pour PlayerGameEvent est la suivante :

Créer un événement de jeu de joueur

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);
}
Créer un événement de jeu de joueur progressUpdate

C++


PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
   PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
Enregistrer et importer un événement

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