如何设置只读玩家数据
若要设置只读 KVP,必须从服务器进程调用 UpdateUserReadOnlyData API。 这是服务器可以修改,但是客户只能读取的数据。
本主题中的 C# 示例是针对 Unity SDK 编写的。 Unity SDK 使用事件驱动模型来处理非同步任务。 若要使用标准 C# 或 Xamarin C# SDK 运行示例代码,必须修改代码以使用异步任务模型。 必须修改的方法在签名中将异步附加到方法名称。 例如,Unity SDK 中的 SetObject 在标准 C# SDK 中变为 SetObjectAsync。 对此,请参阅 使用 async 和 await 进行异步编程 。
C# 代码示例
以下 C# 代码示例使用 PlayFab 服务器 API 创建(在 KVP 已存在时是更新)KVP,其中包含名为 Father
且值为 Fred
、名为 Mother
且值为 Alice
、名为 Sister
且值为 Lucy
以及名为 Brother
且值为 Doug
的键。
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());
});
}