Interfejs API wycofywania

Interfejs Recall API pomaga w łatwym łączeniu użytkowników usług Gier Google Play z ich kontami w grze, co umożliwia automatyczne przywracanie postępów. Tokeny do pobrania danych są przechowywane na serwerach gier, które łączą je z profilem użytkownika w usługach Gier Google Play. Korzystanie z interfejsu Recall API jest opcjonalne i jest zalecaną metodą wdrażania płynnego przywracania, jeśli nie masz własnego solidnego backendu tożsamości.

Terminologia

W tym dokumencie używamy następujących terminów:

Token do pobrania danych: bezpieczny klucz przechowywany na serwerach gry, który stanowi połączenie między kontem gracza w usługach Gier Play a jego kontem w grze.

Identyfikator sesji: tymczasowy, unikalny identyfikator wygenerowany przez pakiet SDK usług gier Play na urządzeniu gracza. Wskazuje, że żądanie wysłane przez serwer backendu pochodzi z prawidłowej, aktywnej sesji gry na urządzeniu gracza.

Przykładowe scenariusze

Oto przykładowe scenariusze 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 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.

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

  2. Deweloper zapisuje osobno w Google token do pobrania danych, który odpowiada kontu użytkownika w grze. Google automatycznie zapisuje ten token do pobrania danych w profilu usług gier Play użytkownika.

    Serwer gry przechowuje token do pobrania danych na serwerach Google.

  3. Użytkownik postanawia po raz pierwszy zagrać w grę w GPG na PC. Użytkownik jest automatycznie uwierzytelniany za pomocą konta w usługach gier Play, a klient gry sprawdza, czy są dostępne postępy tego użytkownika w usługach gier Play. Serwer gry wysyła następnie do Google zapytanie o to, czy są jakieś tokeny dla tego konta w usługach gier Play. Ponieważ są, Google odsyła token do pobrania danych, a serwer gry używa tego tokena, aby znaleźć powiązane konto użytkownika (Racer94) i przywrócić jego postępy. Uwierzytelnianie w usługach gier Play jest bezproblemowe, więc postępy użytkownika są przywracane przez aplikację bez konieczności wpisywania przez niego nazwy użytkownika ani hasła. Deweloper może ponadto używać uwierzytelniania w usługach gier Play w połączeniu z dotychczasowym systemem tożsamości i polegać na Google w zakresie przechowywania połączenia między postępami gracza a jego kontem w usługach gier Play.

    Serwer gier przywraca postęp za pomocą tokena przywołania.

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 do pobrania danych interfejs Recall API wymaga też stabilnego identyfikatora odpowiadającego kontu w grze, zwanego personą. Możesz traktować personę jako etykietę reprezentującą konto użytkownika w grze w systemie tożsamości dewelopera, a token do pobrania danych jako klucz używany do przywracania konta użytkownika w grze. Wartości persony i tokena nie mogą być ponownie używane w różnych projektach usług gier Play. Ponadto, chociaż tokeny do pobrania danych mogą się z czasem zmieniać, persona powinna być stabilna w zależności od konta użytkownika w grze.

Przepływy techniczne dotyczące przechowywania i pobierania tokenów wycofywania

W tej sekcji opisujemy przepływ techniczny między klientem gry a serwerami Google podczas przechowywania i pobierania tokenów przywoływania.

Krok 1. Uwierzytelnij użytkownika usług gier Play i pobierz identyfikator sesji

Gra inicjuje pakiet SDK usług gier Play i próbuje uwierzytelnić użytkownika w usługach gier Play.

Uwierzytelnianie użytkowników za pomocą usług gier Play

Jeśli użytkownik jest uwierzytelniony, wyślij żądanie identyfikatora sesji z pakietu SDK do gier na klienta gry i wyślij żądanie tokena OAuth 2.0 z backendu OAuth Google. Identyfikator sesji i tokeny OAuth 2.0 służą do komunikacji z backendem Google Games.

Deweloper wysyła żądanie identyfikatora sesji

Krok 2. Pobierz dostępny token do pobrania danych

Żądanie powiązanego tokena do pobrania danych z konta użytkownika usług gier Play. 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.

Deweloper pobiera token wycofania

Krok 3a. Jeśli token jest obecny, przywróć postępy

Jeśli token jest obecny, pobierz i odszyfruj go, a następnie przywróć dane użytkownika.

Deweloper przywraca dane z tokena wycofania

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.

Uwierzytelnianie użytkownika za pomocą konta w grze

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

Deweloper przechowuje token do pobrania danych

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 użytkownika, który nie ma profilu usług gier Play. Tworzenie 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 usług gier Play otwiera grę

  1. Użytkownik bez profilu PGS otwiera grę, w której włączono wycofywanie bez profilu.
  2. Pakiet SDK do gier wywołuje automatyczne uwierzytelnianie na platformie, 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ń z informacją, że gra jest zintegrowana z Google. Ten pasek powiadomień jest interaktywny – użytkownik może wyłączyć przypomnienie, dopóki nie utworzy profilu.
  4. Gra prosi o dostęp do wycofywania. Pamiętaj, że usługi gier Play odrzucają prośby o dostęp do wycofywania, gdy na urządzeniu są profile usług gier Play lub gdy na urządzeniu nie ma kont Google. W takim przypadku gra powinna działać bez korzystania z usług gier Play.
  5. Gdy użytkownik zaloguje się na konto w grze, gra utworzy 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

  1. Użytkownik bez profilu usług gier Play otwiera na urządzeniu grę, w której włączono wycofywanie bez profilu.
  2. Gra rejestruje token do pobrania danych bez profilu zgodnie z opisem w sekcji Zapisywanie tokena do pobrania danych i persony.
  3. Użytkownik otwiera tę samą grę na innym urządzeniu, na którym skonfigurowane jest to samo konto.
  4. Pakiet SDK do gier wywołuje utworzenie profilu. Użytkownik może sprawdzać i odrzucać wcześniej zapisane tokeny wycofywania. Użytkownik tworzy w tym momencie profil usług gier Play.
  5. Automatyczne uwierzytelnianie na platformie w PGS zostaje zakończone, a gra otrzymuje status uwierzytelnienia.
  6. 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.