In diesem Dokument wird beschrieben, wie Sie die Google Play Games-Dienste-Spielstatistiken in C++-Spielen verwenden. In diesem
Dokument wird davon ausgegangen, dass Sie Ihr Projekt wie unter Google Play Games-Dienste einrichten
beschrieben eingerichtet haben. Sie finden die Spielstatistiken API in der
PgsGameStatsClient.
Hinweis
Wir empfehlen Ihnen, sich mit den Konzepten für Spielstatistiken vertraut zu machen, sofern Sie dies nicht schon getan haben.
Bevor Sie mit dem Programmieren mit der Game Stats API beginnen, sollten Sie Folgendes tun:
Folgen Sie der Anleitung zum Installieren und Einrichten Ihrer App für die Verwendung der Play Games-Dienste im Leitfaden Google Play Games-Dienste einrichten.
Definieren Sie die Spielstatistiken, die in Ihrem Spiel angezeigt oder aktualisiert werden sollen, indem Sie dem Leitfaden für die Google Play Console folgen.
Spielstatistiken-Client abrufen
Bevor Sie die Erfolge-APIs verwenden können, muss Ihr Spiel zuerst ein
PgsGameStatsClient
Objekt abrufen. Rufen Sie dazu die
PgsPlayerGameEvent_create
Methode auf und übergeben Sie die Aktivität.
Clientseitige Integration
Bei der clientseitigen Integration für PlayerGameEvent müssen Sie das
Ereignisobjekt an den Triggerpunkten im C++ SDK erstellen und es
mit den vom SDK bereitgestellten Upload-Funktionen senden.
Für das Ereignis progressUpdate müssen Sie den aktualisierten Fortschritt mit der Eigenschaft currentProgress und zusätzlichen definierten Eigenschaften aufzeichnen und mit den vom SDK bereitgestellten Upload-Funktionen senden.
Ereignisse
Die clientseitige Integration für PlayerGameEvent umfasst Folgendes:
Spieler-Spielereignis erstellen
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);
}
progressUpdate-Spieler-Spielereignis erstellen
C++
PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
Ereignis aufzeichnen und hochladen
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);