> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 高度なリーダーボードにプロファイルを使用する

> PlayFab の PlayerProfileViewConstraints を構成して、リーダーボードやランキング結果でアバター URL や表示名などのより豊富なプレイヤー プロファイル データを取得します。

PlayFab では通常、次の API メソッドを使用してリーダーボードを構築します:

* [**GetFriendLeaderboard**](xref:titleid.playfabapi.com.client.playerdatamanagement.getfriendleaderboard)
* [**GetFriendLeaderboardAroundPlayer**](xref:titleid.playfabapi.com.client.playerdatamanagement.getfriendleaderboardaroundplayer)
* [**GetLeaderboard**](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboard)
* [**GetLeaderboardAroundPlayer**](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboardaroundplayer)

結果は、プレイヤーに関する基本的な情報と、現在のリーダーボードとの関係のみを含む [**PlayerLeaderboardEntry**](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboard#playerleaderboardentry) オブジェクトのリストです。

ただし、PlayFab では [**PlayerProfileViewConstraints**](xref:titleid.playfabapi.com.server.accountmanagement.getplayerprofile#playerprofileviewconstraints) を使用して、各プレイヤーに関する追加情報を取得することもできます。

<Note>
  この例では、既にリーダーボード データがあることを前提としています。テスト データを生成する方法については、[アーカイブされたトーナメントの結果へのアクセス](/services/playfab/community/leaderboards/tournaments-leaderboards/accessing-archived-tournament-results) チュートリアルを参照してください。
</Note>

## プレイヤー プロファイル ビュー制約の構成

デフォルトでは、クライアント API は他のプレイヤー プロファイルから表示名のみを取得できます。この例では、リーダーボード内の *他の* プレイヤーに関する追加情報に *すべての* プレイヤーがアクセスできるようにします。

タイトルの Game Manager に移動します:

1. 左のメニューから **Settings** アイコンを選択します。
2. **Title settings** を選択します。
3. 次に **Client Profile Options** タブを選択します。
4. **DisplayName** が選択されていることを確認します。
5. **Avatar URL** が選択されていることを確認します。
6. **Save Client Profile Options** ボタンを選択して変更を送信します。

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-settings-client-profile-options.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=409d43f763c204027beb536fe13930a9" alt="Game Manager - Settings - Client Profile Options" width="1280" height="1100" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/game-manager-settings-client-profile-options.png" />

## テスト

前のステップにより、クライアント コードで `DisplayName` および `AvatarUrl` プロファイル制約を使用できるようになりました。

次のサンプルは、上記のプロファイル データを使用してリーダーボードを取得して表示する方法を示しています。詳細については、コード コメントを参照してください。

```csharp theme={null}
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}");
        }
    }
}
```

<Note>
  個々のプロファイル フィールドは、クライアントがプロファイル制約を使用して明示的に要求した場合 *のみ* 利用可能です。また、特定のプロファイル制約が Game Manager で許可されて *いない* 場合にクライアントがそれらを要求すると、API 呼び出しは対応するエラーで失敗することにも注意してください。結果は、以下の例のようになります。
</Note>

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/output-display-leaderboard.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=41856980abb06a765ebfbfeecc3e46c1" alt="Output - Display Leaderboard" width="597" height="372" data-path="images/playfab/community/leaderboards/tournaments-leaderboards/tutorials/output-display-leaderboard.png" />

この手法を使用すると、他の統計値を含む、少数のプロファイル情報を取得できます。
