方法:recall.linkPersona

将提供的召回会话 ID 中编码的 PGS 玩家主体与游戏内帐户关联

HTTP 请求

POST https://games.googleapis.com/games/v1/recall:linkPersona

请求正文

请求正文包含以下结构的数据

JSON 表示形式
{
  "sessionId": string,
  "persona": string,
  "token": string,
  "cardinalityConstraint": enum (RecallTokensCardinalityConstraint),
  "conflictingLinksResolutionPolicy": enum (ConflictingLinksResolutionPolicy),

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
}
字段
sessionId

字符串

必需。不透明的服务器生成的字符串,用于编码识别 PGS 玩家/Google 用户和应用的所有必要信息。

persona

字符串

必需。游戏内帐户的稳定标识符。请勿对不同的游戏重复使用相同的角色。

token

字符串

必需。要创建的令牌的值。对 Play 游戏而言是不透明的,并且假定是不稳定的(使用密钥轮换加密)。

cardinalityConstraint

枚举 (RecallTokensCardinalityConstraint)

必需。在游戏范围内将角色链接到玩家时要观察的基数约束。

联合字段 expiration。可选的令牌过期时间或生存时间。 expiration 只能是以下之一
expireTime

字符串 (Timestamp 格式)

仅输入。可选的过期时间。

以 RFC3339 UTC“Zulu”格式表示的时间戳,具有纳秒级分辨率,最多可包含九位小数。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

ttl

字符串 (Duration 格式)

仅输入。可选的生存时间。

以秒为单位的持续时间,最多可包含九位小数,以 's' 结尾。例如:"3.5s"

响应正文

角色链接尝试的结果。

如果成功,响应正文将包含以下结构的数据

JSON 表示形式
{
  "state": enum (State)
}
字段
state

枚举 (State)

仅输出。角色链接尝试的状态。

授权范围

需要以下 OAuth 范围

  • https://www.googleapis.com/auth/androidpublisher

有关更多信息,请参阅 OAuth 2.0 概述

RecallTokensCardinalityConstraint

在游戏范围内将角色链接到玩家时要观察的基数约束。

枚举
ONE_PERSONA_TO_ONE_PLAYER

游戏内角色与 Play 游戏服务玩家之间 1:1 的基数关系。

在链接操作结束时,在应用范围内应仅保留玩家和角色的一条条目。

指定此约束时是否创建新的链接由选择的 ConflictingLinksResolutionPolicy 确定

  • 如果指定了 KEEP_EXISTING_LINKS,并且提供的角色已链接到其他玩家,或者玩家已链接到其他角色,则不会创建新的链接,并且已存在的链接将保持不变。

  • 如果指定了 CREATE_NEW_LINK,并且提供的角色已链接到其他玩家,或者玩家已链接到其他角色,则旧的链接将被删除,以支持创建的新链接。

ConflictingLinksResolutionPolicy

当将角色链接到玩家会导致违反指定的基数约束时要应用的解决策略。

枚举

状态

角色关联尝试的状态。

枚举
PERSONA_OR_PLAYER_ALREADY_LINKED 请求中指定的关联未创建,因为如果创建,则已存在的关联会导致新关联违反指定的 RecallTokensCardinalityConstraint