Z tego dokumentu dowiesz się, jak zintegrować statystyki gry z grą za pomocą Konsoli Google Play. Obejmuje on podstawowe formaty plików CSV i ZIP oraz opisuje, jak je tworzyć, importować i nimi zarządzać.
Tworzenie i importowanie zdarzeń
Istnieją 2 sposoby dodawania zdarzeń po raz pierwszy w Konsoli Google Play:
- Utwórz wydarzenie: dodaj jedno wydarzenie naraz.
- Importuj wydarzenia: importowanie wielu wydarzeń.
Tworzenie wydarzenia
Aby utworzyć wydarzenie w grze:
- W Konsoli Google Play wybierz grę.
- Na stronie Usługi gier Play – statystyki gry (Zwiększaj liczbę użytkowników > Usługi gier Play > Konfiguracja i zarządzanie > Statystyki gry) kliknij Dodaj zdarzenie > Utwórz zdarzenie.
- Na stronie Utwórz wydarzenie wypełnij formularz.
- Kliknij Zapisz zmiany.
Importuj zdarzenia
Aby dodać do gry kilka zdarzeń naraz, wykonaj te czynności:
- Utwórz plik CSV ze zdarzeniami PlayerGameEvent.csv.
- W Konsoli Google Play wybierz grę.
- Na stronie Usługi gier Play – statystyki gry (Zwiększaj liczbę użytkowników > Usługi gier Play > Konfiguracja i zarządzanie > Statystyki gry) kliknij Dodaj zdarzenie > Importuj za pomocą pliku CSV.
- Na stronie Konfiguracja wydarzeń upuść plik CSV, który chcesz przesłać.
- Po utworzeniu wydarzenia skonfiguruj statystyki.
Tworzenie i importowanie statystyk
Istnieją 2 sposoby dodawania statystyk po raz pierwszy w Konsoli Google Play:
- Utwórz statystykę: dodaj po kolei poszczególne statystyki.
- Importuj statystyki: importowanie wielu statystyk.
Utwórz statystykę
Aby utworzyć statystyki gry:
- W Konsoli Google Play wybierz grę.
- Na stronie Usługi gier Play – statystyki gry (Zwiększaj liczbę użytkowników > Usługi gier Play > Konfiguracja i zarządzanie > Statystyki gry) kliknij Dodaj statystykę > Utwórz statystykę.
- Na stronie Utwórz statystykę wypełnij formularz.
- Kliknij Zapisz zmiany.
- Po utworzeniu statystyki opublikuj grę.
Statystyki importu
Aby zaimportować statystyki, wykonaj te czynności:
- Utwórz plik ZIP zawierający statystyki, lokalizacje i pliki ikon zgodnie ze wskazówkami dotyczącymi pliku ZIP ze statystykami.
- W Konsoli Google Play wybierz grę.
- Na stronie Usługi gier Play – statystyki gry (Zwiększaj liczbę użytkowników > Usługi gier Play > Konfiguracja i zarządzanie > Statystyki gry) kliknij Dodaj statystykę > Importuj za pomocą pliku ZIP.
- Na stronie Konfiguracja statystyk gry upuść plik ZIP, aby go przesłać.
- Po przesłaniu wszystkich statystyk opublikuj grę.
Testowanie statystyk gry
Aby sprawdzić, czy statystyki gry działają prawidłowo, wykonaj te czynności:
- Otwórz aplikację Sklep Google Play.
- Zaloguj się na swój profil w Grach Play w aplikacji Sklep Google Play.
- Wyświetl statystyki gry w swoim profilu gracza.
Wyświetlanie logów na urządzeniu
Aby sprawdzić, czy statystyki gry działają prawidłowo, włącz dzienniki na urządzeniu:
Włącz debugowanie adb na urządzeniu i uruchom w terminalu te polecenia:
adb shell setprop log.tag.Games INFO adb logcat -s "PlayGamesServices[GameStatsAgent]:I"
Sprawdź, czy wyświetla się komunikat logu o powodzeniu, jak w tym przykładzie:
Successfully uploaded batch of X events.
Uwaga: interfejs API obsługuje częściowe przesyłanie, więc ten dziennik informacyjny wskazuje, że partia została przetworzona. Jeśli którekolwiek ze zdarzeń w partii nie przejdzie weryfikacji schematu, przed tym komunikatem pojawi się dziennik błędów.
Jeśli któreś z przesłanych zdarzeń nie przejdzie weryfikacji, zobaczysz komunikat o błędzie zawierający szczegółowe informacje o niepowodzeniu:
BatchRecordEvents validation failed for X event(s): ...
Publikowanie statystyk gry
Po zakończeniu testów musisz opublikować grę. Wszystkie wydarzenia i statystyki gry zostaną opublikowane razem z nią.
Aby opublikować, wykonaj te czynności:
- W Konsoli Google Play wybierz grę.
- Na stronie Usługi gier Play – statystyki gry (Zwiększaj liczbę użytkowników > Usługi gier Play > Konfiguracja i zarządzanie > Statystyki gry) kliknij Sprawdź i opublikuj.
- Na stronie Usługi gier Play – publikowanie (Zwiększaj liczbę użytkowników > Usługi gier Play > Konfiguracja i zarządzanie > Publikowanie) sprawdź działania i rozwiąż problemy.
- Kliknij Opublikuj. Wszystkie statystyki gry są opublikowane.
Edytowanie statystyk gry
Jeśli masz już statystyki gry i chcesz je edytować:
- W Konsoli Google Play wybierz grę.
- Otwórz stronę Usługi gier Play – statystyki gry (Zwiększaj liczbę użytkowników > Usługi gier Play > Konfiguracja i zarządzanie > Statystyki gry).
- Aby edytować wydarzenie:
- W sekcji Konfiguracja zdarzeń wybierz zdarzenie.
- Możesz dodawać i usuwać właściwości zdarzenia.
- Nie możesz edytować nazwy wydarzenia.
- Kliknij Zapisz zmiany.
- Aby edytować statystykę:
- W sekcji Konfiguracja statystyk gry wybierz statystykę.
- Możesz edytować pola Nazwa statystyki, Opis statystyki i Nazwa pliku ikony.
- Nie możesz edytować identyfikatora statystyki ani kierunku postępu. Jednostka statystyczna i Szczegóły powiązanego zdarzenia.
- Kliknij Zapisz zmiany.
- Na stronie Usługi gier Play – statystyki gry edytowana statystyka ma stan Dostępne dla testerów.
- Po przetestowaniu statystyki kliknij Sprawdź i opublikuj. Spowoduje to ponowne opublikowanie gry wraz ze wszystkimi zaktualizowanymi statystykami.
Usuwanie statystyk gry
Opublikowanych statystyk gry nie można usunąć.
Możesz usunąć zdarzenie lub statystykę, które mają stan Dostępne dla testerów.
- W Konsoli Google Play wybierz grę.
- Otwórz stronę Usługi gier Play – statystyki gry (Zwiększaj liczbę użytkowników > Usługi gier Play > Konfiguracja i zarządzanie > Statystyki gry).
- Aby usunąć wydarzenie:
- W sekcji Konfiguracja zdarzeń wybierz zdarzenie.
- Kliknij Usuń wydarzenie.
- Aby usunąć statystykę:
- W konfiguracji statystyk gry wybierz statystykę, którą chcesz usunąć.
- Kliknij Usuń statystykę gry.
Wytyczne dotyczące plików CSV ze zdarzeniami
Pierwszy wiersz pliku CSV to wiersz nagłówka. Zdarzenia musisz importować za pomocą pliku CSV ze zdarzeniami, np. PlayerGameEvent.csv.
Format pliku PlayerGameEvent.csv
Plik CSV zawiera zadeklarowane zdarzenie i jego właściwości w postaci wartości rozdzielonych przecinkami w tej kolejności:
Event Name,Property Name,Property Type
Jeśli wysyłasz zdarzenie progressUpdate dla progressionStat, dodaj wiersz dla tego zdarzenia. To zdarzenie musi zawierać co najmniej właściwość currentProgress typu INT lub STRING oraz inne właściwości, które chcesz wysłać.
Pola są opisane w tej tabeli:
| Nagłówki kolumn CSV | Wymagane czy opcjonalne | Akceptowane wartości |
|---|---|---|
| Nazwa zdarzenia | Wymagane | Maksymalnie 50 znaków Może zawierać tylko litery, cyfry i znaki podkreślenia. Jeśli używana jest nazwa zdarzenia specjalnego |
| Nazwa właściwości | Wymagane | Maksymalnie 50 znaków Może zawierać tylko litery, cyfry i znaki podkreślenia. Unikalne dla każdego zdarzenia: nazwy właściwości muszą być unikalne w ramach tego samego zdarzenia. Nie używaj tych zastrzeżonych słów kluczowych: |
| Typ usługi | Wymagane | Ciąg znaków typu wyliczeniowego z uwzględnieniem wielkości liter, który pasuje do jednego z obsługiwanych typów danych: INT64, DOUBLE, STRING, BOOL
|
Wymagania dotyczące pliku PlayerGameEvent.csv:
- Plik może zawierać maksymalnie 20 unikalnych nazw zdarzeń, z których każde może mieć do 20 właściwości.
- Plik nie może być pusty i musi zawierać co najmniej 1 wiersz.
Przykładowa tabela
| Nazwa zdarzenia | Nazwa właściwości | Typ usługi |
|---|---|---|
| matchCompleted | czas trwania | LICZBA ZMIENNOPRZECINKOWA PODWÓJNEJ PRECYZJI |
| matchCompleted | zabójstwa, | INT64 |
| matchCompleted | isWinner | BOOL |
| matchCompleted | matchType | CIĄG ZNAKÓW |
| itemCollected | coinsAmount | INT64 |
| itemCollected | weaponType | CIĄG ZNAKÓW |
| progressUpdate | currentProgress | INT64 |
Wytyczne dotyczące plików ZIP ze statystykami
W pliku ZIP możesz zaimportować kilka statystyk naraz. Dokładne nazwy plików do użycia w pliku ZIP znajdziesz w tabeli:
| Nazwa pliku | Wymagany czy opcjonalny | Akceptowane wartości |
|---|---|---|
RepetitiveStatsConfig.csv
|
Wymagane | Powtarzające się statystyki reprezentują regularnie występujące działania w grze wykonywane przez graczy. |
ProgressionStatConfig.csv
|
Wymagane | Statystyka postępów odzwierciedla postępy gracza w grze. |
StatLocalizations.csv
|
Opcjonalny | Zawiera tłumaczenia nazw i opisów statystyk gry. |
| Pliki ikon | Wymagane | Ikony w formacie PNG, JPEG lub JPG o wymiarach 512 x 512 pikseli. |
Plik ZIP musi spełniać te wymagania:
- Limit rozmiaru pliku ZIP: maksymalny łączny rozmiar po rozpakowaniu to 10 MB.
- Maksymalna liczba plików: w archiwum ZIP może znajdować się maksymalnie 53 plików (3 pliki CSV i 50 ikon).
- Maksymalny limit łącznych statystyk: maksymalnie 50 łącznych statystyk w
ProgressionStatConfig.csviRepetitiveStatsConfig.csv. - Obsługiwane pliki CSV:
ProgressionStatConfig.csv,RepetitiveStatsConfig.csviStatLocalizations.csv(opcjonalnie). Jeśli chcesz przesłać tylko statystyki postępów, nie dołączaj do pliku ZIP pliku CSV ze statystykami powtarzalnymi. W przeciwnym razie konsola wyświetli błąd. To samo dotyczy sytuacji, gdy chcesz przesłać tylko powtarzające się statystyki. - Pliki graficzne ikon: PNG (.png) lub JPEG (.jpg, .jpeg).
- Wszystkie ikony, do których odwołują się pliki CSV, muszą znajdować się w głównym folderze pliku ZIP.
- Wszystkie pliki graficzne w pliku ZIP muszą być powiązane z co najmniej 1 statystyką.
- Struktura katalogów: wszystkie pliki muszą znajdować się w katalogu głównym pliku ZIP. Podkatalogi są niedozwolone.
Format pliku RepetitiveStatsConfig.csv
Plik CSV zawiera zadeklarowane zdarzenie i jego właściwości w postaci wartości rozdzielonych przecinkami w tej kolejności:
Stat Id,Event Name,Event Property Name,Aggregation Type,Stat Display Name,Stat Description,Filter Property,Filter Operator,Filter Value,Is Competitive,Min limit,Max limit,Icon File Name,Good value direction,Unit
Pola są opisane w tej tabeli:
| Nagłówki kolumn CSV | Wymagane czy opcjonalne | Akceptowane wartości |
|---|---|---|
| Identyfikator statystyki | Wymagane | Może mieć maksymalnie 100 znaków. Może zawierać tylko litery, cyfry i znaki podkreślenia. Musi być unikalny wśród wszystkich statystyk w grze. |
| Nazwa zdarzenia | Wymagane | Maksymalnie 50 znaków Musi odwoływać się do nazwy zdarzenia zdefiniowanej w formacie PlayerGameEvent.csv. |
| Nazwa właściwości zdarzenia | Wymagane | Może mieć maksymalnie 50 znaków. |
| Wyświetlana nazwa statystyki | Wymagane | Maksymalnie 50 znaków Domyślna wyświetlana nazwa statystyki (domyślne ustawienia regionalne). Musi być unikalny w całych statystykach. |
| Opis statystyki | Wymagane | Może mieć maksymalnie 500 znaków. Domyślny opis statystyki. |
| Typ agregacji | Wymagane | Maksymalnie 50 znaków SUM, MAX, MIN, COUNT. |
| Filtruj usługę | Opcjonalny | Maksymalnie 50 znaków Musi to być nazwa właściwości zdefiniowana w pliku PlayerGameEvent.csv. |
| Operator filtra | Opcjonalny | =, !=, >, <, >=, <=Operatory porównania filtrów. |
| Wartość filtra | Opcjonalny | W porównaniu z właściwością filtra.
Wartość filtra musi wynosić INT64, DOUBLE, BOOL, STRING.
|
| Is Competitive | Wymagane | true, false
|
| Limit minimalny | Wymagane, gdy pole Is Competitive (Konkurencyjne) ma wartość true (prawda) | Minimalny dopuszczalny wynik w statystykach rywalizacji. |
| Limit maksymalny | Wymagane, gdy pole Is Competitive (Konkurencyjne) ma wartość true (prawda) | Maksymalny dozwolony wynik w statystykach rywalizacji. |
| Nazwa pliku ikony | Wymagane | Nazwa pliku obrazu ikony znajdującego się w głównym katalogu pliku ZIP. Nie mogą być takie same jak nazwy plików ikon używane w powtarzających się statystykach. |
| Kierunek dobrej wartości | Wymagane | Określa, czy lepsze są wyższe wartości INCREASING czy niższe DECREASING.
|
| Jednostka | Opcjonalny | Jednostka miary nieprzetworzonych wartości liczbowych lub czasu trwania. Na przykład KILOMETER, SECOND, PERCENTAGE, UNITLESS. |
Jeśli nie chcesz używać warunku filtra, pozostaw komórkę pustą.
Przykładowa tabela
| Identyfikator statystyki | Nazwa zdarzenia | Nazwa właściwości | Agregacja | Wyświetlana nazwa statystyki | Opis statystyki | Właściwość filtra (opcjonalnie) | Operator filtra (opcjonalnie) | Wartość filtra (opcjonalnie) | Is Competitive | minLimit | maxLimit | Nazwa pliku ikony | Kierunek dobrej wartości | jednostka |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | matchCompleted | czas trwania | MAKS. | Najdłuższe dopasowanie – przetrwanie | Oznacza czas przetrwania gracza w dowolnym meczu. | isWinner | = | PRAWDA | PRAWDA | 0 | 50 | stat1.png | Malejący | s |
| 2 | matchCompleted | isWinner | COUNT | Wygrane mecze | Oznacza liczbę meczów wygranych przez gracza. | isWinner | = | PRAWDA | PRAWDA | 0 | 50 | stat3.png | Rosnący | |
| 3 | matchCompleted | zabójstwa, | SUMA | Zabójstwa w meczu 1 na 1 | Liczba zabójstw w meczach 1 na 1 | matchType | = | "1-on-1" | FAŁSZ | stat4.png | Rosnący | |||
| 4 | itemCollected | coinsAmount | SUMA | Łączna ilość zebranego złota | Gracz zbiera monety podczas meczu | weaponType | = | „miecz” | FAŁSZ | stat2.png | Rosnący |
Format pliku ProgressionStatConfig.csv
Plik CSV zawiera zadeklarowane zdarzenie i jego właściwości w postaci wartości rozdzielonych przecinkami w tej kolejności:
Stat Id,Event Property Name,Stat Display Name,Stat Description,Icon File Name,Good value direction,Unit
Statystyka postępów będzie wyświetlana jako pierwsza statystyka w profilu gracza.
Pola są opisane w tej tabeli:
| Nagłówki kolumn CSV | Wymagane czy opcjonalne | Akceptowane wartości |
|---|---|---|
| Identyfikator statystyki | Wymagane | Może mieć maksymalnie 100 znaków. Może zawierać tylko litery, cyfry i znaki podkreślenia. Musi być unikalny wśród wszystkich statystyk w grze. |
| Nazwa właściwości zdarzenia | Wymagane | Maksymalnie 50 znaków Musi to być nazwa właściwości zdefiniowana w pliku PlayerGameEvent.csv. |
| Wyświetlana nazwa statystyki | Wymagane | Nazwa musi być unikalna. |
| Opis statystyki | Wymagane | Maksymalnie 50 znaków Domyślny opis statystyki. |
| Nazwa pliku ikony | Wymagane | Nazwa pliku obrazu ikony znajdującego się w głównym katalogu pliku ZIP. Nie mogą być takie same jak nazwy plików ikon używane w powtarzających się statystykach. |
| Kierunek dobrej wartości | Wymagane | Określa, czy lepsze są wyższe wartości INCREASING czy niższe DECREASING.
|
| Jednostka | Opcjonalny | Jednostka miary nieprzetworzonych wartości liczbowych lub czasu trwania. Na przykład KILOMETER, SECOND, PERCENTAGE, UNITLESS. |
Przykładowa tabela
| Identyfikator statystyki | Nazwa właściwości zdarzenia | Wyświetlana nazwa statystyki | Opis statystyki | Nazwa pliku ikony | Kierunek dobrej wartości |
|---|---|---|---|---|---|
| 5 | currentProgress | Poziom | Gracze zdobywają punkty XP, grając w mecze i osiągając kolejne poziomy. | Level.png | rosnący |
Format pliku StatLocalizations.csv
Plik CSV zawiera zadeklarowane zdarzenie i jego właściwości w postaci wartości rozdzielonych przecinkami w tej kolejności:
Stat Id,Stat Display Name,Locale,Localized Stat Display Name,Localized Stat Description
Pola są opisane w tej tabeli:
| Nagłówki kolumn CSV | Wymagane czy opcjonalne | Akceptowane wartości |
|---|---|---|
| Identyfikator statystyki | Wymagane | Może mieć maksymalnie 100 znaków. Może zawierać tylko litery, cyfry i znaki podkreślenia. Musi być unikalny wśród wszystkich statystyk w grze. |
| Wyświetlana nazwa statystyki | Wymagane | Nazwa musi być unikalna. |
| Język | Wymagane | Kod języka, np. en-US. Dodaj tłumaczenia gry, zanim określisz język. Pamiętaj, że nie możesz określić języka domyślnego. Obsługiwane kody ustawień regionalnych znajdziesz na liście obsługiwanych języków. |
| Zlokalizowana wyświetlana nazwa statystyki | Opcjonalny | Maksymalna długość: 50 znaków. Przetłumaczona wyświetlana nazwa statystyki dla danego języka. |
| Zlokalizowany opis statystyki | Opcjonalny | Maksymalna liczba znaków to 500. Przetłumaczony opis statystyki dla danego języka. |
Przykładowa tabela
| Identyfikator statystyki | Wyświetlana nazwa statystyki | Kod języka | Zlokalizowana nazwa statystyki (UTF-8) | Zlokalizowany opis statystyki (UTF-8) |
|---|---|---|---|---|
| 1 | Najdłuższe dopasowanie – przetrwanie | es | Supervivencia más larga en partidos | Esto denota el tiempo de supervivencia de una jugadora en cualquier partido. |
| 1 | Najdłuższe dopasowanie – przetrwanie | fr | Survie du match le plus long | Cela indique la durée de survie d'un joueur dans n'importe quel match. |
| 4 | Łączna ilość zebranego złota | es | Oro total recolectado | La jugadora recoge monedas mientras juega en un partido |
| 4 | Łączna ilość zebranego złota | fr | Or total collecté | Le joueur collecte des pièces en jouant un match |
Pliki ikon
Ikony, do których odwołujesz się w pliku CSV, muszą znajdować się w bieżącym importowanym archiwum ZIP.
Reguły sprawdzania poprawności ikon:
| Właściwość walidacji | Egzekwowane ograniczenie/reguła |
|---|---|
| Maks. rozmiar pliku | Maksymalnie 1 MB (1 048 576 bajtów) na plik ikony. |
| Wymiary | Dokładnie 512 × 512 pikseli (szerokość = 512, wysokość = 512) |
| Format obrazu | Dokładnie 1:1 (kwadratowy format obrazu) |
| Dozwolone formaty | PNG (.png) i JPEG (.jpg, .jpeg) |
| Miejsce docelowe w pliku ZIP | Musi znajdować się w katalogu głównym w pliku ZIP. |
| Sprawdzenie odwołania | Wszystkie nazwy plików ikon określone w kolumnach Nazwa pliku ikony muszą znajdować się w pliku ZIP. |
| Sprawdzanie osieroconych plików | Do wszystkich plików graficznych w pliku ZIP musi odwoływać się co najmniej 1 statystyka. |
| Sprawdzanie konfliktów | Nazwy plików ikon w ProgressionStatConfig.csv nie mogą kolidować z RepetitiveStatsConfig.csv.
|
| Duplikaty wizualne | Zduplikowane ikony są oznaczone. |
Wskazówki dotyczące ikon
Ikony powinny mieć wymiary 512 x 512 pikseli i format PNG, JPEG lub JPG oraz przezroczyste tło.
We wszystkich wersjach językowych używana jest ta sama ikona, dlatego nie zalecamy umieszczania na niej tekstu ani treści zlokalizowanych.
Specyfikacja jednostki
Kolumny jednostek określają, jak nieprzetworzone wartości statystyk są formatowane i lokalizowane dla graczy.
Właściwości statystyk liczbowych (INT64, PODWÓJNE)
| Dozwolona wartość jednostki | Przykładowa wartość nieprzetworzona |
| (Empty) / UNITLESS / NONE | 1234567 |
| % / PROCENT / PROCENTOWO | 0,857 |
| Odległość/długość: CENTIMETER, METER, KILOMETER, FOOT, INCH, MILE, YARD, MILLIMETER, NANOMETER | 15 (KILOMETR) |
| Prędkość: KILOMETER_PER_HOUR, METER_PER_SECOND, MILE_PER_HOUR | 60 (MILE_PER_HOUR) |
Właściwości statystyk czasu trwania (DURATION)
| Format Category Value | Dozwolone wartości jednostek | Przykładowa wartość nieprzetworzona | Przykład sformatowanych danych wyjściowych |
| UNIT_BASED / DURATION | Wymagane: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR | 5400 sekund (GODZINA) | 1,5 godziny |
| COMPONENT_NUMERIC / HH:MM:SS / CLOCK | Szczegółowość (opcjonalnie, domyślnie WHOLE_SECONDS): WHOLE_MINUTES, WHOLE_SECONDS, MILLISECONDS_ONE_DIGIT, MILLISECONDS_TWO_DIGITS, MILLISECONDS_THREE_DIGITS | 3661 sekund | 01:01:01 |
| COMPONENT_TEXT / TEXT | Najmniejsza jednostka (opcjonalnie, domyślnie SECONDS): SECONDS, MINUTES, HOURS, DAYS, MONTHS, YEARS | 90 000 sekund | 1 d 1 h |
Właściwości statystyk nieliczbowych (CIĄG, WARTOŚĆ LOGICZNA)
Kolumny jednostek muszą pozostać puste.