Statystyki zawodników w grach na Androida

Interfejs API statystyk gracza pozwala dostosować rozgrywkę do konkretnych segmentów graczy i różnych etapów ich cyklu życia. Możesz tworzyć dostosowane wrażenia dla każdego segmentu graczy na podstawie ich postępów, wydatków i zaangażowania. Możesz na przykład użyć tego interfejsu API, aby podjąć działania z zamiarem zachęcenia mniej aktywnych graczy do ponownego zaangażowania się w Twoją grę. Możesz na przykład wyświetlać i promować nowe przedmioty w grze, gdy gracz się zaloguje.

Ten przewodnik pokazuje, jak używać interfejsu API statystyk gracza 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 Statystyki dotyczące odtwarzania:

Pobieranie klienta statystyk zawodników

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

Podstawy statystyk zawodników

Za pomocą interfejsu Stats API możesz pobierać dane o aktywności gracza w grze. Dostępne typy danych dotyczących odtwarzania:

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

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

  • 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.

  • Procenty sesji: przybliżony odsetek sesji gracza podany jako wartość dziesiętna z zakresu od 0 do 1. Ta wartość wskazuje, ile sesji odbył obecny gracz w porównaniu z resztą graczy tej gry. Wyższe liczby wskazują, że ten gracz odtwarzał więcej sesji.

  • Spend percentile (Procent wydatków): przybliżony odsetek wydatków gracza podany jako wartość dziesiętna z zakresu od 0 do 1. Ta wartość wskazuje, ile wydał obecny gracz w porównaniu z resztą graczy w tej grze. Wyższe liczby wskazują, że ten gracz wydał więcej.

Te typy danych o odtwarzaczu są wycofane i zawsze zwracają stałą wartość unset:

  • Prawdopodobieństwo rezygnacji: prognoza dotycząca tego, czy gracz zrezygnuje z gry w ciągu następnego dnia. Podana jako wartość dziesiętna w zakresie od 0 (małe prawdopodobieństwo rezygnacji) do 1 (wysokie prawdopodobieństwo rezygnacji) włącznie. Rezygnacja jest zdefiniowana jako 7 dni bezczynności.
  • Prawdopodobieństwo dokonania zakupu: przybliżone prawdopodobieństwo, że gracz zdecyduje się na dokonanie zakupu w tej grze. Wartość podana jako liczba dziesiętna w zakresie od 0 (niskie prawdopodobieństwo dokonania zakupu) do 1 (wysokie prawdopodobieństwo dokonania zakupu).
  • Łączne wydatki w ciągu najbliższych 28 dni: przybliżony łączny oczekiwany wydatek graczy w tej grze w ciągu najbliższych 28 dni.
  • Prawdopodobieństwo wysokiego wydatku: przybliżone prawdopodobieństwo, że w ciągu najbliższych 28 dni gracz wyda kwotę należącą do 95. per centyla lub wyższą w grupie graczy tej gry. Wartość ta jest wyrażona w postaci dziesiętnej w przedziale od 0 (małe prawdopodobieństwo stania się dużym klientem) do 1 (duże prawdopodobieństwo stania się dużym klientem).

Pobieranie danych statystyk zawodników

Aby pobrać dane dotyczące statystyk 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 zwraca obiekt Task, który asynchronicznie wczytuje obiekt PlayerStats. Aby pobrać dane o aktywności zalogowanego gracza w aplikacji, użyj metod tego obiektu.

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 używania danych statystyk zawodników

Interfejs Play Stats API umożliwia łatwe rozpoznawanie różnych typów graczy na podstawie ich zaangażowania i zachowania w zakresie wydawania środków oraz stosowanie odpowiednich strategii, aby zwiększyć ich wrażenia z gry.

W tabeli poniżej znajdziesz przykładowe segmenty graczy i zalecane strategie zaangażowania:

Segment graczy Strategia zaangażowania
Często grający użytkownicy z dużą liczbą sesji i dobrym odsetkiem wydatków, którzy nie grali przez co najmniej tydzień.
  • Wyślij powiadomienie o rabacie lub specjalnym bonusie, który będzie dostępny, gdy gracz wróci do gry.
  • Wyświetlać wiadomość powitalną, która potwierdza imponujące osiągnięcia, oraz przyznawać odznakę zachęcającą do powrotu do gry.
Bardzo zaangażowani gracze w niskim centylu wydatków.
  • Dostosuj bonusy, aby zachęcić ich do zapraszania znajomych do zainstalowania gry i dołączenia do niej. To podejście polega na zachęcaniu do gry nowych graczy, którzy już wcześniej wykazali zainteresowanie grą.
gracze, którzy wydają dużo pieniędzy, wykazują oznaki szczytowego poziomu aktywności i zaczynają rzadziej grać;
  • Dostosuj bonusy, aby zachęcić graczy do dalszej gry, na przykład oferując cenne narzędzia, broń lub rabaty na krótki czas.
  • Gdy gracz zaloguje się po raz kolejny, wyświetl mu film, który kieruje go do funkcji społeczności, takich jak ataki klanów, które zwiększają częstotliwość i długość zaangażowania.
Gracze o bardzo wysokim lub bardzo niskim prawdopodobieństwie wydatków.
  • Nie jest prawdopodobne, że dokona zakupu: daj użytkownikowi możliwość obejrzenia reklamy wideo. wyświetlać tańsze produkty do kupienia.
  • Możliwość dokonania zakupu: skieruj ich do sklepu w grze i zaoferuj specjalne promocje, aby zachęcić ich do zakupu.