> ## 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.

# Title Data クイックスタート

> GetTitleData および SetTitleData API と C# コード サンプルを使用して、ゲーム クライアントとサーバーから PlayFab Title Data のキー値ペアを読み書きします。

Title Data は、サーバー上でリモートにゲームの構成データを保存および管理するために使用される、プレーン テキストのキー値ペアのセットです。タイトル全体の構成変数にアクセスして整理された状態に保ち、クライアント側から取得できます。

このクイックスタートでは、プログラム的にタイトル データを作成して使用する方法について説明します。

これは重要なトピックです。サーバー上でゲームの構成データをリモートに保存し、いつでも変更できることは、PlayFab のようなサービスを使用する最も基本的な理由の 1 つだからです。

## タイトル データの取得

### ゲーム クライアントから

`PlayFabClientAPI` の [GetTitleData](xref:titleid.playfabapi.com.client.title-widedatamanagement.gettitledata) を使用して、特定のタイトルの KVP を取得します。次のコード例は、すべてのタイトル データの値を表示します。

```csharp theme={null}
public void ClientGetTitleData() {
    PlayFabClientAPI.GetTitleData(new GetTitleDataRequest(),
        result => {
            if(result.Data == null || !result.Data.ContainsKey("MonsterName")) Debug.Log("No MonsterName");
            else Debug.Log("MonsterName: "+result.Data["MonsterName"]);
        },
        error => {
            Debug.Log("Got error getting titleData:");
            Debug.Log(error.GenerateErrorReport());
        }
    );
}
```

### ゲーム サーバーから

`PlayFabServerAPI` の [GetTitleData](xref:titleid.playfabapi.com.server.title-widedatamanagement.gettitledata) を使用して、特定のタイトルの KVP を取得します。次のコード例は、すべてのタイトル データの値を表示します。

```csharp theme={null}
public void ServerGetTitleData() {
    PlayFabServerAPI.GetTitleData( new GetTitleDataRequest(),
        result => {
            if (result.Data == null || !result.Data.ContainsKey("MonsterName")) Debug.Log("No MonsterName");
            else Debug.Log("MonsterName: " + result.Data["MonsterName"]);
        },
        error => {
            Debug.Log("Got error getting titleData:");
            Debug.Log(error.GenerateErrorReport());
        });
}
```

## タイトル データの設定

タイトル データが頻繁に変更されることはあまりありません。ほとんどの状況では、タイトル寿命の間ほとんど変更されない静的データにタイトル データを使用する必要があります。

Game Manager を使用するか、サーバー API 関数を使用してタイトル データを設定できます。

### Game Manager を使用してタイトル データを設定する

Game Manager を使用してタイトルに Primary Title Data を追加するには、以下の手順を実行します。

1. **Game Manager** でタイトルを開きます。
2. **Content** を選択し、次に **Title Data** を選択します。
3. **New Title Data** を選択します
4. 新しいタイトル データ ページで、**Key** の値と **Value** の値を入力します。**Key** と **Value** の両方が文字列として保存されます。
5. **Save** ボタンを使用して新しいデータ アイテムを保存します。

<img src="https://mintcdn.com/microsoft-4404708b/3hg2JQs0m7qmDqay/images/playfab/live-service-management/game-configuration/titledata/tutorials/title-data-new-title-data.PNG?fit=max&auto=format&n=3hg2JQs0m7qmDqay&q=85&s=2aad92647840e49665b006d43d2b6128" alt="スクリーンショットは新しいタイトル データを示しています。" width="2965" height="1053" data-path="images/playfab/live-service-management/game-configuration/titledata/tutorials/title-data-new-title-data.PNG" />

<img src="https://mintcdn.com/microsoft-4404708b/3hg2JQs0m7qmDqay/images/playfab/live-service-management/game-configuration/titledata/tutorials/title-data-add-primary-title-data.PNG?fit=max&auto=format&n=3hg2JQs0m7qmDqay&q=85&s=e4d36dac8aaf57c54f680f7bae73be7e" alt="タイトル データのスクリーンショット" width="3000" height="1001" data-path="images/playfab/live-service-management/game-configuration/titledata/tutorials/title-data-add-primary-title-data.PNG" />

### C# でサーバー API を呼び出してタイトル データを設定する

[SetTitleData](xref:titleid.playfabapi.com.server.title-widedatamanagement.settitledata) API は、専用サーバーから呼び出す必要があるサーバー API です。`SetTitleData` の各呼び出しでは、1 つのタイトル データ KVP のみを設定できます。

```csharp theme={null}
public void SetTitleData() {
    PlayFabServerAPI.SetTitleData(
        new SetTitleDataRequest {
            Key = "MonsterName",
            Value = "Dorf"
        },
        result => Debug.Log("Set titleData successful"),
        error => {
            Debug.Log("Got error setting titleData:");
            Debug.Log(error.GenerateErrorReport());
        }
    );
}
```

### Game Manager を使用してタイトル データのオーバーライドを設定する

