Dodawanie statystyk graczy do gry

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. Pakiet C++ SDK usług gier Play w wersji 2 nie jest jeszcze dostępny.

Interfejs Player Stats API umożliwia dostosowywanie rozgrywki do konkretnych segmentów graczy i różnych etapów cyklu życia gracza. Możesz tworzyć dostosowane do poszczególnych segmentów graczy środowiska 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.

Z tego przewodnika dowiesz się, jak używać interfejsu Player Stats API w natywnej aplikacji napisanej w C++ lub Objective-C.

Podstawowe informacje o statystykach zawodników

Za pomocą interfejsów 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.
  • Prawdopodobieństwo rezygnacji: prognoza, czy gracz zrezygnuje z gry w ciągu najbliższego dnia. Wartość 0 oznacza niskie prawdopodobieństwo rezygnacji, a 1 – wysokie. Rezygnacja jest definiowana jako 7 dni nieaktywności.
  • 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 zakresu 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.

Pobieranie statystyk gracza, który jest obecnie zalogowany, za pomocą C++

// Create the callback for our asynchronous fetch call.  This callback will
// log either an error or the average session length for the currently
// signed-in player.
gpg::StatsManager::FetchForPlayerCallback callback = [](gpg::StatsManager::FetchForPlayerResponse const &response) {
  if (IsError(response.status)) {
    LogE("An error occurred fetching player stats.");
  } else {
  gpg::PlayerStats const & player_stats = response.data;
    if (player_stats.HasAverageSessionLength()) {
      LogI("Average session length: %f", player_stats.AverageSessionLength());
    } else {
      LogW("Currently signed-in player had no associated average session length stats.");
    }
  }
};
// Asynchronously fetch the Player Stats.  When the fetch is finished it
// will call our callback. game_services_ is the std::unique_ptr<GameServices>
// returned by gpg::GameServices::Builder.Create()
game_services_->Stats().FetchForPlayer(callback);

Pobieranie statystyk gracza, który jest obecnie zalogowany, w języku Objective-C

// Asynchronously fetches the Player Stats and then logs either a
// description of them or an error
[GPGPlayerStats playerStatsWithCompletionHandler:^(GPGPlayerStats *playerStats, NSError *error) {
  if (error) {
    NSLog(@"Error fetching player stats: %@", error);
  } else {
    NSLog(@"Description of stats for the currently signed-in player: %@", playerStats);
  }
}];

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.