Player Stats API позволяет адаптировать игровой процесс к определенным сегментам игроков и различным этапам их жизненного цикла. Вы можете создать индивидуальный опыт для каждого сегмента игроков в зависимости от их прогресса, расходов и вовлеченности. Например, вы можете использовать этот API, чтобы предпринять упреждающие действия, чтобы побудить менее активного игрока повторно участвовать в вашей игре, например, отображая и рекламируя новые внутриигровые предметы, когда игрок входит в систему.
В этом руководстве показано, как использовать Player Stats API в собственном приложении C++ или Objective-C.
Основы статистики игроков
Вы можете использовать Player Stats API для получения данных об активности игрока в игре. Типы данных игрока, которые вы можете получить, включают:
- Средняя продолжительность сеанса : средняя продолжительность сеанса игрока в минутах. Продолжительность сеанса определяется временем, когда игрок вошел в сервисы Google Play Games.
- Вероятность оттока : прогноз того, уйдет ли игрок на следующий день, задается как 0 (низкая вероятность оттока) или 1 (высокая вероятность оттока). Отток определяется как 7 дней бездействия.
- Дней с момента последней игры : приблизительное количество дней с момента последней игры игрока.
- Количество покупок : приблизительное количество покупок в приложении для игрока.
- Количество сессий : примерное количество сессий игрока. Сеансы определяются по количеству входов игрока в сервисы Google Play Games.
- Процентиль сеанса : приблизительный процентиль сеанса для игрока, представленный в виде десятичного значения от 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);
}
}];
Советы по использованию данных статистики игрока
Play Stats API позволяет легко идентифицировать различные типы игроков на основе их вовлеченности и поведения в отношении расходов, а также применять соответствующие стратегии для улучшения их игрового опыта.
В следующей таблице перечислены некоторые примеры сегментов игроков и рекомендуемые стратегии взаимодействия:
Сегмент игрока | Стратегия взаимодействия |
---|---|
Частые игроки с большим количеством сессий и хорошим процентилем трат, но не игравшие в течение последней недели или дольше. |
|
Активно вовлеченные игроки в процентиле с низким уровнем расходов. |
|
Игроки с высокими расходами демонстрируют признаки достижения пика и начинают играть реже. |
|