Statystyki meczu

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.

Statystyki gry na karcie Ty
Statystyki gry z najważniejszymi informacjami na karcie Ty.

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:

  1. 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.
  2. 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.
  • 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ść currentProgress jest 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.

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:

  1. Za każdym razem, gdy nastąpi aktualizacja bieżącego postępu, natychmiast wysyłaj najnowszą wartość
  2. 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.