タイトル データ クイックスタート
タイトルデータとは、プレーンテキストのキーと値のペアのことで、ゲームの構成データをリモートでサーバーに格納し管理するために使用します。 これにより、タイトル全体の設定変数がアクセス、整理可能になり、クライアント側で取得できます。
このクイックスタートでは、タイトルのデータをプログラムで作成し、使用する方法について説明します。
これが重要なトピックであるのは、ゲームの設定データを (いつでも変更できる) サーバーにリモートで保存することが、PlayFab などのサービスを使用する最も基本的な理由の 1 つになっているからです。
タイトル データの取得
ゲーム クライアントから
PlayFabClientAPI
の GetTitleData を使用して、特定タイトルの KVP を取得します。 次のコードの例では、タイトル データのすべての値を表示しています。
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 を使用して、特定タイトルの KVP を取得します。 次のコードの例では、タイトル データのすべての値を表示しています。
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());
});
}
タイトル データの設定
タイトル データをとても頻繁に変更する可能性は低いです。 ほとんどの場合、タイトルの寿命の中でほとんど変更されない静的データのタイトル データを使用する必要があります。
ゲーム マネージャーか、サーバー API 機能を使用して、タイトル データを設定できます。
ゲーム マネージャーを使用した、タイトル データの設定
ゲーム マネージャーを使用してプライマリ タイトル データをタイトルに追加するには、以下の手順を実行します。
- ゲーム マネージャー でタイトルを開きます。
- [コンテンツ]、[データ タイトル] の順に選択します。
- [New Title Data (新しいタイトル データ)] を選択します
- 新規のタイトル データ ページで、[キー] の値と [値] の値を入力します。 [キー] と [値] は両方とも、文字列として保存されます。
- [保存] ボタンを使用して、新しいデータ アイテムを保存します。
C# の場合、サーバー API を呼び出して、タイトル データを設定します。
SetTitleData API は、専用サーバーから呼び出す必要があるサーバー API です。
SetTitleData
の各呼び出しでは、1 つのタイトル データの KVP のみを設定できます。
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());
}
);
}
ゲーム マネージャーによるタイトル データのオーバーライド設定
オーバーライドは JSON キーと値のペアのセットでもあり、プライマリ タイトル データのキーと値のペアで必要な差分変更を保持することが理想的です。 差分の変更は、プライマリー タイトル データと比較した場合のキーと値のペアを、新しいキーと値、既存キーの値の変化、またはキーの削除 (値の入力として NULL を使用) として構成することができます。
プライマリ タイトル データにオーバーライドを追加するには、次の手順を実行します。
- ゲーム マネージャー でタイトルを開きます。
- [コンテンツ]、[データ タイトル] の順に選択します。
- [New Override (新しいオーバーライド)] 選択します。
- オーバーライド ラベルを入力し、さらにキーと値を入力します。 キーと値は両方とも、文字列として保存されます。
- [保存] ボタンを使用して、新しいタイトル データ オーバーライドを保存します。
注意
このキーと値のペアのオーバーライド セットは、現時点では Experiments (実験) を使用してのみ有効です。 プレイヤーがタイトル データのオーバーライドを含む実験バリアントに属している場合、オーバーライドはサーバー側で自動的に適用され、クライアント側のタイトル データと共に返されます。 タイトル データ オーバーライドの値を更新して保持するには、最大で 1 分かかる場合があります。
内部のタイトル データ
ユーザー データと同様に、タイトル データはクライアントから非表示となる内部ストレージ保存されます。 このデータは、ゲーム マネージャーまたはサーバー API を使用しても設定できます。
C# の場合、サーバー API を呼び出して、内部のタイトル データを取得します。
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 を呼び出して、内部のタイトル データを設定します。
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());
});
}