Добавьте статистику игрока в свою игру

В связи с прекращением поддержки API входа Google мы удалим SDK для игр v1 в 2026 году. После февраля 2025 года вы не сможете публиковать в Google Play игры, недавно интегрированные с SDK для игр v1. Вместо этого мы рекомендуем использовать SDK для игр v2.
Хотя существующие игры с интеграцией предыдущих игр v1 продолжат функционировать еще пару лет, вам рекомендуется перейти на v2, начиная с июня 2025 года.
Это руководство по использованию Play Games Services v1 SDK. C++ SDK для Play Games Services v2 пока недоступен.

API статистики игрока позволяет адаптировать игровой опыт к определённым сегментам игроков и разным этапам жизненного цикла игрока. Вы можете создавать индивидуальные игровые возможности для каждого сегмента, учитывая их прогресс, расходы и вовлечённость. Например, вы можете использовать этот API для принятия проактивных мер, чтобы побудить менее активных игроков вернуться в игру, например, показывая и продвигая новые игровые предметы при входе в систему.

В этом руководстве показано, как использовать API статистики игроков в собственном приложении C++ или Objective-C.

Основы статистики игроков

Вы можете использовать API статистики игроков для получения данных об игровой активности игрока. Доступны следующие типы данных об игроках:

  • Средняя продолжительность сеанса : средняя продолжительность сеанса игрока в минутах. Продолжительность сеанса определяется временем, в течение которого игрок находится в сервисах Google Play Игр.
  • Вероятность оттока : прогноз того, уйдёт ли игрок в следующий день, принимается значение 0 (низкая вероятность оттока) или 1 (высокая вероятность оттока). Отток определяется как 7 дней бездействия.
  • Дней с момента последней игры : приблизительное количество дней с момента последней игры игрока.
  • Количество покупок : приблизительное количество покупок внутри приложения для игрока.
  • Количество сеансов : приблизительное количество сеансов игрока. Сеансы определяются количеством входов игрока в сервисы Google Play Игр.
  • Процентиль сеанса : приблизительное процентиль сеансов игрока, представленное десятичным числом от 0 до 1 (включительно). Это значение показывает, сколько сеансов сыграл текущий игрок по сравнению с остальными игроками этой игры. Более высокие значения указывают на большее количество сеансов, сыгранных этим игроком.
  • Процентиль расходов : приблизительный процентиль расходов игрока, представленный десятичным числом от 0 до 1 (включительно). Это значение показывает, сколько средств потратил текущий игрок по сравнению с остальными игроками в этой игре. Более высокие значения указывают на то, что этот игрок потратил больше.

Получите статистику для текущего вошедшего в систему игрока с помощью 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);

Получите статистику для текущего вошедшего в систему игрока с помощью 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);
  }
}];

Советы по использованию данных статистики игроков

API Play Stats позволяет легко определять различные типы игроков на основе их вовлеченности и поведения при расходах, а также применять соответствующие стратегии для улучшения их игрового опыта.

В следующей таблице приведены некоторые примеры сегментов игроков и рекомендуемые стратегии взаимодействия:

Сегмент игрока Стратегия взаимодействия
Постоянные игроки с большим количеством сессий и хорошим процентилем расходов, но не игравшие в течение последней недели или дольше.
  • Отправьте уведомление о скидке или специальном бонусе, доступном по возвращении в игру.
  • Покажите приветственное сообщение, в котором отмечаются выдающиеся достижения, и наградите значком, призванным поощрить повторную игру.
Высокоактивные игроки с низким процентилем расходов.
  • Разрабатывайте бонусы, чтобы мотивировать их приглашать друзей установить и присоединиться к вашей игре. Этот подход основан на демонстрации игроком удовольствия от игры для привлечения новых игроков.
Игроки с высокими расходами демонстрируют признаки того, что достигли пика и начинают играть реже.
  • Используйте специальные бонусы, чтобы освежить их интерес, например, предлагая ценные инструменты, оружие или скидки с краткосрочным эффектом.
  • В следующий раз, когда игрок войдет в систему, покажите ему видео, которое направит его к функциям сообщества, таким как клановые атаки, которые стимулируют более частую и продолжительную вовлеченность.