고급 순위표를 위한 프로필 사용
PlayFab을 사용하면 일반적으로 다음 API 메서드를 사용하여 순위표를 구성합니다.
결과는 플레이어에 대한 기본 정보 및 현재 순위표와의 관계만 포함하는 PlayerLeaderboardEntry 개체 목록입니다.
그러나 PlayFab에서는 PlayerProfileViewConstraints를 사용하여 각 플레이어에 대한 추가 정보를 얻을 수도 있습니다.
참고 항목
이 예시는 플레이할 일부 순위표 데이터가 이미 있다고 가정합니다. 일부 테스트 데이터를 생성하는 방법은 보관된 토너먼트 결과에 액세스 자습서를 참조하세요.
플레이어 프로필 보기 제한 구성
기본적으로 클라이언트 API는 다른 플레이어 프로필에서 표시 이름만 가져옵니다. 여기에서는 모든 플레이어가 순위표에 있는 다른 플레이어에 대한 추가 정보에 액세스할 수 있도록 허용합니다.
타이틀 게임 관리자로 이동합니다.
- 왼쪽 메뉴에서 설정 아이콘을 선택합니다.
- 타이틀 설정을 선택합니다.
- 그런 다음 클라이언트 프로필 옵션 탭을 선택합니다.
- DisplayName이 선택되어 있는지 확인합니다.
- 아바타 URL이 선택되어 있는지 확인합니다.
- 클라이언트 프로필 옵션 저장 단추를 선택하여 변경 내용을 제출합니다.
테스트
이전 단계에서 클라이언트 코드가 DisplayName
및 AvatarUrl
프로필 제한을 사용할 수 있습니다.
다음 샘플은 언급된 모든 프로필 데이터를 사용하여 순위표를 가져와 출력하는 방법을 보여줍니다. 자세한 내용은 코드 설명을 참조하세요.
private static async Task DoReadLeaderboard()
{
// Get Leaderboard Request
var result = await PlayFabClientAPI.GetLeaderboardAsync(new GetLeaderboardRequest()
{
// Specify your statistic name here
StatisticName = "TestScore",
// Override Player Profile View Constraints and fetch player DisplayName and AvatarUrl
ProfileConstraints = new PlayerProfileViewConstraints()
{
ShowDisplayName = true,
ShowAvatarUrl = true
}
});
// Start printing the leaderboard
Console.WriteLine("=== LEADERBOARD ===");
if (result.Error != null)
{
// Handle error if any
Console.WriteLine(result.Error.GenerateErrorReport());
}
else
{
// Traverse the leaderboard list
foreach (var entry in result.Result.Leaderboard)
{
// Print regular leaderboard entry information
Console.WriteLine($"{entry.Position + 1} {entry.PlayFabId} {entry.StatValue}");
// Additionally print display name and avatar url that comes from player profile
Console.WriteLine($" {entry.Profile.DisplayName} | {entry.Profile.AvatarUrl}");
}
}
}
참고 항목
개별 프로필 필드는 프로필 제한을 사용하여 클라이언트에서 명시적으로 요청하는 경우에만 사용할 수 있습니다. 또한 특정 프로필 제한이 게임 관리자에서 허용되지 않으며 클라이언트가 요청하는 경우 API 호출이 해당 오류와 함께 실패한다는 점에 유의하세요. 결과는 아래에 제공된 예제와 유사합니다.
이 방법을 사용하여 기타 통계 값을 포함한 약간의 프로필 정보를 가져올 수 있습니다.