Статистика игроков в играх для Android

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

В этом руководстве показано, как использовать API статистики игроков в играх, использующих игровые сервисы Google Play. API можно найти в пакетах com.google.android.gms.games.stats и com.google.android.gms.games .

Прежде чем вы начнете

Прежде чем вы начнете использовать API статистики игроков:

Получение клиента статистики игрока

Чтобы начать использовать API статистики игрока, ваша игра должна сначала получить объект PlayerStatsClient . Вы можете сделать это, вызвав метод Games.getPlayerStatsClient() и передав действие.

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

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

  • Средняя продолжительность сеанса : средняя продолжительность сеанса игрока в минутах. Продолжительность сеанса определяется временем, когда игрок вошел в сервисы Google Play Games.

  • Дней с момента последней игры : приблизительное количество дней с момента последней игры игрока.

  • Количество покупок : приблизительное количество покупок в приложении для игрока.

  • Количество сессий : примерное количество сессий игрока. Сеансы определяются по количеству входов игрока в сервисы Google Play Games.

  • Процентиль сеанса : приблизительный процентиль сеанса для игрока, представленный в виде десятичного значения от 0 до 1 включительно. Это значение указывает, сколько сессий сыграл текущий игрок по сравнению с остальными игроками этой игры. Более высокие числа означают, что этот игрок сыграл больше сессий.

  • Процентиль расходов : приблизительный процентиль расходов игрока, представленный в виде десятичного числа от 0 до 1 включительно. Это значение указывает, сколько текущий игрок потратил по сравнению с остальными игроками этой игры. Более высокие числа означают, что этот игрок потратил больше.

Следующие типы данных проигрывателя устарели и всегда возвращают неустановленное значение константы:

  • Вероятность оттока : прогноз того, уйдет ли игрок на следующий день, представленный в виде десятичного значения от 0 (низкая вероятность оттока) до 1 (высокая вероятность оттока) включительно. Отток определяется как 7 дней бездействия.
  • Вероятность траты : приблизительная вероятность того, что игрок решит потратить деньги в этой игре, выраженная в виде десятичного числа от 0 (низкая вероятность траты) до 1 (высокая вероятность траты) включительно.
  • Всего за следующие 28 дней : приблизительная общая ожидаемая сумма, которую игрок потратит в течение следующих 28 дней в этой игре.
  • Вероятность больших трат : приблизительная вероятность того, что в течение следующих 28 дней игрок потратит сумму, которая находится в 95-м процентиле или выше от базы игроков этой игры. Это дается в виде десятичного значения от 0 (низкая вероятность стать высокооплачиваемым) до 1 (высокая вероятность стать высокооплачиваемым).

Получение данных статистики игрока

Чтобы получить данные статистики игрока, вошедшего в систему, выполните следующие действия:

  1. Вызовите метод PlayerStatsClient.loadPlayerStats() .
  2. Если вызов выполнен успешно, игровые сервисы Google Play возвращают объект Task , который асинхронно загружает объект PlayerStats . Используйте методы этого объекта для получения данных о действиях игрока, вошедшего в систему, в вашем приложении.

Вот пример:

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());
          }
        }
      });
}

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

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

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

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