Method: recall.linkPersona

将提供的 Recall 会话 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

string

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

persona

string

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

token

string

必需。要创建的令牌的值。对 Play 游戏不透明,并被假定为非稳定(通过密钥轮替加密)。

cardinalityConstraint

enum (RecallTokensCardinalityConstraint)

必需。在将角色与游戏范围内的玩家相关联时观察的基数约束。

联合字段 expiration。可选的令牌到期时间或存留时间。expiration 只能是下列其中一项:
expireTime

string (Timestamp format)

仅限输入。可选的到期时间。

时间戳,采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,具有纳秒级分辨率,最多包含九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

ttl

string (Duration format)

仅限输入。可选的存留时间。

时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

响应正文

角色关联尝试的结果。

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

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

enum (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