适用于 Corona 的 Lua 快速入门
本快速入门帮助你在 Corona 引擎中进行首次 PlayFab API 调用。
必须有 PlayFab 开发者帐户才能调用 PlayFab API。
Corona 项目设置
操作系统:本快速入门适用于 Windows 10。 不过,它也应该适用于 Mac。
下载并安装 Corona:https://coronalabs.com/。
运行 Corona,并创建新项目。 如果还没有完成首次步骤,以下链接提供的信息可以帮助完成这些步骤:https://docs.coronalabs.com/guide/start/installWin/index.html
安装、登录并创建新项目后,可以看到几个窗口,类似于下面的示例。
在 Corona 卖场上激活 PlayFab 客户端插件:
PlayFab 安装已完成!
设置首次 API 调用
本指南提供进行首次 PlayFab API 调用的最少步骤。 确认会在 Corona 引擎输出日志中显示。
在常用文本编辑器中,将以下行添加到build.settings
。
settings =
{
-- ADD THESE THREE LINES at the top, leave everything else as-is
plugins = {
["plugin.playfab.client"] = { publisherId = "com.playfab" }
},
-- Other existing lines...
}
注意
要查找该示例中 loginRequest 对象的正确格式,请参阅 LoginWithCustomID 的 API 参考。
在常用文本编辑器中,将 main.lua 文件内容替换为以下显示的内容。
local pfClient = require("plugin.playfab.client")
local PlayFabClientApi = pfClient.PlayFabClientApi
PlayFabClientApi.settings.titleId = "144"
local loginRequest = {
-- See the API reference for LoginWithCustomID.
CustomId = "GettingStartedGuide",
CreateAccount = true
}
PlayFabClientApi.LoginWithCustomID(loginRequest,
function(result) print("Congratulations, you made your first successful API call!") end,
function(error) print("Something went wrong with your first API call.\nHere's some debug information:\n" .. error.errorMessage) end
)
完成并执行
Corona 会在保存时立即自动执行项目源。 因此,更新并保存这两个文件后,你应该会看到:
此时,可以开始进行其他 API 调用并构建游戏。 有关所有可用客户端 API 调用的列表,请参阅我们的 PlayFab API 引用文档。
编码愉快!
解析此代码
这个可选的最后一部分逐行介绍了上面的示例。
- build.settings
plugins = {
- 这会调用 Corona 插件系统,指示下载 Corona 卖场插件并安装在项目中
["plugin.playfab.client"] = { publisherId = "com.playfab" }
- 这会指示专门下载 PlayFab 客户端插件。
- main.lua
- require() lines:
- 这是进行 PlayFab API 调用所需的最小导入。
PlayFabClientApi.settings.titleId = "xxxx"
- 每个 PlayFab 开发者都在 Game Manager 中创建游戏。 发布游戏时,必须将 titleId 编码到游戏中。 这样客户端知道如何在 PlayFab 中访问正确数据。 对于大多数用户而言,只需将其视为使 PlayFab 正常工作的必要步骤。
local loginRequest = { CustomId = "GettingStartedGuide", CreateAccount = true }
- 大多数 PlayFab API 方法需要输入参数,而这些输入参数已打包到请求对象中
- 每个 API 方法都需要唯一请求对象,并且同时具有可选参数和强制参数
- 对于
LoginWithCustomIDRequest
,存在唯一标识玩家的CustomId
的强制参数,以及允许使用此调用创建新帐户的CreateAccount
。
- 对于
PlayFabClientApi.LoginWithCustomID(loginRequest, {OnLoginSuccess-function}, {OnLoginError-function})
- 这会开始对
LoginWithCustomID
的异步请求,该请求会在成功时调用第一个 (OnLoginSuccess
) 回调,或是在失败时调用第二个 (OnLoginError
) 函数。
- 这会开始对
- 对于登录,大多数开发者都希望使用更合适的登录方法。
- 有关所有登录方法的列表和输入参数,请参阅 PlayFab 登录文档。 常用选项为:
-
OnLoginSuccess
是接受单个参数(结果)的任何函数。- 根据所调用的 API,结果对象将包含所请求的信息。
-
LoginResult
包含有关玩家的一些基本信息,但对于大多数用户而言,登录只是在调用其他 API 之前的必要步骤。
-
OnLoginError
是接受单个参数(错误)的任何函数。- API 调用可能由于多种原因而失败,应始终尝试处理失败。
- 为什么 API 调用失败(按可能性顺序):
- 未设置
PlayFabSettings.TitleId
。 如果忘记将titleId
设置为游戏,则不会进行任何操作。 - 请求参数。 如果未为特定 API 调用提供正确或必需的信息,则调用将失败。 有关详细信息,请参阅
error.errorMessage
、error.errorDetails
或error.GenerateErrorReport()
。 - 设备连接问题。 手机不断失去/恢复连接,因此任何 API 调用在任何时候都可能随机失败,然后立即恢复运行。 进入隧道将完全断开连接。
- PlayFab 服务器问题。 与所有软件一样,可能存在问题。 有关更新,请参阅我们的发行说明。
- 互联网并非 100% 可靠。 有时消息已受损或无法到达 PlayFab 服务器。
- 未设置
- 如果在调试问题时遇到困难,并且错误信息中的信息不充分,请访问我们的论坛。
- require() lines: