玩家数据
玩家数据是有关存储在 PlayFab 服务中的玩家信息,可在多种设备和多个游戏之间共享。
PlayFab 提供两种存储玩家数据的方法:
- 实体:允许跨玩家、角色和组将数据存储在对象和文件中。
- 玩家数据/UserData:用于存储玩家的密匙/值对数据。
若要实现最高灵活性和最佳性能,建议 所有 新游戏均使用 实体对象。
在 PlayFab API 中,功能名称使用术语 UserData。 在 Game Manager 中,此概念描述为玩家数据。 它们完全相同,可互换使用。
玩家数据的访问权限模式有三种:
- 客户端:这是玩家数据,可供游戏客户端读取和更新。 使用客户端 API UpdateUserData 可创建、更新或删除,和使用 GetUserData 可读取玩家数据。
- 只读:这是服务器创建或更新的玩家数据。 游戏客户端可以读取,但不能更新此数据。 使用服务器 API UpdateUserReadOnlyData 可创建、更新或删除特定于游戏的玩家数据,使用客户端 API GetUserReadOnlyData 可读取此数据。 此数据对玩家可见,但只能由服务器修改。
- 内部:这是仅对服务器可用的玩家数据。 使用服务器 API UpdateUserInternalData 可创建、更新或删除特定于游戏的玩家数据,使用 GetUserInternalData 可读取此数据。 此数据仅限服务器使用,客户端无法查看。
使用玩家数据时,客户端 API 仅提供用户数据和用户只读数据。 如果拥有其他玩家应可读取的玩家数据,则需要在写入数据时将 Permission
值设置为 Public
值。
玩家数据与玩家发布者数据
玩家数据是特定于游戏作品的玩家信息。 它应该用于游戏特定信息 - 例如保存玩家在地牢中的位置,或其他游戏特定数据。
玩家发布者数据是与玩家帐户(而不是玩家帐户及 游戏)相关联的数据。 它用于保存与您工作室中所有游戏相关的玩家的信息(也可能包含游戏特定信息,以用于跨游戏奖励目的)。
默认情况下,PlayFab 中工作室中的所有游戏共享发布者 ID,此 ID 定义了这一关系。 玩家帐户存在于发布者层,并且在具有相同发布者 ID 的所有游戏之间共享(然后,每个游戏可以有不同的玩家数据)。
如果需要在工作室中创建具有不同发布者 ID 的游戏,或让不同工作室中的游戏共享同一个发布者 ID,则可以在 PlayFab 社区论坛中提交票证,我们的开发者成功案例团队会帮您完成相关操作。
注意
请不要将玩家 发布者数据与发布者数据混淆,后者是所有游戏共享的键/值对数据(它不 与每位玩家关联)。
玩家发布者数据与玩家数据的用法几乎相同。 它们都是 将字符串映射到 JSON blob(或其他任意字符串值)的字典。
有关详细信息,请参阅 使用播放器发布者数据来奖励播放多个标题。