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

# 如何设置内部玩家数据

> 通过服务器 API 设置内部 PlayFab 玩家数据,以存储与玩家关联且游戏客户端无法访问的私有键值字段。

若要设置内部玩家数据,请使用服务器 API [UpdateUserInternalData](xref:titleid.playfabapi.com.server.playerdatamanagement.updateuserinternaldata) 方法。这是客户端无法访问的数据。

本文中的 C# 示例是为 Unity SDK 编写的。Unity SDK 使用事件驱动模型来处理非同步任务。若要使用 C# SDK 运行示例代码,必须修改代码以使用 async Task 模型。需要修改的方法在签名中的方法名末尾附加了 Async。例如,Unity SDK 中的 SetObject 在 C# SDK 中变为 SetObjectAsync。有关更多信息,请参阅[使用 async 和 await 的异步编程](https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/)。

## C# 代码示例

以下 **C#** 代码示例使用 PlayFab 服务器 API 创建(或更新,如果键值已存在)键为 `Class`、值为 `Fighter` 以及键为 `Race`、值为 `Human` 的 KVP。

```csharp theme={null}
public void UpdateUserInternalData() {
    PlayFabServerAPI.UpdateUserInternalData(new UpdateUserInternalDataRequest() {
        PlayFabId = "user PlayFabId here - obtained from any successful LoginResult",
        Data = new Dictionary<string, string>() {
            {"Class", "Fighter"},
            {"Race", "Human"},
        },
    },
    result => Debug.Log("Set internal user data successful"),
    error => {
        Debug.Log("Got error updating internal user data:");
        Debug.Log(error.GenerateErrorReport());
    });
}
```

## 另请参阅

[如何获取内部玩家数据](/services/playfab/player-progression/player-data/how-to-get-internal-player-data)


## Related topics

- [如何获取内部玩家数据](/zh-CN/services/playfab/player-progression/player-data/how-to-get-internal-player-data.md)
- [玩家数据快速入门](/zh-CN/services/playfab/player-progression/player-data/quickstart.md)
- [如何设置只读玩家数据](/zh-CN/services/playfab/player-progression/player-data/how-to-set-read-only-player-data.md)
- [通过 CloudScript 修改只读或内部玩家数据](/zh-CN/services/playfab/player-progression/player-data/how-to-modify-read-only-internal-player-data.md)
- [如何获取只读玩家数据](/zh-CN/services/playfab/player-progression/player-data/how-to-get-read-only-player-data.md)
