Interfejs Recall API umożliwia grom zarządzanie połączeniami między użytkownikami usług gier Google Play (PGS) a ich kontami w grze przez 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 i korzysta z usług gier Play równolegle z innymi metodami uwierzytelniania, aby logować użytkowników w grze. W tym przykładzie użytkownik jest zalogowany na swoje konto PGS Laura i tworzy konto w grze w systemie tożsamości dewelopera o nazwie Racer94. W trakcie gry serwer gry dewelopera synchronizuje postępy użytkownika.
Deweloper zapisuje oddzielnie w Google token wycofania, który odpowiada kontu użytkownika w grze. Google automatycznie zapisuje ten token wycofywania w profilu usług gier Play użytkownika.
Użytkownik postanawia po raz pierwszy zagrać w grę w GPG na PC. Użytkownik jest automatycznie uwierzytelniany za pomocą konta usług gier Play, a klient gry sprawdza, czy są dostępne postępy dla tego użytkownika usług gier Play. Serwer gry wysyła następnie zapytanie do Google, aby sprawdzić, czy są jakieś tokeny dla tego konta PGS. Google wysyła token wycofania, a serwer gry używa go do znalezienia powiązanego konta użytkownika Racer94 i przywrócenia jego postępów. Uwierzytelnianie w usługach gier Play jest bezproblemowe, więc postępy użytkownika są przywracane przez aplikację bez konieczności wpisywania nazwy użytkownika ani hasła. Deweloper może też używać uwierzytelniania PGS w dotychczasowym systemie tożsamości i polegać na Google w zakresie przechowywania powiązania między postępami gracza a jego kontem PGS.
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ę na jedno z kont w grze.
Pobieranie tokena 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 profilem klienta. Profil można traktować jako etykietę reprezentującą konto użytkownika w grze w systemie tożsamości dewelopera, a token przywracania jako klucz służący do przywracania konta użytkownika w grze. Wartości persony i tokena nie mogą być ponownie używane w różnych projektach PGS. Tokeny wycofywania mogą się z czasem zmieniać, ale profil powinien być stabilny zgodnie z kontem użytkownika w grze.
Przepływy techniczne do przechowywania i pobierania tokenów wycofywania
Ta sekcja opisuje przepływ techniczny między klientem gry a serwerami Google podczas przechowywania i pobierania tokenów wycofania.
Krok 1. Uwierzytelnij użytkownika PGS i pobierz identyfikator sesji
Gra inicjuje pakiet SDK usług gier Play i próbuje uwierzytelnić użytkownika w usługach gier Play.
Zakładając, że użytkownik jest uwierzytelniony, poproś o identyfikator sesji z pakietu SDK do gier na 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 Google Games.
Krok 2. Pobierz dostępny token wycofania
Żądanie powiązanego tokena wycofania z konta użytkownika PGS. Jeśli token jest obecny, przejdź do kroku 3a i przywróć postępy. W przeciwnym razie, jeśli jest to nowy użytkownik i nie ma tokena, przejdź do kroku 3b i zapisz nowy token.
Krok 3a. Jeśli token jest obecny, przywróć postęp
Jeśli token jest obecny, pobierz i odszyfruj go, a następnie przywróć dane użytkownika.
Krok 3b. Jeśli nie ma tokena, zapisz go
Ponieważ nie ma tokena, postęp nie zostanie przywrócony. Użytkownik przechodzi do uwierzytelniania na platformie za pomocą systemu tożsamości dewelopera lub tworzy nowe konto, jeśli nie istnieje. Uwaga: nie chodzi tu o uwierzytelnianie w usługach gier Play (które zostało już wykonane), ale o uwierzytelnianie w systemie tożsamości dewelopera poza usługami gier Play.
Utwórz zaszyfrowany token wycofania, który koduje konto użytkownika w grze, i 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 wycofania a kontem PGS gracza.
Procesy dla użytkowników bez profilu PGS
Możesz przechowywać tokeny wycofywania użytkownika, który nie utworzył jeszcze profilu PGS, 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. Utworzenie profilu jest automatycznie wyświetlane, gdy użytkownik próbuje zalogować się w grze za pomocą Usług gier Play na drugim urządzeniu.
- Aby mieć odpowiednie powiadomienie opisujące te elementy i uzyskać odpowiednią zgodę użytkownika, musisz przestrzegać dodatkowych wytycznych:
- udostępnianie danych firmie Google w celu włączenia funkcji łączenia konta w Gry Play;
- dostępność ustawień umożliwiających zarządzanie tym udostępnianiem, np. ustawień Gier Play;
- Przetwarzanie takich danych podlega Polityce prywatności Google.
Zapisywanie pary tokena i persony
- Użytkownik bez profilu PGS otwiera grę, w której włączono wycofywanie bez profilu.
- Pakiet SDK do gier wywołuje automatyczne uwierzytelnianie platformy, które kończy się niepowodzeniem, ponieważ użytkownik nie ma profilu PGS.
- Pakiet SDK do gier wyświetla pasek powiadomień, który informuje użytkownika, że gra jest zintegrowana z Google. Ten pasek powiadomień umożliwia wykonanie działania – użytkownik może wyłączyć przypominanie, dopóki nie utworzy profilu.
- Gra prosi o dostęp do funkcji przywoływania. Pamiętaj, że PGS odrzuca żądania dostępu do wycofania, gdy na urządzeniu znajdują się profile PGS lub gdy na urządzeniu nie ma kont Google. W takim przypadku gra powinna być kontynuowana bez użycia PGS.
- Gdy użytkownik zaloguje się za pomocą konta w grze, gra utworzy dla niego parę token i profil, która będzie odpowiadać jego kontu w grze. Gra przechowuje tę parę w Google. Gra może później 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łączono wycofywanie bez profilu.
- Gra rejestruje token wycofywania bez profilu zgodnie z opisem w sekcji Przechowywanie tokena i pary person.
- Użytkownik otwiera tę samą grę na innym urządzeniu, na którym skonfigurowane jest to samo konto.
- Pakiet SDK do gier wywołuje utworzenie profilu. Użytkownik może przeglądać i odrzucać wcześniej zapisane tokeny wycofywania. Użytkownik tworzy w tym momencie profil usług gier Play.
- Automatyczne uwierzytelnianie na platformie w PGS zostaje zakończone, a gra otrzymuje status uwierzytelnienia.
- Gra pobiera tokeny wycofywania dla użytkownika w zwykły sposób.
Dalsze kroki
Aby zintegrować interfejs Recall API z serwerem klienta i serwerem gry, postępuj zgodnie z tymi wskazówkami.