Interfejs API statystyk graczy umożliwia dostosowywanie sposobu gry do konkretnych segmentów graczy i różnych etapów jego cyklu życia. Dla każdego segmentu graczy możesz tworzyć rozwiązania dopasowane do Twoich postępów, wydatków i zaangażowania. Możesz na przykład używać go do podejmowania aktywnych działań w celu zachęcania mniej aktywnych graczy do ponownego zaangażowania się w grę, np. wyświetlania i promowania nowych elementów w momencie logowania.
Z tego przewodnika dowiesz się, jak korzystać z interfejsu API statystyk graczy w grach za pomocą usług gier Google Play. Interfejsy API znajdziesz w pakietach com.google.android.gms.games.stats
i com.google.android.gms.games
.
Zanim zaczniesz
Zanim zaczniesz korzystać z interfejsu API statystyk odtwarzacza:
- Pobierz i przejrzyj przykładowy kod.
- Zapoznaj się z rekomendacjami opisanymi na liście kontrolnej jakości.
Pobieranie klienta statystyk odtwarzacza
Aby zacząć korzystać z interfejsu Player Insights API, Twoja gra musi najpierw uzyskać obiekt PlayerStatsClient
. Aby to zrobić, wywołaj metodę Games.getPlayerStatsClient()
i przekaż działanie.
Podstawowe informacje o statystykach graczy
Interfejs API statystyk graczy umożliwia pobieranie danych o aktywności gracza w grze. Rodzaje danych graczy, które możesz pobrać:
Średnia długość sesji: średni czas trwania odtwarzacza w minutach. Długość sesji zależy od czasu, w którym gracz jest zalogowany w Usługach gier Google Play.
Liczba dni od ostatniej rozgrywki: przybliżona liczba dni od ostatniej rozgrywki.
Liczba zakupów: przybliżona liczba zakupów w aplikacji dla odtwarzacza.
Liczba sesji: przybliżona liczba sesji odtwarzacza. Sesje zależą od tego, ile razy gracz logował się w Usługach gier Google Play.
Percentyl sesji: przybliżony czas sesji dla odtwarzacza – podany jako wartość dziesiętna z zakresu od 0 do 1. Ta wartość wskazuje liczbę sesji, w którą obecnie grał użytkownik, w porównaniu z pozostałymi graczami. Wyższe liczby oznaczają, że ten gracz odtworzył więcej sesji.
Percentyl wydatków: przybliżony poziom wydatków w odtwarzaczu określony jako wartość dziesiętna z zakresu od 0 do 1 włącznie. Ta wartość informuje, ile wydał bieżący gracz w porównaniu z pozostałymi graczami. Wyższe liczby oznaczają, że ten gracz wydał więcej.
Te typy danych odtwarzacza są wycofane i zawsze zwracają stałą wartość:
- Prawdopodobieństwo rezygnacji: przewidywana, czy gracz ma zrezygnować z gry w ciągu następnego dnia, podana jako wartość dziesiętna z przedziału od 0 (niskie prawdopodobieństwo rezygnacji) do 1 (wysokie prawdopodobieństwo rezygnacji). Do rezygnacji zalicza się 7 dni braku aktywności.
- Prawdopodobieństwo wydatków: przybliżone prawdopodobieństwo, że gracz wyda pieniądze w tej grze, jako wartość dziesiętna z zakresu od 0 (niskie prawdopodobieństwo wydatków) do 1 (wysokie prawdopodobieństwo wydatków).
- Łączne wydatki w ciągu najbliższych 28 dni: przybliżone oczekiwane wydatki graczy w ciągu najbliższych 28 dni w grze.
- Wysokie prawdopodobieństwo wydanych środków: przybliżone prawdopodobieństwo, że w ciągu najbliższych 28 dni gracz wyda kwotę z 95 centyla lub wyższej bazy graczy. Jest to wartość dziesiętna z zakresu od 0 (niskie prawdopodobieństwo zostania wysokimi wydatkami) do 1 (wysokie prawdopodobieństwo, że użytkownik wydaje dużo).
Pobieram statystyki statystyk graczy
Aby pobrać dane statystyk gracza, który jest obecnie zalogowany, wykonaj te czynności:
- Wywołaj metodę
PlayerStatsClient.loadPlayerStats()
. - Jeśli wywołanie się powiedzie, Usługi gier Google Play zwraca obiekt
Task
, który asynchronicznie wczytuje obiektPlayerStats
. Użyj metod tego obiektu, aby pobierać 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 używania danych statystyk graczy
Interfejs Play Insights API umożliwia łatwe identyfikowanie różnych typów graczy na podstawie ich zaangażowania i wydatków, a także stosowanie odpowiednich strategii, aby zwiększyć komfort użytkowania.
W tej tabeli znajdziesz przykładowe segmenty graczy i zalecane strategie zaangażowania:
Segment graczy | Strategia zaangażowania |
---|---|
Często gracze z dużą liczbą sesji i dobrym cennikiem, ale nie grali przez co najmniej tydzień. |
|
Zaangażowani gracze z niskim kosztem wydatków. |
|
Gracze o wysokich wydatkach wydają się wykazywać oznaki szczytu i grają rzadziej. |
|
Gracze z bardzo wysokim lub bardzo niskim prawdopodobieństwem wydatków. |
|