Statystyki gry to zbiorcze statystyki dotyczące Twojej gry, które gracze mogą wyświetlać w swoim profilu gracza. Te statystyki pozwalają graczom śledzić postępy, wyświetlać najważniejsze momenty i porównywać się z innymi graczami. W przyszłości będą też obsługiwać funkcje Google Play, takie jak misje, wyzwania społecznościowe i wiele więcej.
Statystyki gry muszą:
- nie wymagać zakupu (np. kupna klejnotów), czyli nie powinny się aktualizować w wyniku zakupu w aplikacji.
- nie wymagać oglądania reklam, czyli nie powinny się aktualizować w wyniku obejrzenia reklamy.
- nie mogą dotyczyć ogólnego korzystania z gry (np. otwórz grę, użyj ustawień).
- nie mogą zawierać danych osobowych ani poufnych użytkownika, zgodnie z definicją w zasadach Google Play, w tym identyfikatorów użytkowników, haseł, dokładnej lokalizacji ani danych dotyczących zdrowia, ani żadnych treści obraźliwych, wulgarnych, o charakterze jednoznacznie seksualnym, szerzących nienawiść lub przedstawiających przemoc;
- być dostępne dla wszystkich użytkowników (np. nie może to być działanie przeznaczone dla konkretnego zespołu, dostępne tylko dla użytkowników na określonym poziomie lub ograniczone do operacji na żywo w określonym czasie);
Obraz przedstawia statystyki gry w profilu gracza na karcie Ty. Ten interfejs na karcie Ty jest dostępny tylko do celów testowych. Interfejs statystyk gry będzie dostępny we wrześniu 2026 r.
Typ agregacji
Typ agregacji informuje Google Play, jak obliczyć statystyki na podstawie wysyłanych przez Ciebie wartości poszczególnych zdarzeń:
- SUM:używaj do statystyk skumulowanych (np. łączna liczba zebranych monet, łączna liczba zadanych obrażeń). Gra musi wysyłać konkretną kwotę zarobioną podczas każdego wystąpienia zdarzenia.
- COUNT:używaj do statystyk reprezentujących liczbę wystąpień zdarzenia (np. rozegrane gry, wygrane gry). Gra musi wysyłać wystąpienia zdarzeń dyskretnych.
- MAX: używaj tylko w przypadku jednorazowych osiągnięć (np. najwyższy wynik w pojedynczej rozgrywce, maksymalna seria kombinacji lub najwyższe obrażenia w pojedynczym meczu). Nie używaj funkcji MAX jako obejścia do wyświetlania sum od początku śledzenia na podstawie wstępnie obliczonych wartości bieżących.
Krytyczne wymagania dotyczące implementacji w przypadku powtarzających się statystyk
- Wysyłaj wartości dla poszczególnych zdarzeń: w przypadku każdego zdarzenia wysyłaj tylko informacje o tym, co się w nim wydarzyło, np. o monetach zebranych w jednej rozgrywce. Następnie w konfiguracji statystyk ustaw typ agregacji, np. SUMA lub LICZBA. Dzięki temu powtarzające się statystyki mogą być używane w różnych mechanizmach zaangażowania, a Google Play może tworzyć odpowiednie wrażenia dla graczy.
- Nie wysyłaj sum od początku śledzenia: nie śledź np. łącznej liczby monet zebranych przez gracza w kliencie lub na serwerze gry i nie wysyłaj tej sumy z agregacją MAX. Takie statystyki będą nadal wyświetlane w interfejsie profilu gracza, ale Google Play nie będzie mógł ich używać do obsługi funkcji nagradzania, takich jak ligi, zadania i sprinty, które poprawiają wrażenia graczy i zwiększają popularność gry.
Instrukcje i przykłady prawidłowego modelowania zdarzeń znajdziesz w artykułach Zdarzenia gracza i Konfigurowanie statystyk.
Integracja
Wysyłaj dane za pomocą interfejsu Game Stats API jako zdarzenia gracza w przypadku powtarzających się statystyk gry i wstępnie zdefiniowane zdarzenie progressUpdate w przypadku statystyk postępów. Musisz też skonfigurować logikę obliczania statystyk gry, które będą wyświetlane w profilu gracza, oraz informacje o ich wyświetlaniu.
Zdarzenia gracza reprezentują różne momenty w grze, ukończenie pętli gry lub kamienie milowe postępów.
Zdarzenie odtwarzacza jest definiowane i modelowane w następujący sposób:
- Zdarzenie jest reprezentowane przez konkretne działanie gracza, takie jak ukończenie meczu, zakończenie biegu, odblokowanie skrzyni lub zapisanie postępów w danym obszarze.
- Każde działanie prowadzi do określonych wyników lub ma określone cechy, które je definiują. Są one modelowane jako właściwości zdarzenia, które dostarczają kontekstu dotyczącego zdarzenia i jego konkretnych wyników (np. typ meczu, monety zebrane podczas danej rozgrywki, wynik meczu lub liczba strzałów w głowę).
Integracja obejmuje te kroki:
- Zadeklaruj schemat nieprzetworzonych danych: zdefiniuj zdarzenia graczy, przesyłając plik CSV w Konsoli Play. Zobacz Tworzenie wydarzeń.
- Integracja z interfejsem Game Stats API: wysyłaj nieprzetworzone dane graczy w zadeklarowanym formacie na potrzeby zdarzeń graczy i zdarzenia
progressUpdate.- Wysyłaj wszystkie zdefiniowane zdarzenia za pomocą integracji po stronie klienta lub serwera.
Więcej informacji znajdziesz w przykładach dotyczących zdarzeń odtwarzacza i zdarzenia
progressUpdate.
- Wysyłaj wszystkie zdefiniowane zdarzenia za pomocą integracji po stronie klienta lub serwera.
Więcej informacji znajdziesz w przykładach dotyczących zdarzeń odtwarzacza i zdarzenia
- Prześlij plik ZIP: prześlij 3 pliki CSV i wszystkie pliki graficzne ikon, które definiują 5 powtarzalnych statystyk i 1 poziom postępów gracza.
Więcej informacji znajdziesz w wytycznych dotyczących plików ZIP.
Podaj te informacje:
- Plik CSV ze statystykami powtarzalnymi:
- Unikalny identyfikator statystyki.
- Określ etykietę zdarzenia, która ma być używana do obliczania statystyk. Nie możesz tu użyć etykiety zdarzenia
progressUpdate.- Określ etykietę właściwości, która ma być używana do obliczania statystyk. Musi to być właściwość określonego zdarzenia.
- Określ typ agregacji (SUMA, MAKS., MIN. lub LICZBA), aby określić, jak obliczać statystyki dla wybranej etykiety właściwości.
- Określ opcjonalny warunek filtra, aby obliczać logikę tylko wtedy, gdy warunek jest spełniony. Zdefiniuj właściwość i etykietę zdarzenia, operator (=, <, <=, >= lub >) oraz wartość progową.
- Dołącz flagę wartości logicznej, aby wskazać, czy statystyki mogą być używane w funkcjach rywalizacji.
- Jeśli funkcja może być używana w celach związanych z rywalizacją, podaj minimalne i maksymalne limity godzinowe dla prawdziwego gracza. Będziemy ich używać do identyfikowania graczy, którzy mogą dopuszczać się nadużyć podczas korzystania z funkcji takich jak ligi i wyzwania społecznościowe.
- Podaj unikalną wyświetlaną nazwę statystyki, którą będą widzieć gracze.
- Podaj unikalny tekst opisujący statystykę. Ten opis powinien zawierać szczegółowe informacje o tym, jak gracz może zdobyć tę statystykę, i będzie wyświetlany graczom w interfejsie profilu gracza.
- Podaj unikalną ikonę reprezentującą statystykę, wpisując dokładną nazwę pliku ikony w pliku CSV.
- Podaj opcjonalne dane wejściowe, czy rosnąca czy malejąca wartość jest dobra dla gracza. Te dane wejściowe będą używane do świętowania ruchów gracza.
- Podaj opcjonalną jednostkę miary statystyki, np. km, mile lub sekundy.
- Plik CSV ze statystykami postępów gracza:
- Podaj unikalną wyświetlaną nazwę postępów gracza, którą będą widzieć gracze.
- Dodaj unikalną ikonę reprezentującą statystykę.
- Podaj opis statystyki postępów.
- Podaj opcjonalne dane wejściowe, czy rosnąca czy malejąca wartość jest dobra dla gracza. Te dane wejściowe będą używane do świętowania ruchów gracza tylko wtedy, gdy właściwość
currentProgressjest typu INT. - Podaj opcjonalną jednostkę miary statystyki, np. km, mile, sekundy.
- Plik CSV do lokalizacji: podaj zlokalizowane wyświetlane nazwy wszystkich statystyk.
- Dodaj po jednym wierszu dla każdej lokalizacji.
- Użyj ciągu wyświetlanej nazwy statystyki dodanego w poprzednim pliku CSV, aby jednoznacznie zidentyfikować statystykę, do której dodawana jest lokalizacja.
- Wybierz język z listy kodów języków.
- Dodaj lokalizację wyświetlanej nazwy w określonym języku.
- Dodaj lokalizację opisu statystyki w określonym języku.
- Plik CSV ze statystykami powtarzalnymi:
Planowanie schematu
Za pomocą interfejsu API statystyk gry możesz wysyłać 2 rodzaje danych: zdarzenia gracza i wstępnie zdefiniowane zdarzenie dotyczące statystyk postępów gracza.
Poniższe przykłady pokazują, jak wyglądają zdarzenia gracza w różnych typach gier:
Zdarzenia gracza
Zdarzenia gracza są definiowane przez konkretne momenty w grze, ukończenie pętli gry lub kamienie milowe postępów.
- Zdefiniuj zdarzenia jako konkretne momenty w grze, ukończenie pętli gry lub kamienie milowe:
- Zakończenie pętli gry, np. ukończenie meczu lub biegu.
- kamienie milowe, takie jak zapisany postęp eksploracji obszaru lub ukończony poziom;
- Powtarzające się statystyki powinny odzwierciedlać powtarzalne działania gracza, dlatego zdefiniowane zdarzenia powinny być powiązane z podstawową rozgrywką.
- Dodaj właściwości, aby podać kontekst zdarzenia i jego wyniki, np. numer poziomu, typ meczu, typ broni, liczbę broni, strzały w głowę, zebrane monety, wynik meczu, czas okrążenia lub typ samochodu.
- Wysyłaj zdarzenia w ramach sesji rozgrywki, gdy tylko wystąpią. Na przykład wyślij zdarzenie zakończenia pętli gry natychmiast po jej zakończeniu.
Przykłady
| Typ gry | Etykieta zdarzenia | Moment w grze / ukończenie wydarzenia związanego z postępem / ukończenie pętli gry | Wynik | Cechy |
|---|---|---|---|---|
| Niezależna gra logiczna z liniowym postępem | chapter_completed | Ukończenie zdarzenia postępu | Nie dotyczy | Numer rozdziału, nazwa rozdziału, liczba prób, liczba ekranów, liczba ruchów, treść rozdziału |
| screen_completed | Ukończenie zdarzenia postępu | Numer rozdziału, nazwa rozdziału, liczba prób, liczba ruchów, treść rozdziału | ||
| Gra biegowa 3D bez końca | run_completed | Ukończenie pętli gry | Zebrane monety, wynik | Czas trwania biegu, monety zebrane za pomocą plecaka odrzutowego, wzmocnienie użyte na początku biegu, użyte deski surfingowe, użyte magnesy, użyte skoczki, użyty plecak odrzutowy |
| RPG akcji z otwartym światem | areaExplorationProgress | Ukończenie zdarzenia postępu | Pokonani wrogowie, zebrane eliksiry | Numer obszaru, nazwa obszaru, postęp w procentach |
| questCompleted | Ukończenie pętli gry | Nie dotyczy | Nazwa zadania | |
| weaponUnlocked | Moment w grze | Nie dotyczy | Nazwa broni, poziom broni | |
| chestUnlocked | Moment w grze | Zebrano rudę ulepszenia | ||
| Rekreacyjna łamigłówka z ozdobnymi elementami | puzzleCompleted | Zakończenie pętli gry / zdarzenia postępu | Zebrane monety, zebrane doładowania | Liczba ruchów, czy użyto prezentu od lokaja, Typ poziomu, numer poziomu, użyte wzmocnienia kolorów, użyte dynamity |
| cardsCollected | Moment w grze | Karty z 1 gwiazdką, karty z 2 gwiazdkami, karty z 3 gwiazdkami, łączna liczba kart | Numer albumu, nazwa albumu | |
| Zręcznościowe wyścigi | raceCompleted | Ukończenie pętli gry | Pozycja, użycie podtlenku azotu, czas wyścigu | Typ wyścigu, ocena, używany samochód |
| carUpgraded | Moment w grze | Ulepszona cecha samochodu, stary poziom / wartość, nowy poziom / wartość | Typ samochodu, obecny poziom garażu | |
| Strzelanka battle royale z widokiem z trzeciej osoby | matchCompleted | Ukończenie pętli gry | Eliminacje, strzały w głowę, wartość honoru | Typ meczu, czas przetrwania |
| Symulacja zarządzania e-sportem | matchCompleted | Ukończenie pętli gry | Wynik, zdobyte bramki, bramki | Nazwa drużyny przeciwnika, nazwa drużyny grającej |
| trainingCompleted | Moment w grze | Drills done, teamplay_form_attack, teamplay_form_defense, teamplay_form_possession, teamplay_form_condition |
progressUpdate zdarzenie
Jeśli Twoja gra ma główną mechanikę postępu, użyj tego zdarzenia, aby wysłać aktualny postęp gracza. Zdarzenie ma jedną wstępnie zdefiniowaną właściwość o nazwie „currentProgress” typu INT lub STRING. Za pomocą tej właściwości należy wysyłać bieżącą wartość postępów gracza w głównej mechanice postępów. Jeśli używasz tego zdarzenia, musi być obecna wstępnie zdefiniowana właściwość „currentProgress”, a statystyka postępu musi być zdefiniowana za pomocą tej właściwości.
Możesz wysyłać bieżącą wartość dla innych systemów postępów w grze, takich jak lifetime highest score lub current coin balance, jako inne właściwości tego zdarzenia.
Gracze mogą porównywać swoje profile na podstawie bieżących postępów w grze, dlatego ważne jest, aby po pierwszej integracji nie było opóźnień w uzyskiwaniu wartości bieżących postępów. Aby wyświetlać graczom dokładne informacje o bieżących postępach, wysyłaj zdarzenie progressUpdate na początku każdej sesji gry, a także za każdym razem, gdy nastąpi aktualizacja bieżących postępów.
Przykłady
| Typ gry | Właściwość currentProgress zdarzenia `progressUpdate` |
|---|---|
| Gra logiczna z progresją liniową | Numer bieżącego rozdziału lub poziomu |
| 3d Endless Runner | Rekord, aktualne saldo wzmocnień |
| Rekreacyjne gry logiczne | Numer bieżącego poziomu, liczba wygranych za pierwszym razem, liczba ukończonych obszarów, liczba ukończonych kolekcji |
| Zręcznościowe wyścigi | Numer bieżącego poziomu, saldo waluty |
| RPG akcji z otwartym światem | Current Character Rank, Current Level number |
| Strzelanka trzecioosobowa | Numer bieżącego poziomu |
| Symulacja e-sportu | Numer poziomu menedżera, numer poziomu klubu |
Konfigurowanie statystyk
Musisz skonfigurować statystyki powtarzalne i statystyki postępów, definiując logikę obliczeń i wyświetlając informacje o każdej statystyce. Poniżej znajdziesz przykłady statystyk powtarzalnych z różnych gatunków gier. Powtarzające się statystyki to zwykle statystyki, które są wielokrotnie aktualizowane w przypadku każdego gracza w ciągu kilku (3–4) sesji gry i są powiązane z główną pętlą gry.
Aby dowiedzieć się, kiedy używać funkcji SUMA, LICZBA lub MAKS., przeczytaj artykuł Wybieranie odpowiedniego typu agregacji.
| Nazwa gry | Wyświetlana nazwa statystyki gry | Właściwość zdarzenia | Logika obliczeń [agregacja] | Filtr |
|---|---|---|---|---|
| 3D Endless Runner | Uruchomienia zakończone | Dowolna właściwość zdarzenia run_completed | Liczba | Wszystkie wartości [bez filtra] |
| Zebrane monety | Właściwość coins_collected zdarzenia run_completed | Suma | Nie dotyczy | |
| Zebrane klucze | Właściwość keys_collected zdarzenia run_completed | Suma | Nie dotyczy | |
| Najwyższy wynik biegu | Właściwość wyniku zdarzenia run_completed | Maksimum | Nie dotyczy | |
| Ukończone biegi z dużą liczbą monet | Właściwość coins_collected zdarzenia run_completed | Liczba | Wartość > 5000 | |
| Gra logiczna z progresją liniową | Ukończone rozdziały | Dowolna właściwość zdarzenia chapter_completed | Liczba | Wszystkie wartości [bez filtra] |
| Ukończone ekrany | Dowolna właściwość zdarzenia screen_completed | Liczba | Wszystkie wartości [bez filtra] | |
| Rozdziały ukończone za pierwszym razem | Właściwość num_try zdarzenia chapter_completed | Liczba | Num_try = 1 | |
| Ekrany ukończone za pierwszym razem | Właściwość num_try zdarzenia screen_completed | Liczba | Num_try = 1 | |
| RPG akcji z otwartym światem | Ukończone kursy | Dowolna właściwość zdarzenia quest_completed | Liczba | Wszystkie wartości [bez filtra] |
| Odkryte obszary | Właściwość perc_progress zdarzenia area_exploration_progress | Liczba | Wartość = 100 | |
| Odblokowane miecze | Właściwość weapon_type zdarzenia weapon_unlocked | Liczba | Value = "sword" | |
| Pokonani wrogowie | Właściwość enemies_defeated zdarzenia area_exploration_progress | Suma | Nie dotyczy | |
| Zebrane eliksiry zdrowia | Właściwość Enhancement_ores zdarzenia chest_unlocked | Suma | Nie dotyczy | |
| Rekreacyjne gry logiczne | Ukończone poziomy | Dowolna właściwość zdarzenia level_completed | Liczba | Wszystkie wartości [bez filtra] |
| Poziomy ukończone za pierwszym razem | Właściwość num_try zdarzenia level_completed | Liczba | Wartość = 1 | |
| Używane wzmocnienia kolorów | Właściwość color_booster_used zdarzenia level_completed | Suma | Nie dotyczy | |
| Użyte ulepszenia bomb | Właściwość Bomb_booster_used zdarzenia level_completed | Suma | Nie dotyczy | |
| Zebrane karty | Właściwość total_cards zdarzenia cards_collected | Suma | Nie dotyczy | |
| Zręcznościowe wyścigi | Zwycięstwa | Właściwość Rank zdarzenia race_completed | Liczba | Wartość = 1 |
| Najszybszy bieg | Właściwość race_time zdarzenia race_completed | Minimum | Nie dotyczy | |
| NOS used | Właściwość NOS_used zdarzenia race_completed | Suma | Nie dotyczy | |
| Wyścigi ukończone Mustangiem | Właściwość car_type zdarzenia race_completed | Liczba | Wartość = Mustang | |
| Ulepszenia samochodu | Dowolna właściwość zdarzenia car_upgraded | Liczba | Wszystkie wartości [bez filtra] | |
| Strzelanka battle royale z widokiem z trzeciej osoby | Wygrane mecze | Dowolna właściwość zdarzenia match_completed | Liczba | Match_result = TRUE |
| Łączna liczba eliminacji | Właściwość Eliminations zdarzenia match_completed | Suma | Nie dotyczy | |
| Najdłuższy czas przetrwania | Właściwość survival_time zdarzenia match_completed | Maksimum | Nie dotyczy | |
| Łączna liczba strzałów w głowę | Właściwość Headshots zdarzenia match_completed | Suma | Nie dotyczy | |
| Łączna wartość umiejętności | Właściwość skill_value zdarzenia match_completed | Suma | Nie dotyczy | |
| Symulacja zarządzania e-sportem | Wygrane mecze | Właściwość Result zdarzenia match_completed | Liczba | Result = "Won" |
| Łączna liczba zdobytych bramek | Właściwość goals_scored zdarzenia match_completed | Suma | Nie dotyczy | |
| Wygrane mecze na twardej nawierzchni | Właściwość wyniku zdarzenia hard_match_completed | Liczba | Result = "Won" | |
| Największa różnica bramek w wygranym meczu | Właściwość Goal_difference zdarzenia match_completed | Maksimum | Result = "Won" | |
| Łączna liczba ćwiczeń treningowych | Właściwość drills_done zdarzenia training_completed | Suma | Nie dotyczy | |
| Łączna liczba ukończonych szkoleń | Dowolna właściwość zdarzenia training_completed | Liczba | Nie dotyczy |
Szczegóły integracji
W tej sekcji pokazujemy, jak tworzyć zdarzenia i wysyłać je w ramach integracji po stronie klienta i po stronie serwera.
Kiedy należy wysyłać dane
Zdarzenia gracza reprezentują działania w grze związane z ukończeniem pętli gry lub konkretnymi momentami w grze. Przesyłaj te zdarzenia, gdy tylko wystąpią. Na przykład prześlij zdarzenie zakończenia pętli gry, gdy tylko pętla się zakończy.
Zdarzenie progressUpdate reprezentuje bieżący poziom postępu gracza.
Dane dotyczące statystyk postępów powinny być wysyłane za pomocą tego zdarzenia w tych sytuacjach:
- Za każdym razem, gdy nastąpi aktualizacja bieżącego postępu, natychmiast wysyłaj najnowszą wartość
- Za każdym razem, gdy gracz uruchamia grę, aby zapewnić stałą obecność tej statystyki.
Ścieżki integracji
Istnieją 2 ścieżki integracji: po stronie klienta i typu „serwer-serwer”.
Integracja typu serwer-serwer
Publiczny punkt końcowy interfejsu API umożliwia wysyłanie zdarzeń w ładunku żądania przy użyciu tych konfiguracji:
Żądanie HTTP
POST https://games.googleapis.com/games/v1/players/{playerId}/gameStats:
batchRecordEvents
Parametry ścieżki
| Parametr | Typ danych | Opis |
|---|---|---|
| playerId | Ciąg znaków | Identyfikator PGS gracza. |
Autoryzacja i uwierzytelnianie
Wywołania interfejsu API między serwerami są zgodne ze standardowymi wytycznymi dotyczącymi dostępu po stronie serwera do usług gier Play przy użyciu protokołu OAuth 2.0. Żądania muszą zawierać token okaziciela autoryzowany w zakresie https://www.googleapis.com/auth/games.
Zdarzenia: treść żądania
Interfejs API backendu ma rygorystyczne limity weryfikacji strukturalnej:
- Rozmiar zbioru: maksymalnie 30 zdarzeń na
BatchRecordEventsRequest. - Liczba właściwości: maksymalnie 25 właściwości niestandardowych na
PlayerGameEvent. - Limity długości: nazwa zdarzenia (maks. 100 znaków), klucze właściwości (maks. 100 znaków) i wartości ciągu właściwości (maks. 1024 znaki).
- Identyfikator zdarzenia: musi być prawidłowym 36-znakowym ciągiem UUID.
- Ponawianie prób i buforowanie: unikaj buforowania lub gromadzenia zbyt wielu zdarzeń lokalnie w przypadku niepowodzenia interfejsu API, ponieważ ponowne próby zbiorcze przekraczające 30 zdarzeń zostaną odrzucone. Zawsze dziel ponowne próby na fragmenty, aby nie przekroczyć limitu rozmiaru wsadu.
BatchRecordEventsRequest
Zobacz: BatchRecordEventsRequest.
{ "packageName": string, "requestTime": string, "events": [ { object (PlayerGameEvent) } ] }
PlayerGameEvent
{ "eventId": string, "eventName": string, "eventProperties": { // keys (e.g., "matchId", "score") "" : { object (PropertyValue) } }, "eventTime": string // RFC 3339 formatted timestamp string (e.g., "2026-01-01T18:00:00Z"). }
PropertyValue
// ONE of the following fields will be present: { // 64-bit integer formatted as a string to prevent data loss "intValue": "string", // Double-precision floating point number. "doubleValue": number, // Standard UTF-8 text string. "stringValue": "string", // Boolean value (true or false). "boolValue": boolean, // Duration in seconds suffixed with 's' (e.g., "240s" or "3.5s"). "durationValue": "string" }
progressUpdate zdarzenie: treść żądania
BatchRecordEventsRequest
{ "packageName": string, "requestTime": string, "events": [ { object (PlayerGameEvent) } ] }
PlayerGameEvent – progressUpdate
{ "eventId": string, "eventName": "progressUpdate", "eventProperties": { "" : { object (PropertyValue) // Must have at least one property "currentProgress" of type INT or STRING } }, "eventTime": string // RFC 3339 formatted timestamp string (e.g., "2026-01-01T18:00:00Z") }
Treść odpowiedzi
Jeśli operacja się powiedzie, zwracany jest stan HTTP 200 OK z pustym obiektem JSON.
Przykładowa treść żądania
Zdarzenie: PlayerGameEvent
{ "packageName": "com.example.awesomegame",//Your package name "requestTime": "2026-05-09T00:44:44Z", "events": [ { "eventId": "123e1234-e29b-41d4-a123-446655440000", // UUID for deduplication and idempotency "eventName": "matchCompleted", "eventTime": "2026-05-09T01:44:44Z", // RFC 3339 formatted timestamp string (e.g., "2026-05-09T01:44:44Z"). "eventProperties": { "matchId": { "stringValue": "Match_A" }, "gameMode": { "stringValue": "Battle_B" }, "locationId": { "stringValue": "Location_XYZ" }, "playerElimination": { "intValue": 2 }, "isWinner": { "boolValue": true } } } ] }
Zdarzenie progressUpdate
{ "packageName": "com.example.awesomegame",//Your package name "requestTime": "2026-05-09T00:44:44Z", "events": [ { "eventId": "123e1234-e29b-41d4-a123-446655440000", // UUID "eventName": "progressUpdate", "eventTime": "2026-05-09T01:44:44Z", // RFC 3339 formatted timestamp string (e.g., "2026-01-01T18:00:00Z"). "eventProperties": { "currentProgress": { "intValue": 52 }, //Add more properties as per your requirement } } ] }
Implementacje klienta
Aby dowiedzieć się więcej o implementacji klienta statystyk gry na swojej platformie, zapoznaj się z tymi materiałami:
Kamienie milowe
| Data | Integracja interfejsu API statystyk gry | Konfiguracja statystyk gry |
| Wrzesień 2026 r. | Nie dotyczy | Gracze zaczną widzieć statystyki gry w swoim profilu gracza. |