获取实体句柄
你不能直接创建实体句柄。相反,你可以通过成功的登录或身份验证调用的输出获得句柄。 玩家登录 (Windows 示例):句柄所有权和引用计数
PFEntityHandle 是引用计数的。当你从登录调用接收句柄时,你拥有一个引用。你可以使用 PFEntityDuplicateHandle 创建其他引用,并使用 PFEntityCloseHandle 释放它们。仅当关闭最后一个引用时,底层实体对象才会被销毁。 规则:- 对登录
GetResult函数或 PFEntityDuplicateHandle 的每次调用都会为你提供一个必须关闭的句柄。 - 关闭句柄不会使指向同一实体的其他句柄失效。
- 在调用 PFServicesUninitializeAsync 之前关闭所有句柄。
获取实体信息
实体键
实体键标识实体(它的类型和 ID)。使用两个调用模式:首先获取大小,然后获取数据。实体令牌
实体令牌授权服务调用。SDK 自动管理令牌,但如果需要,你可以检索当前令牌。检查实体类型
使用 PFEntityIsTitlePlayer 作为快速检查,而不是检查实体键类型字符串:玩家实体与游戏实体
玩家实体和游戏实体都使用 PFEntityHandle,但它们的功能有所不同:
不带前缀的 API(例如 Inventory、Leaderboards、Data)通常可以由玩家实体和游戏实体调用,除非其文档中另有说明。带 Client 前缀的 API 仅限玩家,带 Server 前缀的 API 仅限游戏。
PFEntityGetSecretKey 检索与游戏实体关联的密钥。它对玩家实体失败,因为它们没有密钥。
PFEntityGetSecretKey 仅在 Windows、Linux 和 macOS 平台上可用。
令牌事件处理程序
SDK 会在实体令牌过期之前自动刷新它们。你可以注册回调来观察这些事件。令牌已过期
如果自动刷新失败(例如,原始登录凭据不再有效),SDK 将触发令牌过期事件。注册一个处理程序以提供新凭据并重试登录。令牌已刷新
如果你想知道 SDK 何时在后台成功刷新令牌,请注册一个令牌已刷新处理程序。这只是提供信息——你不需要采取任何操作。何时注册和取消注册
- 注册处理程序应尽早进行,即在 SDK 初始化之后和登录之前。这可以确保你不会错过任何事件。
- 取消注册处理程序应在关闭期间进行,在关闭实体句柄之前。
实用访问器
你可以从实体句柄检索 API 端点和游戏 ID。它们来自登录期间使用的 PFServiceConfigHandle。完整示例
此示例演示了创建、复制、查询和关闭实体句柄:API 参考
有关完整的 API 参考,请参阅 PFEntity 成员。
