Python 快速入门
本快速入门旨在帮助你在 Python 3 中进行首次 API 调用。
可以通过以下几种方式使用本机 Python 项目:
- 作为用于维护游戏的独立控制台管理工具。
- 集成到现有的基于 Python 的游戏引擎。
- 有关 Python 游戏引擎的列表,请参阅 python.org 网站上 PythonGameLibraries。
先决条件
- 一个 PlayFab 开发者帐户。
- 系统上安装的 Python 3。
- 还必须安装请求模块。
注意
Python SDK 的此 beta 版本仅支持同步 API 调用,并且您的游戏循环可能会被阻止执行 PlayFab API 调用。 您可能需要创建自己的异步/线程模型来避免此问题。
如果在调试问题时遇到问题,并且提供的错误信息不足,请访问我们的 PlayFab 论坛。
Python 项目设置
- 在命令提示符下,使用以下命令安装 PlayFab 包。
pip install playfab
如果 pip
不在路径中,请改用以下命令。
python -m pip install playfab
- 在项目目录中,创建名为 playfab_test.py 的 python 脚本。
设置首次 API 调用
本快速入门提供进行首次 PlayFab API 调用的最小步骤,无需任何 GUI 或屏幕上的反馈。 确认是使用控制台打印语句完成的。
将 playfab_test.py 文件的内容替换为下面所示的内容。
from playfab import PlayFabClientAPI, PlayFabSettings
PlayFabSettings.TitleId = "144"
request = {
"CustomId": "GettingStartedGuide",
"CreateAccount": True
}
def callback(success, failure):
if success:
print("Congratulations, you made your first successful API call!")
else:
print("Something went wrong with your first API call. :(")
if failure:
print("Here's some debug information:")
print(failure.GenerateErrorReport())
PlayFabClientAPI.LoginWithCustomID(request, callback)
完成并执行
使用下面所示的命令运行 Python 脚本。
python playfab_test.py
完成后,应会看到以下文本:"恭喜,你已成功进行第一次 API 调用!"
此时,你可以开始进行其他 API 调用并生成游戏。 有关所有可用客户端 API 调用的列表,请参阅我们的 PlayFab API 参考 文档。
编码愉快!
解析此代码
此可选的最后一部分详细介绍了 playfab_test.py 的每个部分。
导入语句
- PlayFab 导入语句让您能够访问其 API。
PlayFabSettings.TitleId = "144"
- 每个 PlayFab 开发者都在游戏管理器中创建游戏。 发布游戏时,必须将 titleId 编码到游戏中。 这样客户端知道如何在 PlayFab 中访问正确数据。 对于大多数用户而言,只需将其视为使 PlayFab 正常工作的必要步骤。
请求
- 大多数 PlayFab API 方法需要输入参数,而这些输入参数被打包到字典对象中。
-
LoginWithCustomIDRequest
采用CustomId
的必需参数,该参数唯一标识玩家并返回关联的实体令牌,和CreateAccount
,这允许使用此调用创建新帐户。 - 对于登录,大多数开发者都希望使用更合适的登录方法。
- 有关所有登录方法的列表和输入参数,请参阅 PlayFab 登录文档。 常用选项为:
-
- 大多数 PlayFab API 方法需要输入参数,而这些输入参数被打包到字典对象中。
回调
成功
- 如果 API 调用成功,则成功将包含请求的信息,并且将
None
失败。 - 对于登录请求,success 将包含有关玩家的一些基本信息,但对于大多数用户而言,登录只是在调用其他 API 之前的必要步骤。
- 如果 API 调用成功,则成功将包含请求的信息,并且将
Failure
- 如果 API 调用未成功,则失败将包含一些错误信息,并且将
None
成功。 - 由于多种原因,API 调用可能会失败,应始终尝试处理故障。
- 为什么 API 调用失败(按可能性顺序)
- 未设置
PlayFabSettings.TitleId
。 如果忘记将titleId
设置为游戏,则不会进行任何操作。 - 请求参数。 如果未为特定 API 调用提供正确或必要的信息,则调用将失败。
- 设备连接问题。 手机不断失去/恢复连接,因此任何 API 调用在任何时候都可能随机失败,然后立即恢复运行。 进入隧道将完全断开连接。
- PlayFab 服务器问题。 与所有软件一样,可能存在问题。 有关更新,请参阅我们的发行说明。
- 互联网并非 100% 可靠。 有时消息已受损或无法到达 PlayFab 服务器。
- 未设置
- 如果 API 调用未成功,则失败将包含一些错误信息,并且将
PlayFabClientAPI.LoginWithCustomID
- 同步触发 API 调用。 完成后,将调用回调。