Statystyki zawodników w grach na Androida

Po wycofaniu interfejsu Google Sign-In API w 2026 roku usuniemy pakiet SDK do gier w wersji 1. Z końcem lutego 2025 r. nie będzie już można publikować w Google Play nowych tytułów, w których zastosowano integrację z wersją 1 pakietu SDK gier. Zamiast tego zalecamy używanie pakietu SDK do gier w wersji 2.
Dotychczasowe tytuły z integracjami gier w wersji 1 będą działać jeszcze przez kilka lat, ale zachęcamy do przejścia na wersję 2 od czerwca 2025 r.
Ten przewodnik dotyczy korzystania z pakietu SDK usług gier Play w wersji 1. Informacje o najnowszej wersji pakietu SDK znajdziesz w dokumentacji wersji 2.

Interfejs API statystyk gracza umożliwia dostosowywanie rozgrywki do konkretnych segmentów graczy i różnych etapów cyklu życia gracza. Możesz tworzyć dostosowane do potrzeb poszczególnych segmentów graczy funkcje na podstawie ich postępów, wydatków i zaangażowania. Możesz na przykład użyć tego interfejsu API, aby podejmować proaktywne działania zachęcające mniej aktywnych graczy do ponownego zaangażowania się w grę, np. wyświetlać i promować nowe elementy w grze, gdy gracz się zaloguje.

Ten przewodnik pokazuje, jak używać interfejsu Player Stats API w grach korzystających z usług gier Google Play. Interfejsy API znajdziesz w pakietach com.google.android.gms.games.statscom.google.android.gms.games.

Zanim zaczniesz

Zanim zaczniesz korzystać z interfejsu API statystyk graczy:

Pobieranie klienta statystyk zawodników

Aby zacząć korzystać z interfejsu Player Stats API, gra musi najpierw uzyskać obiekt PlayerStatsClient. Aby to zrobić, wywołaj metodę Games.getPlayerStatsClient() i przekaż do niej aktywność oraz GoogleSignInAccount bieżącego gracza. Aby dowiedzieć się, jak pobrać informacje o koncie gracza, przeczytaj artykuł Logowanie się w grach na Androida.

Podstawowe informacje o statystykach zawodników

Za pomocą interfejsu Player Stats API możesz pobierać dane o aktywności gracza w grze. Typy danych gracza, które możesz pobrać, to:

  • Średnia długość sesji: średnia długość sesji odtwarzacza w minutach. Długość sesji zależy od czasu, przez jaki gracz jest zalogowany w usługach gier Google Play.

  • Dni od ostatniej gry: przybliżona liczba dni od ostatniej gry.

  • Liczba zakupów: przybliżona liczba zakupów w aplikacji dokonanych przez gracza.

  • Liczba sesji: przybliżona liczba sesji odtwarzacza. Sesje są określane na podstawie liczby logowań gracza w usługach gier Google Play.

  • Percentyl sesji: przybliżona wartość percentyla sesji gracza podana jako liczba dziesiętna z przedziału od 0 do 1 (włącznie). Ta wartość wskazuje, ile sesji rozegrał bieżący gracz w porównaniu z pozostałymi graczami w tej grze. Wyższe liczby oznaczają, że ten gracz rozegrał więcej sesji.

  • Percentyl wydatków: przybliżony percentyl wydatków gracza podany jako wartość dziesiętna z zakresu od 0 do 1 włącznie. Ta wartość wskazuje, ile obecny gracz wydał w porównaniu z pozostałymi graczami w tej grze. Wyższe liczby oznaczają, że ten gracz wydał więcej.

Te typy danych gracza są wycofane i zawsze zwracają stałą wartościę „nieustawiona”:

  • Prawdopodobieństwo rezygnacji: prognoza, czy gracz zrezygnuje z gry w ciągu najbliższego dnia. Jest to wartość dziesiętna z zakresu od 0 (niskie prawdopodobieństwo rezygnacji) do 1 (wysokie prawdopodobieństwo rezygnacji) włącznie. Rezygnacja jest definiowana jako 7 dni nieaktywności.
  • Prawdopodobieństwo wydatków: przybliżone prawdopodobieństwo, że gracz zdecyduje się na wydatki w tej grze. Jest to wartość dziesiętna z zakresu od 0 (niskie prawdopodobieństwo wydatków) do 1 (wysokie prawdopodobieństwo wydatków) włącznie.
  • Łączne wydatki w ciągu najbliższych 28 dni: przybliżone łączne wydatki graczy w tej grze w ciągu najbliższych 28 dni.
  • Prawdopodobieństwo, że gracz wyda dużo pieniędzy: przybliżone prawdopodobieństwo, że w ciągu najbliższych 28 dni gracz wyda kwotę, która będzie w 95 percentylu lub wyższym w przypadku bazy graczy tej gry. Jest to wartość dziesiętna z przedziału od 0 (niskie prawdopodobieństwo, że użytkownik będzie wydawać dużo pieniędzy) do 1 (wysokie prawdopodobieństwo, że użytkownik będzie wydawać dużo pieniędzy).

