快速入门:适用于 JavaScript 的 PlayFab 客户端库
开始使用适用于 JavaScript 的 PlayFab 客户端库来验证玩家身份。按照步骤安装该包并试用基本任务的示例代码。先决条件
- PlayFab 开发者帐户。有关创建 Title 和查找 TitleId 的信息,请参阅 Game Manager 快速入门。
JavaScript 项目设置
在调用任何 PlayFab API 之前,你必须拥有一个 PlayFab 开发者帐户。有关创建 Title 和查找 TitleId 的信息,请参阅 Game Manager 快速入门。 操作系统:本指南适用于任何能够运行 Web 浏览器的操作系统。 要设置新项目,请创建一个包含两个空文本文件的新文件夹:PlayFabGettingStarted.htmlPlayFabGettingStarted.js
代码示例
本指南提供了进行首次 PlayFab API 调用的最简步骤。确认信息将在网页上显示。有关参数和返回值的更多信息,我们建议先使用 Postman 模板。对客户端进行身份验证
在你常用的文本编辑器中,按如下所示更新PlayFabGettingStarted.html 的内容:
PlayFabGettingStarted.js 的内容:
运行代码
- 在你喜欢的浏览器中打开
PlayFabGettingStarted.html。 - 选择 Call LoginWithCustomID 按钮。
- 你应该在 Result 部分看到以下文本: “Congratulations, you made your first successful API call!”
代码解析
本节详细介绍代码的各个部分。 HTML 文件中有几行重要代码:PlayFabGettingStarted.js 包含 DoExampleLoginWithCustomID 函数。这些代码行将我们的 js 文件绑定到网页,并调用该脚本中的 DoExampleLoginWithCustomID 函数。其他内容只是 GUI。
PlayFabClientSDK 中的函数以相应的 HTTP 请求命名。例如,LoginWithCustomID 函数对应的 HTTP 请求也名为 “LoginWithCustomID”。请求正文以键值形式打包到 JavaScript 请求对象中。会话票据将在登录时保存,因此客户端调用无需再从请求头中包含会话票据。
PlayFabGettingStarted.js的逐行解析-
PlayFab.settings.titleId = "xxxx";- 每个 PlayFab 开发者都会在 Game Manager 中创建一个 title。发布游戏时,你必须将该 titleId 编入游戏代码中。这可让客户端知道如何访问 PlayFab 中的正确数据。对于大多数用户来说,只需将其视为使 PlayFab 正常工作的必备步骤即可。
-
var loginRequest = { TitleId: PlayFab.settings.titleId, CustomId: "GettingStartedGuide", CreateAccount: true };- 大多数 PlayFab API 方法都需要输入参数,这些输入参数被打包到一个请求对象中
- 每个 API 方法都需要一个唯一的请求对象,其中包含可选参数和必需参数的组合
- 对于
LoginWithCustomID,有一个必需参数CustomId(唯一标识一个玩家)和CreateAccount(允许通过此调用创建新帐户)。TitleId是 JavaScript 中的另一个必需参数,它必须与PlayFab.settings.titleId相匹配。 - 有关在何处查找
TitleId的信息,请参阅 Game Manager 快速入门。
- 对于
-
在本例中,
TitleId、customId和CreateAccount来自LoginWithCustomID的请求正文。请求正文字段以键值形式包含在请求对象中。请求头中的会话票据将在登录时保存,因此请求对象中不包含 SessionTicket。 -
PlayFabClientSDK.LoginWithCustomID(loginRequest, LoginCallback);- 这将启动对
LoginWithCustomID的异步请求,API 调用完成后将调用LoginCallback。 - 对于登录,大多数开发者会希望使用更合适的登录方法。
- 有关所有登录方法及输入参数的列表,请参阅 PlayFab 登录文档。常用选项包括:
- 这将启动对
- 如果你不熟悉 JavaScript,我们建议开发者阅读有关回调函数的资料。
-
LoginCallback包含两个参数:result、error- 成功时,error 将为 null,result 对象将根据所调用的 API 包含所请求的信息。
- 该结果包含有关玩家的一些基本信息,但对大多数用户来说,登录只是调用其他 API 之前的必备步骤。
-
如果 error 不为
null,则你的 API 调用失败。
-
故障排除
- API 调用可能因多种原因失败,你应始终尝试处理失败情况。
- error 对象包括错误名称、错误代码和错误消息。综合这些信息,通常足以诊断错误。
- 全局 API 方法错误代码可在 PlayFab 的全局 API 方法错误代码中找到。
- API 调用失败的原因(按可能性顺序排列)
- 未设置 PlayFabSettings.TitleId。如果未设置 TitleId,则任何操作都不会成功。
- 请求参数。如果你没有为特定 API 调用提供正确或必需的信息,则调用将失败。详情请参阅
error.errorMessage、error.errorDetails或error.GenerateErrorReport()。 - 设备连接问题。手机会不断丢失/恢复连接,因此任何时候的任何 API 调用都可能随机失败,然后立即恢复正常。进入隧道可能会使你完全断开连接。
- PlayFab 服务器问题。与所有软件一样,可能会出现问题。请参阅我们的发行说明了解更新信息。
- 互联网并非 100% 可靠。有时消息会损坏或无法到达 PlayFab 服务器。
- 如果你在调试问题时遇到困难,且错误信息中的内容不够详尽,请访问我们的论坛。
