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 statystyk odtwarzacza:

Pobieranie klienta statystyk zawodników

Aby zacząć korzystać z interfejsu API statystyk gracza, gra musi najpierw uzyskać obiekt PlayerStatsClient. Możesz to zrobić, wywołując metodę Games.getPlayerStatsClient() i przekazując dla aktywności oraz GoogleSignInAccount dla bieżącego gracza. 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 użytkownika.

  • 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 rozumiana jako nieaktywność przez 7 dni.
  • 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 wydania wyższego poziomu: przybliżone prawdopodobieństwo, że w ciągu najbliższych 28 dni gracz wyda kwotę znajdującą się w co najmniej 95 centylu liczby graczy. 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. Użyj metod tego obiektu, by pobrać dane o aktywności w aplikacji zalogowanego gracza.

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 pozwala łatwo identyfikować różne typy graczy na podstawie ich zaangażowania i wydatków, a także stosować odpowiednie strategie, aby poprawić wrażenia graczy.

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

Segment graczy Strategia zaangażowania
Użytkownicy, którzy często grają w gry z dużą liczbą sesji i dobrym centylem wydatków, ale nie grali od co najmniej ostatniego tygodnia.
  • Wyślij powiadomienie o rabacie lub specjalnym bonusie, z których gracz będzie mógł skorzystać po powrocie do gry.
  • Pokaż wiadomość powitalną informującą o imponujących osiągnięciach i przyznaj plakietkę, która zachęci odbiorców do powrotu.
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ć;
  • dostosowywać bonusy, aby odświeżyć ich zainteresowanie. Mogą na przykład oferować wartościowe, krótkotrwałe narzędzia, broń lub zniżki.
  • 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 z bardzo wysokim lub bardzo niskim prawdopodobieństwem wydatku.
  • Nie jest prawdopodobne, że dokona zakupu: daj użytkownikowi możliwość obejrzenia reklamy wideo. Pokaż produkty w niższej cenie.
  • Możliwość dokonania zakupu: skieruj ich do sklepu w grze i zaoferuj specjalne promocje, aby zachęcić ich do zakupu.