Method: recall.linkPersona

Powiąż podmiot zabezpieczeń graczy zakodowany w podanym identyfikatorze sesji wycofania z kontem w grze

Żądanie HTTP

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

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis 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.
}
Pola
sessionId

string

Wymagane. Nieprzezroczysty ciąg znaków wygenerowany przez serwer, który koduje wszystkie informacje niezbędne do identyfikacji odtwarzacza usług gier Play / użytkownika Google i aplikacji.

persona

string

Wymagane. Stabilny identyfikator konta w grze. Nie używaj ponownie tego samego profilu w różnych grach.

token

string

Wymagane. Wartość tokena do utworzenia. Nieprzezroczysty dla Gier Play i uważany za niestabilny (zaszyfrowany z użyciem rotacji kluczy).

cardinalityConstraint

enum (RecallTokensCardinalityConstraint)

Wymagane. Ograniczenie mocy zbioru, które należy obserwować przy łączeniu profilu klienta z graczem w zakresie gry.

Pole sumy expiration. Opcjonalny okres ważności tokena lub okres życia. expiration może mieć tylko jedną z tych wartości:
expireTime

string (Timestamp format)

Tylko dane wejściowe. Opcjonalny okres ważności.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

ttl

string (Duration format)

Tylko dane wejściowe. Opcjonalny czas życia.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku i kończący się „s”. Przykład: "3.5s".

Treść odpowiedzi

Wynik próby połączenia profilu klienta.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "state": enum (State)
}
Pola
state

enum (State)

Tylko dane wyjściowe. Stan próby połączenia profilu klienta.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

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

Więcej informacji znajdziesz w artykule Omówienie protokołu OAuth 2.0.

RecallTokensCardinalityConstraint

Ograniczenie mocy zbioru, które należy obserwować przy łączeniu profilu klienta z graczem w zakresie gry.

Wartości w polu enum
ONE_PERSONA_TO_ONE_PLAYER

Moc zbioru 1:1 między profilami w grze a graczami w usługach gier Play.

Po zakończeniu operacji łączenia tylko jeden wpis dla odtwarzacza, a profil powinien pozostać w zakresie aplikacji.

To, czy zostanie utworzone nowe połączenie, gdy to ograniczenie jest określone, zależy od wybranego elementu ConflictingLinksResolutionPolicy:

  • Jeśli określisz atrybut KEEP_EXISTING_LINKS, a podana postać jest już połączona z innym graczem lub jest on już powiązany z inną postacią, nie zostanie utworzony nowy link, a już istniejące linki pozostaną bez zmian.

  • Jeśli określisz atrybut CREATE_NEW_LINK, a podana postać jest już powiązana z innym graczem lub dany gracz jest już powiązany z inną postacią, starsze połączenia zostaną usunięte na rzecz nowo tworzonych linków.

ConflictingLinksResolutionPolicy

Zasada rozwiązywania problemów stosowana, gdy powiązanie profilu klienta z graczem spowodowałoby naruszenie określonego ograniczenia mocy zbioru.

Wartości w polu enum

Stan

Stan próby połączenia profilu klienta.

Wartości w polu enum
PERSONA_OR_PLAYER_ALREADY_LINKED Link określony w prośbie nie został utworzony, ponieważ istniejące już połączenia spowodowałyby, że nowy link naruszałby RecallTokensCardinalityConstraint.