読み取り専用のプレイヤー データの設定方法
読み取り専用 KVPs を設定するには、サーバー プロセスからサーバーAPI UpdateUserReadOnlyData メソッドを呼び出す必要があります。 これは、サーバーが変更できる一方で、クライアントには読み取り専用のデータです。
このトピックでご紹介する C# サンプルは、Unity SDK 用に書き込まれています。 Unity SDK では、イベント駆動モデルを使用して非同期のタスクを処理します。 標準の C# または Xamarin C# SDK でサンプル コードを実行するには、非同期タスク モデルを使用するようにコードを変更する必要があります。 修正が必要なメソッドは、署名のメソッド名に非同期が付加されています。 たとえば、Unity SDK の SetObject は、標準 C# SDK では SetObjectAsync になります。 詳細については、「ガイド - async と await を使った非同期プログラミング」を参照してください。
C# コードの例
次の C# コードの例では、PlayFab のサーバー API を使用して、値 Fred
で Father
、値 Alice
で Mother
、値 Lucy
で Sister
、値 Doug
で Brother
という名前のキーで、KVPs を作成 (すでに KVPs が存在する場合は更新) します。
public void UpdateUserReadOnlyData() {
PlayFabServerAPI.UpdateUserReadOnlyData(new UpdateUserDataRequest() {
PlayFabId = "user PlayFabId here - obtained from any successful LoginResult",
Data = new Dictionary<string, string>() {
{"Father", "Fred"},
{"Mother", "Alice"},
{"Sister", "Lucy"},
{"Brother", "Doug"}
},
Permission = UserDataPermission.Public
},
result => Debug.Log("Set read-only user data successful"),
error => {
Debug.Log("Got error updating read-only user data:");
Debug.Log(error.GenerateErrorReport());
});
}