Method: recall.linkPersona

Свяжите участника PGS Player, закодированного в предоставленном идентификаторе сеанса отзыва, с внутриигровой учетной записью.

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

Необходимый. Значение создаваемого токена. Непрозрачен для игр и считается нестабильным (зашифрован с помощью ротации ключей).

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

Кардинальность 1:1 между персонажами в игре и игроками игровых сервисов Play.

К концу операции связывания в области приложения должна остаться только одна запись об игроке и персоне.

Будет ли создана новая ссылка или нет при указании этого ограничения, определяется выбранным ConflictingLinksResolutionPolicy :

  • Если указан KEEP_EXISTING_LINKS и предоставленный персонаж уже связан с другим игроком или игрок уже связан с другим персонажем, новая ссылка не будет создана, а уже существующие ссылки останутся такими, какие есть.

  • Если указан CREATE_NEW_LINK и предоставленный персонаж уже связан с другим игроком или игрок уже связан с другим персонажем, старые ссылки будут удалены в пользу создаваемой новой ссылки.

Политика разрешения конфликтов

Политика разрешения, применяемая, когда привязка персонажа к игроку приведет к нарушению указанного ограничения количества элементов.

Перечисления

Состояние

Состояние попытки связывания персоны.

Перечисления
PERSONA_OR_PLAYER_ALREADY_LINKED Ссылка, указанная в запросе, не была создана, поскольку уже существующие ссылки приведут к тому, что новая ссылка нарушит указанный RecallTokensCardinalityConstraint если она будет создана.