Interfejs Recall API umożliwia zarządzanie przez gry połączeniami między użytkownikami usług gier Google Play (PGS) a ich kontami w grze poprzez przechowywanie tokenów wycofywania na serwerach Google. Oto przykładowy scenariusz użycia interfejsu Recall API.
Użytkownik gra w grę, w której deweloper ma system tożsamości do śledzenia postępów użytkownika, a do logowania użytkowników w grze używa usług gier Play równolegle z innymi metodami uwierzytelniania. W tym przykładzie użytkownik jest zalogowany na swoje konto PGS Laura i tworzy konto w grze za pomocą systemu tożsamości dewelopera o nazwie Racer94. Gdy użytkownik gra, serwer gry dewelopera synchronizuje jego postępy.
Deweloper zapisuje też token przywracania w Google, który odpowiada kontu w grze użytkownika. Google automatycznie przechowuje ten token wycofywania w profilu usług gier Play użytkownika.
Użytkownik decyduje się na pierwszy raz zagrać w Gry 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 dla tego użytkownika. Następnie serwer gry wysyła zapytanie do Google, aby sprawdzić, czy są jakieś tokeny dla tego konta PGS. Ponieważ są, Google wysyła token przywołania, a serwer gry używa tego tokena do znalezienia powiązanego z użytkownikiem konta Racer94 i przywrócenia jego postępów. Logowanie za pomocą usług gier Play jest bezproblemowe, więc aplikacja przywraca postępy użytkownika bez konieczności podawania nazwy użytkownika ani hasła. Deweloper może też używać logowania w PGS w ramach swojego dotychczasowego systemu tożsamości i polegać na Google w kwestii przechowywania powiązania między postępami gracza a jego kontem PGS.
Jak widać w powyższym przykładzie, interfejs Recall API wykonuje 2 główne działania:
Przechowywanie tokena w Google, gdy użytkownik loguje się na jedno z kont w grze.
Pobieranie tokenu użytkownika w celu przywrócenia jego kont w grze.
Oprócz tokenów recall interfejs Recall API wymaga też stabilnego identyfikatora odpowiadającego kontu w grze, zwanego personą, aby egzekwować ograniczenia mocy. Możesz potraktować personę jako etykietę reprezentującą konto użytkownika w grze w systemie tożsamości dewelopera, a token przywracania jako klucz, który służy do przywrócenia konta użytkownika w grze. Wartości persony i tokena nie mogą być używane ponownie w różnych projektach PGS. Chociaż z czasem można zmieniać tokeny wycofywania, persona powinna być stabilna zgodnie z kontem w grze użytkownika.
Reguły dotyczące mocy zbioru
Interfejs Recall API narzuca relację 1:1 między profilami PGS a kontami w grze (tzw. zasady mocy), w której jedna postać może być powiązana tylko z jednym profilem PGS, a jeden profil PGS może być powiązany tylko z jedną postacią. Osobowość jest używana jako stabilny identyfikator konta w grze, ponieważ tokeny przywołania mogą się zmienić w czasie.
Postać związana z profilem w usługach gier Play może się też zmienić w czasie (gdy inne konta w grze są połączone z profilem w usługach gier Play).
Procesy techniczne dotyczące przechowywania i pobierania tokenów wycofywania
W tej sekcji omówiono przepływ danych technicznych między klientem gry a serwerami oraz serwerami Google podczas przechowywania i pobierania tokenów przywracania.
Krok 1. Zaloguj użytkownika PGS i pobierz identyfikator sesji
Gra inicjuje pakiet SDK PGS i próbuje zalogować użytkownika w usługach PGS.
Zakładając, że użytkownik jest zalogowany, poproś o identyfikator sesji w pakiecie SDK Games w kliencie gry i o token OAuth 2.0 z back-endu OAuth Google. Identyfikator sesji i tokeny OAuth 2.0 są używane do komunikacji z systemem backendowym Google Games.
Krok 2. Pobierz dostępny token przywołania
Poproś o powiązany z kontem użytkownika PGS token przywracania. Jeśli token jest obecny, przejdź do kroku 3a i przywróć postępy. Jeśli jest to nowy użytkownik i nie ma on tokena, przejdź do kroku 3b i zapisz nowy token.
Krok 3a. Jeśli token jest dostępny, przywróć postępy
Jeśli token jest obecny, pobierz go i odszyfruj, a następnie przywróć dane użytkownika.
Krok 3b. Jeśli nie ma tokena, zapisz go
Ponieważ nie ma tokena, nie ma też przywróconych zmian. Użytkownik loguje się w systemie tożsamości dewelopera lub tworzy nowe konto, jeśli nie ma jeszcze takiego konta. Uwaga: nie jest to logowanie za pomocą PGS (które już zostało wykonane), ale za pomocą systemu tożsamości dewelopera spoza PGS.
Utwórz zaszyfrowany token recall, który koduje konto użytkownika w grze, a następnie wyślij go do Google wraz z identyfikatorem sesji i tokenem OAuth 2.0. W tym momencie Google tworzy powiązanie między wysłanym tokenem przypomnienia a kontem PGS gracza.
Procesy dla użytkowników bez profilu usług gier Play
Możesz przechowywać tokeny wycofywania w przypadku użytkownika, który nie utworzył jeszcze profilu usług gier Play, korzystając z trybu bez profilu. Należy jednak pamiętać o 2 ważnych kwestiach:
- Nie możesz pobrać tokenów dla użytkownika, który nie ma profilu usług gier Play. Użytkownik zostanie automatycznie poproszony o utworzenie profilu, gdy spróbuje zalogować się w Twojej grze za pomocą usług Play Games na drugim urządzeniu.
- Aby uzyskać odpowiednią zgodę użytkownika końcowego i zapewnić odpowiednie powiadomienie opisujące te elementy, musisz przestrzegać dodatkowych wytycznych:
- Udostępnianie danych Google w celu umożliwienia łączenia kont w Gierach Play.
- Dostępność ustawień umożliwiających zarządzanie udostępnianiem, np. ustawień Gier Play.
- Przetwarzanie takich danych zgodnie z Polityką prywatności Google.
Zapisywanie pary token–osoba
- Użytkownik bez profilu PGS otwiera grę, w której włączone jest wycofywanie bez profilu.
- Pakiet SDK do gier uruchamia automatyczne logowanie, które kończy się niepowodzeniem, ponieważ użytkownik nie ma profilu usług gier Play.
- Pakiet SDK do gier wyświetla pasek powiadomień informujący użytkownika o integracji gry z Google. Ten pasek jest aktywny – użytkownik może wyłączyć przypomnienie, dopóki nie utworzy profilu.
- Gra prosi o przywrócenie dostępu. Pamiętaj, że PGS odrzuca prośby o dostęp do funkcji wycofywania, gdy na urządzeniu są profile PGS lub gdy na urządzeniu nie ma kont Google. W takim przypadku gra powinna działać bez użycia PGS.
- Gdy użytkownik zaloguje się na konto w grze, gra utworzy parę tokena i persony odpowiadającą jego kontu w grze. Gra przechowuje tę parę w Google. Gra może przechowywać więcej tokenów, jeśli użytkownik zaloguje się na inne konta w grze.
Uruchamianie gry na nowym urządzeniu
- Użytkownik bez profilu usług gier Play otwiera na urządzeniu grę, w której włączone jest wycofywanie bez profilu.
- Gra rejestruje token wycofywania bez profilu, jak opisano w sekcji Przechowywanie pary tokenów i profilów.
- Użytkownik otwiera tę samą grę na innym urządzeniu z tym samym ustawieniem konta.
- Pakiet SDK Games uruchamia tworzenie profilu. Użytkownik może sprawdzić i odrzucić wcześniej zapisane tokeny wycofywania. Użytkownik tworzy profil usług gier Play.
- Automatyczne logowanie w PGS zostało zakończone, a gra otrzymała stan uwierzytelniony.
- Gra pobiera tokeny wycofywania dla użytkownika w zwykły sposób.
Dalsze kroki
Aby zintegrować interfejs Recall API z klientem i serwerem gry, postępuj zgodnie z tymi wskazówkami.