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 :
Suivez les instructions disponibles dans le guide Configurer les services de jeux Google Play afin d'installer et de configurer votre application pour qu'elle utilise les services de jeux Play.
Définissez les statistiques de jeu que vous souhaitez que votre jeu utilise en suivant les instructions du guide de la Google Play Console.
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);