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

# リーダーボードのクイックスタート

> PlayFab リーダーボードのクイックスタート: Game Manager で最初のリーダーボードを作成し、TitleId と開発者シークレット キーを使って C# SDK を構成します。

# クイックスタート リーダーボード

このガイドでは、リーダーボード サービス用の開発環境を設定する方法を確認します。また、Web サイトの [Game Manager](https://developer.playfab.com) から、素早くリーダーボードを作成する方法も学びます。

## 前提条件

PlayFab リーダーボード サービスを使用するには PlayFab アカウントが必要です。アカウントの作成手順については、[認証](https://docs.xbox.com/ja-jp/services/playfab/identity/player-identity/authentication.md)を参照してください。

## リーダーボードを作成する

左側のメニューから Progression を選択します。

![PlayFab リーダーボードのメイン メニュー](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/game-manager-main-menu.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=ed7c9cadb094234b43bfc6cc7fa5ac26)

次に、上部のメニューから Leaderboards タブを選択します。

![PlayFab リーダーボード Game Manager](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/leaderboards-game-manager.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=7b4805585c64e031676a642f7d9ea99e)

次に、「New Leaderboard」ボタンをクリックしてリーダーボード定義を作成します。

![PlayFab リーダーボード定義](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/leaderboard-definition.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=e91f750f9d4dedcf3639d236c91ad0c4)

ここではリーダーボードのあらゆる側面を構成できます。利用可能なパラメーターとリーダーボードの作成方法の詳細については、次を参照してください:

* [基本的なリーダーボードを作成する](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/create-basic-leaderboard.md)
* [API リファレンス](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/api-reference.md)

最終結果は次のようになります。

![PlayFab リーダーボードの使い方](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/leaderboard-menu.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=4330a9b1cf43c651dddcc63730517f40)

## 環境を設定する

ここでは、C# SDK を使用するための開発者環境の設定方法を学びますが、ここで紹介する概念は他の SDK やプレーンな HTTP 要求でも同様に機能します。

## TitleId と DeveloperSecretKey を設定する

タイトル エンティティとして認証する際には DeveloperSecretKey が必要です。

```C# theme={null}
PlayFabSettings.staticSettings.TitleId = ""; // Change this value to your own titleId from PlayFab Game Manager
PlayFabSettings.staticSettings.DeveloperSecretKey = ""; // Change this to your title's secret key from Game Manager
```

## タイトルの作成とシークレット キーの取得

* [https://developer.playfab.com/](https://developer.playfab.com/) にログインする
* タイトルを作成する
  * 設定の \[API Features] セクションでタイトル ID を確認します。
* シークレット キーを生成する:
  * タイトル ビューの左上、タイトル名の横にある歯車アイコン
  * Title Settings
  * Secret Keys
  * New secret key

Game Manager 内でシークレット キーのセクションを見つけたときの UI は次のようになります。

![PlayFab リーダーボード キー](https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/playfab/community/leaderboards/secret-keys.png?fit=max\&auto=format\&n=5IpvKlT-jmAaVkeY\&q=85\&s=bf4c2dbebc795a0fd49915fb5b64a067)

## タイトルとしてログインする

書き込み操作については、ゲーム サーバーから TitleEntity を使用することをお勧めします。このメソッドは、私たちが行うすべての要求で使用される `AuthenticationContext` を返します。

```C# theme={null}
public static async Task<PlayFabAuthenticationContext> LoginAsTitleEntity()
{
    GetEntityTokenRequest request = new GetEntityTokenRequest()
    {
        Entity = new PlayFab.AuthenticationModels.EntityKey()
        {
            Id = PlayFabSettings.staticSettings.TitleId,
            Type = "title",
        },                
    };

    PlayFabResult<GetEntityTokenResponse> entityTokenResult = await PlayFabAuthenticationAPI.GetEntityTokenAsync(request);

    PlayFabAuthenticationContext authContext = new PlayFabAuthenticationContext
    {
        EntityToken = entityTokenResult.Result.EntityToken
    };
    
    return authContext;
}
```

## プレイヤーとしてログインする (プレイヤーの作成)

このメソッドは識別子に基づいてプレイヤーを作成し、`title_player_account` 型のエンティティを返します。詳細については次を参照してください:
[エンティティのクイックスタート](https://docs.xbox.com/ja-jp/services/playfab/live-service-management/game-configuration/entities/quickstart.md)

```C# theme={null}
private static async Task<PlayFabAuthenticationContext> LoginAsPlayer(string customId = "GettingStartedGuide")
{
    LoginWithCustomIDRequest request = new LoginWithCustomIDRequest { CustomId = customId, CreateAccount = true };

    PlayFabResult<LoginResult> loginResult = await PlayFabClientAPI.LoginWithCustomIDAsync(request);

    return loginResult.Result.AuthenticationContext;
}
```

## エンティティに表示名プロパティを設定する

「Get Leaderboards APIs」の応答の一部として `DisplayName` プロパティを利用できるようにするには、作成した各エンティティに対して次のコードを実行して、エンティティをゲームのカスタム表示名にマッピングする必要があります。

```C# theme={null}
private static async Task UpdateEntityDisplayName(PlayFabAuthenticationContext context, string customId)
{
    SetDisplayNameRequest request = new SetDisplayNameRequest()
    {
        AuthenticationContext = context,
        DisplayName = customId,
        Entity = new PlayFab.ProfilesModels.EntityKey()
        {
            Id = context.EntityId,
            Type = context.EntityType,
        },
    };

    PlayFabResult<SetDisplayNameResponse> updateNameResult = await PlayFabProfilesAPI.SetDisplayNameAsync(request);
}
```

## 関連項目

* [基本的なリーダーボードを作成する](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/create-basic-leaderboard.md)
* [リーダーボードでさらにできること](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/doing-more-with-leaderboards.md)
* [制限](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/limits-leaderboards.md)
* [クォータ](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/quota-leaderboards.md)
* [シーズナル リーダーボード](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/seasonal-leaderboards.md)
* [グループ リーダーボード](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/group-leaderboards.md)
* [手動ティア](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/manual-tiers.md)
* [統計によってプレイヤーをランキング付けする](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/leaderboards-linked-to-stats.md)
* [リーダーボードにコンテキスト データを追加する](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/metadata-leaderboards.md)
* [API リファレンス](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/api-reference.md)
* [リーダーボード メーター](https://docs.xbox.com/ja-jp/services/playfab/pricing/meters/leaderboard-meters.md)
* [リーダーボードと Cloudscript](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/leaderboards-cloudscript.md)
* [Playstream を使用したリーダーボード](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/leaderboards-with-playstream-and-telemetry.md)


## Related topics

- [トーナメントとリーダーボードのクイックスタート](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/tournaments-leaderboards/quickstart.md)
- [PlayFab Leaderboards の概要](https://docs.xbox.com/ja-jp/services/playfab/community/leaderboards/index.md)
- [PlayFab Community ドキュメント](https://docs.xbox.com/ja-jp/services/playfab/community/index.md)
- [統計情報のクイックスタート](https://docs.xbox.com/ja-jp/services/playfab/player-progression/statistics/quickstart-statistics.md)
- [トレードのクイックスタート](https://docs.xbox.com/ja-jp/services/playfab/economy-monetization/economy/trading/trading-quickstart.md)