オーバーライドも JSON のキー値ペアのセットであり、理想的には Primary Title Data のキー値ペアに必要な差分の変更を持たせることを目的とします。差分の変更は、Primary Title Data と比較したときの、新しいキー値、既存のキーの値の変更、またはキーの削除 (値の入力として NULL を使用) からなるキー値ペアで構成できます。

Primary Title Data にオーバーライドを追加するには、以下の手順を実行します。

1. **Game Manager** でタイトルを開きます。
2. **Content** を選択し、次に **Title Data** を選択します。
3. **New Override** を選択します。
4. Override Label を入力し、加えて **Key** の値と **Value** の値を入力します。Key と Value の両方が文字列として保存されます。
5. **Save** ボタンを使用して新しい Title Data Override を保存します。

<Note>
  このオーバーライドのキー/値ペアのセットは、現時点では [Experiments](/services/playfab/live-service-management/game-configuration/experiments) を使用する場合にのみ有効になります。
</Note>

プレイヤーがタイトル データ オーバーライドを含む実験バリアントに属している場合、オーバーライドはサーバー側で自動的に適用され、クライアント側にはタイトル データと共に返されます。

<Note>
  Title Data Override 値は、更新して永続するまで最大 1 分かかる場合があります。
</Note>

<img src="https://mintcdn.com/microsoft-4404708b/3hg2JQs0m7qmDqay/images/playfab/live-service-management/game-configuration/titledata/tutorials/new-title-data-override.PNG?fit=max&auto=format&n=3hg2JQs0m7qmDqay&q=85&s=d0bf7381eb30bee016b63b5b8ae57eb0" alt="スクリーンショットは新しいタイトル データ オーバーライドを示しています。" width="2955" height="1006" data-path="images/playfab/live-service-management/game-configuration/titledata/tutorials/new-title-data-override.PNG" />

<img src="https://mintcdn.com/microsoft-4404708b/3hg2JQs0m7qmDqay/images/playfab/live-service-management/game-configuration/titledata/tutorials/set-title-data-override.PNG?fit=max&auto=format&n=3hg2JQs0m7qmDqay&q=85&s=a4f1978c4749d06b4767a0cfaf64bbd5" alt="スクリーンショットは新しいタイトル データ オーバーライドの設定方法を示しています。" width="2999" height="974" data-path="images/playfab/live-service-management/game-configuration/titledata/tutorials/set-title-data-override.PNG" />

<img src="https://mintcdn.com/microsoft-4404708b/3hg2JQs0m7qmDqay/images/playfab/live-service-management/game-configuration/titledata/tutorials/title-data-landing.PNG?fit=max&auto=format&n=3hg2JQs0m7qmDqay&q=85&s=2655a7e1a34589e3c6f19590262d3426" alt="スクリーンショットはタイトル データとオーバーライドを示しています。" width="2969" height="1572" data-path="images/playfab/live-service-management/game-configuration/titledata/tutorials/title-data-landing.PNG" />

## 内部タイトル データ

User Data と同様に、タイトル データにはクライアントから隠された内部ストレージがあります。このデータも Game Manager またはサーバー API を介して設定できます。

### C# でサーバー API を呼び出して内部タイトル データを取得する

```csharp theme={null}
public void GetTitleInternalData()
{
    PlayFabServerAPI.GetTitleInternalData( new GetTitleDataRequest(),
        result => {
            if (result.Data == null || !result.Data.ContainsKey("PlayFab")) Debug.Log("No PlayFab");
            else Debug.Log("PlayFab: " + result.Data["PlayFab"]);
        },
        error => {
            Debug.Log("Got error getting titleData:");
            Debug.Log(error.GenerateErrorReport());
        }
    );
}
```

### C# でサーバー API を呼び出して内部タイトル データを設定する

```csharp theme={null}
public void SetTitleInternalData() {
    PlayFabServerAPI.SetTitleInternalData(
        new SetTitleDataRequest {
            Key = "PlayFab",
            Value = "{ \"Status\": \"Secretly Awesome\" }"
        },
        result => { Debug.Log("Set titleData successful"); },
        error =>
        {
            Debug.Log("Got error setting titleData:");
            Debug.Log(error.GenerateErrorReport());
        });
}
```

## 関連項目

* [パブリッシャー データの使用](/services/playfab/live-service-management/game-configuration/titledata/using-publisher-data)
* [プレイヤー データ クイックスタート](/services/playfab/player-progression/player-data/quickstart)
* [CloudScript クイックスタート](/services/playfab/live-service-management/service-gateway/automation/cloudscript/quickstart)


## Related topics

- [プレイヤーデータのクイックスタート](/ja-jp/services/playfab/player-progression/player-data/quickstart.md)
- [パブリッシャー データの使用](/ja-jp/services/playfab/live-service-management/game-configuration/titledata/using-publisher-data.md)
- [Data Explorer クイックスタート](/ja-jp/services/playfab/data-analytics/learn-data/data-explorer/quickstart.md)
- [クイックスタート](/ja-jp/services/playfab/economy-monetization/economy-v2/quickstart.md)
- [レポート クイックスタート](/ja-jp/services/playfab/data-analytics/learn-data/reports/quickstart.md)
