PFMultiplayerSetEntityToken
设置代表实体执行库操作时应用于身份验证的令牌。 如果之前已为实体设置了令牌,则会替换其以前的令牌。
语法
HRESULT PFMultiplayerSetEntityToken(
PFMultiplayerHandle handle,
const PFEntityKey* entity,
const char* entityToken
)
参数
handle
PFMultiplayerHandle
PFMultiplayer API 实例的句柄。
entity
PFEntityKey*
要与令牌关联的 PlayFab 实体密钥。
entityToken
char*
以 null 结尾
待定
返回值
类型:HRESULT
S_OK
如果创建本地用户成功,或出现一个错误代码,则说明错误。 可通过 PFMultiplayerGetErrorMessage() 检索错误代码的可读形式。
备注
此方法将 PlayFab 实体密匙作为entity
,将 PlayFab 实体令牌作为token
。 当库代表需要身份验证或授权的实体执行操作(例如创建或更新大厅)时,库将查找与要用于操作的实体关联的令牌。 如果之前未为实体设置任何令牌,则操作将同步失败。 在异步操作期间,PlayFab 服务将验证令牌是否有效、未过期、是否与提供的实体 ID 相关联,并有权执行该操作。 如果不满足这些条件,操作将失败。
可以从 PlayFab 登录操作的输出获取 PlayFab 实体密匙和实体令牌,然后将其作为此方法的输入。
提供的 entity
和 token
必须是使用传递给 PFMultiplayerInitialize()的同一 PlayFab 游戏 ID 获取的。
多人游戏库制作提供的 PlayFab 实体令牌的副本,以便在需要进行身份验证或本地用户授权的后续操作中使用,例如 PFMultiplayerCreateAndJoinLobby
。 如果向此调用提供的令牌过期或无效,则需要有效令牌的操作将失败。 通过使用相同的实体键再次调用此方法,可以向多人游戏库提供新的有效令牌。
调用方负责监视提供给此方法的实体令牌的过期时间。 当令牌接近或超过过期时间时,应通过执行 PlayFab 登录操作获取新令牌,并通过调用此方法提供给 Party 库。 建议在先前提供的令牌的有效期已经过半时获取一个新令牌。 平台在可能会进入低性能状态或导致应用程序长时间暂停执行,从而阻止在到期之前刷新令牌,应该在恢复执行时检查令牌是否过期。
不对此值执行同步验证。
要求
标头: PFMultiplayer.h