Spielstatistiken

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:

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