Z tego dokumentu dowiesz się, jak korzystać ze statystyk gier w usługach Gier Google Play w grach w języku C++. Zakładamy, że projekt został skonfigurowany zgodnie z opisem w artykule Konfigurowanie
usług Gier Google Play. Interfejs Game Stats API znajdziesz w
PgsGameStatsClient.
Zanim zaczniesz
Jeśli jeszcze tego nie zrobisz, warto zapoznać się z pojęciami dotyczącymi statystyk gier.
Zanim zaczniesz kodować za pomocą interfejsu API statystyk gry:
Postępuj zgodnie z instrukcjami instalacji i konfigurowania aplikacji na potrzeby korzystania z usług Gier Play w przewodniku Konfigurowanie usług Gier Google Play.
Zdefiniuj statystyki gier, które chcesz śledzić w swojej grze, zgodnie z instrukcjami w Konsoli Google Play.
Pobieranie klienta statystyk gier
Aby zacząć korzystać z interfejsu Achievements API, gra musi najpierw uzyskać obiekt
PgsGameStatsClient. Możesz to zrobić, wywołując metodę
PgsPlayerGameEvent_create
i przekazując aktywność.
Integracja po stronie klienta
Integracja po stronie klienta w przypadku PlayerGameEvent będzie polegać na utworzeniu obiektu zdarzenia w pakiecie SDK C++ w punktach wyzwalających i wysłaniu ich za pomocą funkcji przesyłania udostępnianych przez pakiet SDK.
Podobnie w przypadku zdarzenia progressUpdate zapisz zaktualizowany postęp za pomocą właściwości currentProgress z dodatkowymi zdefiniowanymi właściwościami i wyślij je za pomocą funkcji przesyłania udostępnianych przez pakiet SDK.
Wydarzenia
Integracja po stronie klienta w przypadku PlayerGameEvent obejmuje:
Tworzenie zdarzenia gry gracza
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);
}
Tworzenie zdarzenia gry gracza progressUpdate
C++
PgsPlayerGameEvent* progress_event = PgsPlayerGameEvent_create("progressUpdate");
if (progress_event != nullptr) {
PgsPlayerGameEvent_putLong(progress_event, "currentProgress", 52);
}
Rejestrowanie i przesyłanie zdarzenia
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);