Pobieranie danych statystyk gracza

Aby pobrać dane statystyczne gracza, który jest obecnie zalogowany, wykonaj te czynności:

  1. Wywołaj metodę PlayerStatsClient.loadPlayerStats().
  2. Jeśli wywołanie się powiedzie, usługi gier Google Play zwrócą obiekt Task, który asynchronicznie wczytuje obiekt PlayerStats. Używaj metod tego obiektu, aby pobierać dane o aktywności zalogowanego gracza w Twojej aplikacji.

Oto przykład:

public void checkPlayerStats() {
  Games.getPlayerStatsClient(this, GoogleSignIn.getLastSignedInAccount(this))
      .loadPlayerStats(true)
      .addOnCompleteListener(new OnCompleteListener<AnnotatedData<PlayerStats>>() {
        @Override
        public void onComplete(@NonNull Task<AnnotatedData<PlayerStats>> task) {
          if (task.isSuccessful()) {
            // Check for cached data.
            if (task.getResult().isStale()) {
              Log.d(TAG, "using cached data");
            }
            PlayerStats stats = task.getResult().get();
            if (stats != null) {
              Log.d(TAG, "Player stats loaded");
              if (stats.getDaysSinceLastPlayed() > 7) {
                Log.d(TAG, "It's been longer than a week");
              }
              if (stats.getNumberOfSessions() > 1000) {
                Log.d(TAG, "Veteran player");
              }
              if (stats.getChurnProbability() == 1) {
                Log.d(TAG, "Player is at high risk of churn");
              }
            }
          } else {
            int status = CommonStatusCodes.DEVELOPER_ERROR;
            if (task.getException() instanceof ApiException) {
              status = ((ApiException) task.getException()).getStatusCode();
            }
            Log.d(TAG, "Failed to fetch Stats Data status: "
                + status + ": " + task.getException());
          }
        }
      });
}

Wskazówki dotyczące korzystania z danych statystycznych graczy

Interfejs Play Stats API umożliwia łatwe identyfikowanie różnych typów graczy na podstawie ich zaangażowania i zachowań związanych z wydawaniem środków oraz stosowanie odpowiednich strategii w celu zwiększenia komfortu gry.

W tabeli poniżej znajdziesz przykładowe segmenty graczy i rekomendowane strategie angażowania:

Segment graczy Strategia zaangażowania
Często grający użytkownicy z dużą liczbą sesji i dobrym percentilem wydatków, którzy nie grali przez ostatni tydzień lub dłużej.
  • wysyłać powiadomienia o rabatach lub specjalnych bonusach dostępnych po powrocie do gry;
  • Wyświetl komunikat powitalny, który podkreśla imponujące osiągnięcia, i przyznaj odznakę zachęcającą do ponownej gry.
Bardzo zaangażowani gracze w niskim przedziale centylowym wydatków.
  • Dostosuj bonusy, aby zachęcić ich do zapraszania znajomych do zainstalowania Twojej gry i dołączenia do niej. To podejście opiera się na wykazanej przez gracza przyjemności z gry, aby pozyskać nowych graczy.
Gracze, którzy dużo wydają, wykazują oznaki osiągnięcia szczytu i zaczynają grać rzadziej.
  • Dostosuj bonusy, aby odświeżyć zainteresowanie graczy, np. oferując wartościowe narzędzia, broń lub rabaty o krótkim czasie trwania.
  • Gdy gracz zaloguje się następnym razem, wyświetl mu film, który kieruje go do funkcji społecznościowych, takich jak ataki klanowe, które zwiększają częstotliwość i długość zaangażowania.
Gracze o bardzo wysokim lub bardzo niskim prawdopodobieństwie wydatków.
  • Mało prawdopodobne, że dokona zakupu: daj możliwość obejrzenia reklamy wideo. Wyświetlaj tańsze produkty, które można kupić.
  • Prawdopodobieństwo wydania środków: skieruj ich do sklepu w grze na wczesnym etapie i zaoferuj specjalne promocje, aby zachęcić ich do zakupu.