教程:获取玩家个人资料
在本教程中,您将学习如何:[!div class=“checklist”] * 创建具有显示名称的用户 * 调用玩家个人资料 * 获取玩家创建时间和上次登录时间 * 为作品配置玩家个人资料视图约束 * 通过登录操作获取玩家个人资料
要求
- 一个 PlayFab 开发者帐户。
- 已安装的 Unity 编辑器。若要通过 Unity Hub 安装 Unity 个人版,或安装用于专业用途的 Unity+,请参阅 下载 Unity。
PlayFab Unity3D SDK 支持 Unity 编辑器版本 5.3(2015 年 12 月发布)及更高版本。
- 一个 Unity 项目 * 可以是以下任一项:
- 一个全新项目。有关更多信息,请参阅首次启动 Unity。
- 一个引导式教程项目。有关更多信息,请参阅 Unity 入门。
- 一个现有项目。
- PlayFab Unity3D SDK。
GetPlayerProfile。
如果您不熟悉 Game Manager,还值得阅读 Game Manager 快速入门,因为这是我们配置个人资料约束的地方。
本文中的 C# 示例是为 Unity SDK 编写的。Unity SDK 使用事件驱动模型来处理非同步任务。要使用 C# SDK 运行示例代码,您必须修改代码以使用异步任务模型。需要修改的方法在其签名中的方法名称上附加了 Async。例如,Unity SDK 中的 SetObject 在 C# SDK 中变为 SetObjectAsync。有关更多信息,请参阅使用 async 和 await 进行异步编程。
创建具有显示名称的用户
第一步是创建玩家并为用户添加显示名称。此示例将创建一个显示名称为UnicornTossMaster 的新用户。
调用玩家个人资料
下一步是使用为该玩家创建一个非常基本的个人资料 以下示例使用了基本的 GetPlayerProfile 调用。UnicornTossMaster。
获取玩家创建时间和上次登录时间
在 PlayerProfileModel 对象中有相当多关于玩家的数据。在上一步中,发出了GetPlayerProfile,接收到的响应仅包含显示名称信息。
下一步是获取玩家更多的个人资料数据。为此,请在 PlayerProfileViewConstraints 请求参数中调用带有额外字段的 GetPlayerProfile。
以下 C# 示例修改了步骤 2 中的 GetPlayerProfile 方法,并通过在 ProfileConstraints 中设置它们的标志来调用 GetPlayerProfile 请求 Created 和 LastLogin 字段。
这一步中此调用将不成功!!!
Error Code 1303 的错误。RequestViewConstraintParamsNotAllowed,以及一条错误消息,指出存在 Invalid view constraints,并以 JSON 输出作品当前设置的约束。
发生此错误是因为您尚未配置在作品的个人资料约束设置中显示 Created 和 LastLogin 的功能。
为作品配置玩家个人资料视图约束
要在调用 GetPlayerProfile API 时获取更多数据,您需要配置可用数据上的约束。这些设置在作品的 Game Manager 设置中。 默认情况下,ALLOW CLIENT ACCESS TO PROFILE PROPERTIES: 只启用了 Display name,从而允许您检索 Display Name 值。 要为作品配置其他约束:- 在 Game Manager 中,选择您的作品。
- 选择左上角的齿轮图标,然后选择 Title settings。
- 选择 Client Profile Options 选项卡。
- 要在 ProfileConstraints 中同时启用 Created 和 LastLogin,选中 Creation date 和 Last login time,然后选择 SAVE CLIENT PROFILE OPTIONS。
CreatePlayerAndUpdateDisplayName 时,它将返回带有用户创建时间、上次登录时间和显示名称 UnicornTossMaster 数据的 PlayerProfileModel 对象。
通过登录操作获取玩家个人资料
在大多数情况下,您希望在玩家登录后立即检索玩家个人资料数据。PlayFab API 允许您将登录调用和检索玩家个人资料的调用合并为一次调用。 以下示例展示了如何通过登录请求获取个人资料信息,并使用LoginWithCustomId 作为示例。
这适用于所有登录机制。
