Interfejs API wycofywania

Interfejs Recall API pozwala grom używać usług gier Play jako uzupełnienie istniejących mechanizmów logowania (np. logowania przez Google), a także płynnie synchronizować dane logowania graczy na różnych urządzeniach. Pozwala to zmniejszyć liczbę rezygnacji użytkowników po rejestracji i zwiększyć wskaźnik utrzymania użytkowników po 1 dniu. Interfejs API zarządza połączeniem między kontem usług gier Play (PGS) a jego kontami w grze, przechowując tokeny wycofywania na serwerach Google. Oto przykładowy scenariusz wykorzystania interfejsu Recall API:

  1. Użytkownik gra w grę, w której deweloper ma system tożsamości do śledzenia postępów użytkownika i loguje użytkowników w grze jednocześnie za pomocą usług gier Google Play i innych metod uwierzytelniania. W tym przykładzie użytkownik jest zalogowany na swoje konto w usługach gier Play Laura i tworzy konto w grze, korzystając z systemu tożsamości dewelopera o nazwie Racer94. Gdy użytkownik gra, serwer gry dewelopera synchronizuje jego postępy.

    Użytkownik jest zalogowany w usługach gier Play i ma konto w grze.

  2. Osobno deweloper zapisuje w Google token wycofywania, który odpowiada kontu w grze użytkownika. Google automatycznie przechowuje ten token w profilu usług gier Play użytkownika.

    Serwer gier przechowuje token wycofywania
na serwerach Google,

  3. Teraz użytkownik postanawia zagrać w grę po raz pierwszy w Grach Google Play na PC. Użytkownik jest automatycznie logowany na swoje konto w usługach gier Play, a klient gry sprawdza, czy są dostępne jakieś postępy. Serwer gry wysyła zapytanie do Google, aby sprawdzić, czy istnieją jakieś tokeny dla tego konta usług gier Play. Google odsyła token wycofywania, a serwer gry go używa, aby znaleźć powiązane konto użytkownika Racer94 i przywrócić jego postęp. Ponieważ logowanie się przy użyciu usług gier Google Play jest bezproblemowe, aplikacja przywraca postępy użytkownika bez konieczności wpisywania nazwy użytkownika i hasła. Dodatkowo deweloper może zalogować się w usługach gier Play za pomocą swojego dotychczasowego systemu tożsamości i zachować powiązanie między postępami gracza a jego kontem w usługach gier Play.

    Serwer gier przywraca postęp za pomocą
tokena czułości

Jak widać w przykładzie powyżej, interfejs Recall API wykonuje 2 główne działania:

  • przechowywanie tokena w Google, gdy użytkownik loguje się przy użyciu jednego z kont w grze.
  • Pobieranie tokena użytkownika, aby można było przywrócić jego konta w grze.

Oprócz tokenów wycofywania interfejs Recall API wymaga też stałego identyfikatora powiązanego z kontem w grze (tzw. persona), aby egzekwować ograniczenia mocy zbioru. Profil klienta możesz traktować jako etykietę reprezentującą konto użytkownika w grze w systemie tożsamości dewelopera, a token wycofywania to klucz służący do przywracania konta użytkownika w grze. Wartości profilu klienta i tokenów nie można używać ponownie w różnych projektach usług gier Play. Tokeny wycofywania mogą się z czasem zmieniać, ale profil użytkownika powinien być stabilny w zależności od konta użytkownika w grze.

Reguły dotyczące mocy zbioru

Interfejs Recall API wymusza relację 1:1 między profilami usług gier Play a kontami w grze (regułami dotyczącymi mocy zbioru), gdzie 1 profil użytkownika można połączyć tylko z 1 profilem PGS, a 1 profil PGS można połączyć tylko z 1 profilem. Profil jest używany jako stabilny identyfikator konta w grze, ponieważ tokeny wycofywania mogą się z czasem zmieniać.

Profil klienta połączony z profilem usług gier Play również może się z czasem zmienić (ponieważ z nim powiązane są różne konta w grze).

Szczegółowe procedury techniczne dotyczące przechowywania i pobierania tokenów wycofywania

W tej sekcji omawiamy przepływ techniczny między klientem gry, serwerem gry i serwerami Google podczas przechowywania i pobierania tokenów wycofywania:

Krok 1. Zaloguj się na konto użytkownika usług gier Play i pobierz identyfikator sesji

Gra inicjuje pakiet SDK usług gier Play i próbuje zalogować użytkownika za pomocą tych usług.

Użytkownik loguje się za pomocą usług gier Play

Zakładając, że użytkownik jest zalogowany, wyślij żądanie identyfikatora sesji z pakietu SDK do gier w kliencie gry i poproś o token OAuth 2.0 z backendu OAuth Google. Identyfikator sesji i tokeny OAuth 2.0 są używane do komunikacji z backendem Gier Google.

Deweloper prosi o identyfikator sesji

Krok 2. Pobierz dowolny dostępny token wycofywania

Żądanie dowolnego powiązanego tokena wycofywania z kontem użytkownika usług gier Play. Jeśli token jest obecny, przejdź do kroku 3a i przywróć postęp. Jeśli jest to nowy użytkownik, który nie ma tokena, przejdź do kroku 3b i zapisz nowy token.

Programista pobiera
token czułości

Krok 3a. Jeśli token jest dostępny, przywróć postęp

Jeśli token jest obecny, pobierz i odszyfruj go oraz przywróć dane użytkownika.

Deweloper przywraca dane z tokena czułości

Krok 3b. Jeśli nie ma żadnego tokena, zapisz token

Ponieważ nie ma tokena, postęp nie zostanie przywrócony. Użytkownik loguje się w systemie tożsamości dewelopera lub tworzy nowe konto, jeśli takiego nie ma.

Użytkownik loguje się
na swoje konto w grze,

Utwórz zaszyfrowany token wycofywania, który koduje konto użytkownika w grze, i wyślij go do Google wraz z identyfikatorem sesji i tokenem OAuth 2.0. Na tym etapie Google tworzy powiązanie między wysłanym tokenem wycofywania a kontem usług gier Play gracza.

Token wycofywania dla sklepów

Dalsze kroki

Aby zintegrować interfejs Recall API z klientem i serwerem gier, postępuj zgodnie z tym przewodnikiem po implementacji.