Skip to main content
玩家数据是按玩家存储的、作用域为玩家实体(title_player_accountmaster_player_accountcharacter)的数据。可用来存储游戏进度、偏好设置以及与单个玩家关联的其他信息。 玩家数据是 PlayFab 中若干存储功能之一,每种功能对应不同的实体类型。有关比较,请参见实体对象

存储选项

PlayFab 提供两种存储玩家数据的方式:
  • 实体:允许你在 Player、Character 和 Group 中以对象和文件的形式存储数据。
  • 玩家数据 / UserData:允许你为玩家存储键/值对数据。
为了获得最高的灵活性和最佳性能,我们建议所有新游戏都使用实体对象 在 PlayFab API 中,函数名称使用术语 UserData。在 Game Manager 中,这一概念称为玩家数据 (Player Data)。两者含义相同,可互换使用。 访问玩家数据有三种模式:
  • 客户端 (Client):这是可供游戏客户端读取和更新的玩家数据。你可以使用客户端 API UpdateUserData 进行创建、更新或删除,使用 GetUserData 读取玩家数据。
  • 只读 (Read Only):这是由你的服务器创建或更新的玩家数据。游戏客户端可以读取但不能更新此数据。你可以使用服务器 API UpdateUserReadOnlyData 进行创建、更新或删除,使用客户端 API GetUserReadOnlyData 读取该玩家的特定游戏数据。这些数据对玩家可见,但只能由服务器修改。
  • 内部 (Internal):这是仅服务器可用的玩家数据。你可以使用服务器 API UpdateUserInternalData 进行创建、更新或删除,使用 GetUserInternalData 读取该玩家的特定游戏数据。此数据仅服务器可见,客户端不可见。
在使用玩家数据时,只有 User Data 和 User Read Only Data 可以被客户端 API 使用。如果你希望其他玩家能够读取某位玩家的数据,则需要在写入数据时将 Permission 值设置为 Public

玩家数据与玩家发行商数据

玩家数据是特定于某个游戏的玩家信息。应将其用于特定于游戏的信息——例如保存玩家在地下城中的位置,或其他游戏专用数据。 玩家发行商数据 (Player Publisher data) 是与玩家账户关联的数据,而不是与玩家账户游戏关联。它用于保存对工作室内所有游戏都相关的玩家信息(其中也可能包含用于跨游戏奖励的特定于游戏的信息)。 默认情况下,PlayFab 中同一工作室内的所有游戏共享一个 Publisher ID,该 ID 定义了这种关系。玩家账户存在于 Publisher 层,并在所有具有相同 Publisher ID 的游戏之间共享(此外每个游戏另有独立的玩家数据)。 如果你需要在一个工作室内让不同的游戏拥有不同的 Publisher ID,或需要在不同工作室的游戏之间共享同一个 Publisher ID,可以在 PlayFab 社区论坛 中提交工单,我们的开发者成功团队会为你提供帮助。
请不要将玩家发行商数据与发行商数据混淆,后者是所有游戏共享的键/值对数据(不是按玩家存储的)。
玩家发行商数据的用法与玩家数据的用法几乎相同。它们是将字符串映射到 JSON 数据块(或其他任意字符串值)的字典。 有关详情,请参见如何使用玩家发行商数据为在多个游戏中游玩发放奖励
最后修改于 2026年8月6日