Interfejs API statystyk graczy pozwala dostosować sposób grania do konkretnych segmentów graczy i na różnych etapach ich cyklu życia. Możesz tworzyć dostosowane do Twoich potrzeb w zależności od segmentu graczy, w zależności od postępów, wydatków i angażująca. Za pomocą tego interfejsu API można np. podejmować działania prewencyjne, aby: zachęcić mniej aktywnego gracza do ponownego zaangażowania się w grę, np. przez wyświetlanie i promowanie nowych przedmiotów w grze, gdy gracz się loguje.
Ten przewodnik pokazuje, jak używać interfejsu API statystyk gracza w grach korzystających z usług gier Google Play. Interfejsy API znajdują się w pakietach com.google.android.gms.games.stats
i com.google.android.gms.games
.
Zanim zaczniesz
Zanim zaczniesz korzystać z interfejsu API Statystyki gracza:
- Pobierz i przejrzyj przykładowy kod.
- Zapoznaj się z zaleceniami opisanymi w Lista kontrolna jakości.
Uzyskiwanie klienta statystyk graczy
Aby zacząć korzystać z interfejsu API statystyk gracza, gra musi najpierw uzyskać obiekt PlayerStatsClient
. Aby to zrobić, wywołaj metodę Games.getPlayerStatsClient()
i przekaż w niej aktywność.
Podstawy statystyk zawodników
Za pomocą interfejsu Stats API możesz pobierać dane o aktywności gracza w grze. Rodzaje danych graczy, które możesz pobrać, to m.in.:
Średni czas trwania sesji: średni czas trwania 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 ostatniego grania: przybliżona liczba dni od momentu, gdy gracz ostatnio rozegranej.
Liczba zakupów: przybliżona liczba zakupów w aplikacji .
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żony percentyl sesji dla odtwarzacza podana jako wartość dziesiętna z zakresu od 0 do 1 włącznie. Wartość ta wskazuje sesje obecnego gracza w porównaniu z resztą gracza w tę grę wiele instalacji. Wyższe liczby wskazują, że ten gracz odtworzył więcej sesji.
Percentyl wydatków: przybliżony centyl wydatków odtwarzacza, biorąc pod uwagę jako wartość dziesiętną z zakresu od 0 do 1 włącznie. Ta wartość wskazuje, ile wydał obecny gracz w porównaniu z resztą graczy w tej grze. Wyższe liczby oznaczają, że dany gracz wydał więcej.
Te typy danych o odtwarzaczu są wycofane i zawsze zwracają stałą wartość unset:
- Prawdopodobieństwo rezygnacji: prognoza, czy gracz zrezygnuje. w następnym dniu, podawana jako wartość dziesiętna z zakresu od 0 (niskie prawdopodobieństwo rezygnacje) na 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 następnych 28 dni: przybliżona łączna szacowana łączna liczba graczy wydatki w tej grze w ciągu najbliższych 28 dni.
- Prawdopodobieństwo wysokiego wydatkowania: 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 zawodnika
Aby pobrać dane statystyczne aktualnie zalogowanego gracza, postępuj zgodnie z tymi instrukcjami kroki:
- Wywołaj metodę
PlayerStatsClient.loadPlayerStats()
. - Jeśli wywołanie się powiedzie, usługi gier Google Play zwrócą obiekt
Task
, który asynchronicznie wczytuje obiektPlayerStats
. Użyj metod tego obiektu, aby pobrać dane o: aktywności zalogowanego gracza w Twojej aplikacji.
Oto przykład:
public void checkPlayerStats() { PlayGames.getPlayerStatsClient(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 Statystyk graczy
Interfejs Play Stats API umożliwia łatwe rozpoznawanie różnych typów graczy na podstawie ich zaangażowania i zachowań związanych z wydawaniem środków. Dzięki temu możesz stosować odpowiednie strategie, aby zwiększyć ich satysfakcję 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ń. |
|
Bardzo zaangażowani gracze w niskim centylu wydatków. |
|
Wysoko płacący gracze wykazujący oznaki wzrostu popularności i startu aby rzadziej odtwarzać. |
|
Gracze o bardzo wysokim lub bardzo niskim prawdopodobieństwie wydatków. |
|