Interfejs API wycofywania

Interfejs Recall API umożliwia grom zarządzanie połączeniami między użytkownikami usług gier Play a ich kontami w grze przez przechowywanie tokenów wycofywania na serwerach Google. Oto przykładowy scenariusz użycia 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ć po raz pierwszy w grę na GPG 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 odszukać powiązane konto Racer94 użytkownika i przywrócić jego postępy. Ponieważ logowanie się przy użyciu usług gier Google Play nie wymaga problemów, aplikacja przywraca postępy użytkownika bez konieczności podawania nazwy użytkownika i hasła. Dodatkowo deweloper może użyć logowania 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, oraz pobieranie tokena użytkownika, by odzyskać jego konta w grze.

Oprócz tokenów wycofywania interfejs Recall API wymaga też stabilnego identyfikatora konta w grze (tzw. persona), aby egzekwować ograniczenia dotyczące mocy zbioru. Możesz traktować profil jako etykietę reprezentującą konto użytkownika w grze w systemie tożsamości dewelopera, a token wycofywania to klucz, który służy do przywracania konta użytkownika w grze. Nie można używać tych samych wartości profilu klienta i tokenów 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 a serwerami z 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. Uwaga: nie chodzi o logowanie się za pomocą usług gier Google Play (co już zostało wykonane), ale przy użyciu systemu tożsamości dewelopera spoza tego typu usług.

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

Przepływy dotyczące użytkowników bez profilu usług gier Play

Korzystając z trybu bez profilu, możesz przechowywać tokeny wycofywania dla użytkownika, który nie utworzył jeszcze profilu usług gier Play. Należy jednak pamiętać o 2 ważnych kwestiach:

  • Nie możesz pobrać tokenów użytkownika, który nie ma profilu usług gier Play. Gdy użytkownik próbuje zalogować się w grze za pomocą usług gier Play na innym urządzeniu, automatycznie wyświetla się prośba o jej utworzenie.
  • Musisz przestrzegać dodatkowych wytycznych, aby otrzymać odpowiednie powiadomienie z opisem tych elementów i uzyskać odpowiednią zgodę użytkownika:
    • Udostępniasz dane Google, aby umożliwić korzystanie z funkcji łączenia kont w Grach Play.
    • Dostępność ustawień umożliwiających zarządzanie udostępnianiem, np. ustawień Gier Play.
    • przetwarzanie takich danych zgodnie z Polityką prywatności Google;

Przechowywanie tokena i pary profili klientów

Użytkownik bez profilu usług gier Play otwiera grę

  1. Użytkownik bez profilu usług gier Play otwiera grę z włączonym cofaniem bez profilu.
  2. Pakiet SDK do gier uruchamia automatyczne logowanie, które kończy się niepowodzeniem, ponieważ użytkownik nie ma profilu usług gier Play.
  3. Pakiet SDK do gier wyświetla pasek powiadomień, który informuje użytkownika, że gra została zintegrowana z Google. Ten pasek powiadomień jest interaktywny – użytkownik może wyłączyć czułość, dopóki nie zostanie utworzony profil.
  4. Gra prosi o dostęp do wycofania. Pamiętaj, że usługi gier Play odrzucają żądania wycofania dostępu, gdy na urządzeniu są profile usług gier Play lub nie ma na nim żadnych kont Google. W takim przypadku gra powinna być kontynuowana bez korzystania z usług gier Play.
  5. Gdy użytkownik zaloguje się na konto w grze, gra tworzy dla niego parę tokena i personelu odpowiadającego mu kontu w grze. Gra przechowuje tę parę w usługach Google. Gra może zapisać więcej tokenów później, jeśli użytkownik zaloguje się na inne konta w grze.

Uruchamianie gry na nowym urządzeniu

  1. Użytkownik bez profilu usług gier Play otwiera grę z włączonym wycofywaniem bez profilu na urządzeniu.
  2. Gra rejestruje bezprofilowy token wycofywania, jak opisano w sekcji Przechowywanie pary tokena i profilu.
  3. Użytkownik otwiera tę samą grę na innym urządzeniu z taką samą konfiguracją konta.
  4. Pakiet SDK do gier aktywuje tworzenie profilu. Użytkownik może sprawdzić i odrzucić zapisane wcześniej tokeny wycofywania. W tym momencie użytkownik tworzy profil usług gier Play.
  5. Automatyczne logowanie w usługach gier Play zostanie zakończone, a gra uzyska stan uwierzytelnienia.
  6. Gra w zwykły sposób pobiera tokeny wycofywania dla użytkownika.

Dalsze kroki

Aby zintegrować interfejs Recall API z klientem i serwerem gier, postępuj zgodnie z tymi wskazówkami.