Player Stats API를 사용하면 특정 플레이어 세그먼트와 다양한 단계의 플레이어 수명 주기에 맞춰 게임 환경을 설정할 수 있습니다. 플레이어의 게임 진행, 소비 및 참여 방식에 따라 각 플레이어 세그먼트에 맞춰 게임 환경을 구축할 수 있습니다. 예를 들어, 이 API를 사용하여 소극적으로 참여하는 플레이어가 게임에 더욱 몰입할 수 있도록 선제적 조치를 취할 수 있습니다(예: 플레이어가 로그인할 때 새로운 인게임 아이템 표시 및 홍보).
이 가이드에서는 네이티브 C++ 또는 Objective-C 애플리케이션에서 Player Stats API를 사용하는 방법을 보여줍니다.
플레이어 통계 기본사항
Player Stats API를 사용하면 플레이어의 인게임 활동 데이터를 검색할 수 있습니다. 검색 가능한 플레이어 데이터 유형에는 다음이 포함됩니다.
- 평균 세션 길이: 플레이어의 평균 세션 길이(분 단위)입니다. 세션 길이는 플레이어가 Google Play 게임즈 서비스에 로그인한 시간으로 결정됩니다.
- 이탈 확률: 플레이어가 다음 날 이탈할 확률의 예상값이며 0 (낮은 이탈 확률)과 1 (높은 이탈 확률) 사이의 소수점 값으로 표시됩니다. 이탈은 7일 동안의 비활성 상태로 정의됩니다.
- 마지막 플레이 이후 경과 일: 플레이어가 마지막으로 플레이한 후 경과한 대략적인 일수입니다.
- 구매 횟수: 플레이어의 대략적인 인앱 구매 횟수입니다.
- 세션 수: 플레이어의 대략적인 세션 수입니다. 세션은 플레이어가 Google Play 게임즈 서비스에 로그인한 횟수로 결정됩니다.
- 세션 백분위: 플레이어의 대략적인 세션 백분위이며 0과 1 사이의 소수점 값으로 표시됩니다 (0과 1 포함). 이 값은 게임의 다른 플레이어에 비해 현재 플레이어가 얼마나 세션을 진행했는지를 나타냅니다. 숫자가 높을수록 플레이어가 더 많은 세션을 진행했다는 의미입니다.
- 소비 백분위: 플레이어의 대략적인 소비 백분위이며 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);
}
}];
Player Stats 데이터 사용 관련 도움말
Play Stats API를 사용하면 플레이어의 참여 및 소비 방식에 따라 다양한 유형의 플레이어를 쉽게 식별할 수 있으며 적절한 전략을 적용하여 플레이어의 게임 환경을 개선할 수 있습니다.
다음 표에는 플레이어 세그먼트의 몇 가지 예와 권장되는 참여 전략이 나와 있습니다.
플레이어 세그먼트 | 참여 전략 |
---|---|
세션 수가 많고 소비 백분위와 참여도가 높지만 한 주 이상 게임을 진행하지 않고 있는 플레이어 |
|
소비 백분위는 낮지만 참여도가 높은 플레이어 |
|
고액 소비자이지만 게임 진행 횟수가 점차 줄어드는 플레이어 |
|