Skip to main content
本快速入门将帮助你使用 Defold 发出第一次 PlayFab API 调用。 在调用任何 PlayFab API 之前,你必须拥有一个 PlayFab 开发者帐户

Defold 项目设置

操作系统:本指南针对 Windows 10 编写。在 Mac 上也应能正常使用。
  1. https://www.defold.com/ 创建帐户并下载 Defold,或登录(使用 Google O-Auth):https://d.defold.com/stable/
  2. 如果你还未完成 Defold “Getting Started Tutorial”,请先完成该教程。
  3. 在 Defold Dashboard 上创建一个新项目,如下图所示。
  1. 运行 Defold 并加载新项目。你应看到若干窗口,类似下面的示例。
  1. 更新项目设置,并将 PlayFab 加入依赖项: https://github.com/PlayFab/LuaSdk/raw/master/Defold/PlayFabClientSdk.zip
  1. 选择:Project -> Fetch Libraries,你应看到一个新的内置 PlayFab 文件夹,如下所示。
  1. 创建几个文件:
    • main/PfGettingStarted.gui
    • 选择 “main” 文件夹 -> new -> Gui File -> PfGettingStarted.gui
    • main/PfGettingStarted.gui_script
    • 选择 “main” 文件夹 -> new -> Gui Script File -> PfGettingStarted.gui_script
  2. 在 main.collection 中挂载新的 GUI。
    • 选择 main.collection 以打开它。
    • 在 Outline 面板中:
      • 选择 Add Game Object(可选,将其重命名为 PfGui)。
        • 选择新对象,Add Component From File…
          • PfGettingStarted.gui(如上创建)。
    • 查看 main.collection 时,Outline 面板应类似下面的示例。
PlayFab 安装完成。此项目尚未准备好构建,但我们将在下一步进行修复。

设置第一次 API 调用

本指南将提供发出第一次 PlayFab API 调用的最少步骤。确认信息将显示在游戏窗口中。
  1. 在 Defold 编辑器中,双击 PfGettingStarted.gui_script
  2. 这将打开文件进行文本编辑。
  3. 按下面所示更新 PfGettingStarted.gui_script 的内容。
要查找此示例中 loginRequest 对象的正确格式,请参阅 LoginWithCustomID 的 API 参考。
  1. Defold 编辑器中,右键单击 PfGettingStarted.gui -> Open With -> Text Editor。遗憾的是,这会改变 Defold 的一个内部设置,所以:
    • 再次打开它:右键单击 PfGettingStarted.gui -> Open With -> GUI Editor。这会将默认设置重置为正常状态。
    • 选择 PfGettingStarted.gui 的文本编辑选项卡。
    • 按下面所示更新 PfGettingStarted.gui 的文本内容。

完成并执行

首先,确保一切都已保存,并选择另一个选项卡。然后查找 ” * ” 标记——有时 Defold 不会刷新。 然后,构建你的游戏(Ctrl+b 或下拉菜单:Project -> Build and Launch)。你应在屏幕上看到以下文本: “Congratulations, you made your first successful API call!” 有关所有可用客户端 API 调用的列表,请参阅我们的 PlayFab API 参考 文档。 祝你编码愉快!

代码解析

  • PfGettingStarted.gui
    • 我们对 PfGettingStarted.gui 的说明只是为了简便,并非用于教学。此文件是一个 GUI 定义,它向屏幕添加一个文本框,并将其绑定到另一个脚本:PfGettingStarted.gui_script。通常你不会以文本形式编辑这些文件。
    • 如需构建 Defold GUI 小部件的正确说明,请阅读此指南:
    • Defold 中的 GUI 场景
  • PfGettingStarted.gui_script
    • Require 语句及设置。
      • PlayFabClientApi 允许你进行客户端 API 调用——这就是你在这里的原因。
      • IPlayFabHttps 和 PlayFabHttps_Defold:
        • PlayFab Defold 插件基于 PlayFab LuaSdk 构建。Lua 语言没有正式的 HTTPS 模块。每个使用 Lua 的游戏引擎都自行实现。这两个变量告诉 PlayFabSdk 如何访问 HTTPS。你只需在项目中的第一个场景中执行一次。否则这只是必需的模板代码。
    • PlayFabClientApi.settings.titleId = "144"
      • 每个使用 PlayFab 的项目都应在 PlayFab 网站(我们称之为 Game Manager)上创建一个唯一的标题。在 Game Manager 中找到你的 titleId,并将 144 替换为你的 titleId
    • function init(self)
      • Defold 函数——在 GUI 初始化时调用。
    • local loginRequest = { TitleId = PlayFabClientApi.settings.titleId, CustomId = "GettingStartedGuide", CreateAccount = true }
      • 大多数 PlayFab API 方法需要输入参数,这些输入参数被打包到请求对象中
      • 每个 API 方法都需要一个唯一的请求对象,其中包含可选和必需参数的组合
        • 对于 LoginWithCustomIDRequest,有一个必需参数 CustomId(唯一标识玩家)和 CreateAccount(允许此调用创建新帐户)。
      • 对于登录,大多数开发者会希望使用更适合的登录方法
    • PlayFabClientApi.LoginWithCustomID(loginRequest, OnLoginSuccess, OnLoginFailed)
      • 这会使用请求执行 API 调用,并提供成功和失败情况的回调函数。
    • function OnLoginSuccess(result)
      • 许多 API 成功回调的 result 对象将包含所请求的信息。
      • LoginResult 包含关于玩家的一些基本信息,但对大多数用户而言,登录只是调用其他 API 之前的必需步骤。
    • function OnLoginFailed(error)
      • API 调用可能因多种原因失败,你应始终尝试处理失败情况。
      • API 调用失败的原因(按可能性排序)
        • 未设置 PlayFabSettings.TitleId。如果忘记将 titleId 设为你的标题,则任何操作都无法运行。
        • 请求参数。如果你没有为特定 API 调用提供正确或必需的信息,则调用将失败。请查看 error.errorMessageerror.errorDetailserror.GenerateErrorReport() 获取更多信息。
        • 设备连接问题。手机连续地失去/重连网络,因此任何时候的任何 API 调用都可能随机失败,随后又立即成功。进入隧道可能会让你完全断开连接。
        • PlayFab 服务器问题。与所有软件一样,可能会出现问题。请参阅我们的 发行说明 获取更新。
        • 互联网并非 100% 可靠。有时消息会损坏或无法到达 PlayFab 服务器。
      • 如果你在调试问题时遇到困难,且错误信息中的内容不够充分,请访问我们的 论坛
    • local pfTestOutput = gui.get_node("pfOutput")
      • 这是另一个 Defold GUI 函数。它获取在 PfGettingStarted.gui 文件中定义的 pfOutput GUI 对象,并为其赋予要显示给用户的文本。
最后修改于 2026年8月25日