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