Omówienie migracji

Pakiet SDK usług gier Google Play w wersji 1 korzysta z usługi Logowanie przez Google na Androidzie, która została wycofana i w 2025 r. zostanie usunięta z pakietu SDK usług Google Play do uwierzytelniania (com.google.android.gms:play-services-auth). Nowe aplikacje z grami mogą korzystać z interfejsu Games v1 do 2025 r. Usunięcie logowania przez Google powoduje problemy z zależnościami w przypadku istniejących aplikacji z grami. Przeniesienie istniejących aplikacji do gier z pakietu SDK do gier w wersji 1 na pakiet SDK do gier w wersji 2 rozwiązuje problemy z zależnościami, które pojawiły się po usunięciu Logowania przez Google.

Migracja z usług gier Play w wersji 1 na wersję 2 to ważna aktualizacja, która upraszcza proces tworzenia gier i umożliwia granie na różnych platformach. Usługi gier Play w wersji 2 oddzielają tożsamość na platformie od tożsamości w grze, działając jako system tożsamości na poziomie platformy, który automatycznie uwierzytelnia graczy podczas uruchamiania gry. Tożsamość na platformie jest teraz oddzielona od głównego systemu kont w grze, którym musisz zarządzać niezależnie za pomocą narzędzi takich jak logowanie przez Google lub własne zaplecze. Integracja pakietu SDK usług gier Play w wersji 2 wykorzystuje identyfikator gracza w przypadku funkcji platformy, takich jak osiągnięcia i tabele wyników, bez zmiany dotychczasowych procesów wprowadzania nowych użytkowników i logowania.

Z tego dokumentu dowiesz się, jak aplikacja z grami wchodzi w interakcje z różnymi pakietami SDK. Ze względu na oficjalny harmonogram wycofywania musisz przestrzegać zasad architektury, ścieżek i strategii komunikacji z graczami opisanych w tym przewodniku po migracji, aby zapewnić ciągłość rozgrywki.

Interakcje z pakietem SDK

Diagramy ilustrują interakcję między aplikacją do gier na Androida, usługami podstawowymi Google Mobile Services (GMS), usługami gier Play i serwerem gier innej firmy. Opisuje, jak aplikacja korzysta z usług Google do uwierzytelniania i funkcji gry, a także jak wchodzi w interakcje z osobnym systemem innej firmy.

games v2 (bieżąca)

Interakcja między aplikacją do gier na Androidzie, GMS Core, usługami Gier Play a serwerem gier innej firmy.
Interakcja między aplikacją do gier na Androida, podstawowymi usługami GMS, usługami gier Play a serwerem gry firmy zewnętrznej. (kliknij, aby powiększyć).

gry w wersji 1 (starsza wersja);

Interakcja między aplikacją do gier na Androidzie, GMS Core, usługami Gier Play a serwerem gier innej firmy.
Interakcja między aplikacją do gier na Androida, podstawowymi usługami GMS, Usługami gier Play a serwerem gier firmy zewnętrznej (kliknij, aby powiększyć).

Poniżej znajdziesz krótkie omówienie komponentów i pakietów SDK:

  • Aplikacja do gier.
    • Jest to aplikacja do gry użytkownika działająca na urządzeniu z Androidem.
    • Składa się z 2 głównych komponentów:
      • pakiet SDK gier w wersji 1 lub 2. Pakiet SDK po stronie klienta, który odpowiada za interakcje z Usługami gier Play.
      • Pakiet SDK uwierzytelniania.Pakiet SDK uwierzytelniania w Usługach Google Play odpowiada za obsługę procesów uwierzytelniania i autoryzacji użytkowników w grach w wersji 1.
    • Oba pakiety SDK komunikują się za pomocą języka definiowania interfejsu Androida (AIDL), co wskazuje na wzorzec komunikacji między różnymi procesami lub usługami.
  • GMS Core, czyli Usługi Google Play.
    • Jest to warstwa należąca do Google w Androidzie.
    • Aplikacja do gier korzysta z 2 modułów GMS Core:
      • Moduł gier udostępnia funkcje związane z grami, takie jak tablice wyników, osiągnięcia i zarządzanie stanem gry.
      • Moduł uwierzytelniania – obsługuje uwierzytelnianie użytkowników i operacje autoryzacji.
    • Pakiety SDK do gier i uwierzytelniania w aplikacji do gier komunikują się z odpowiednimi modułami za pomocą interfejsów AIDL, co wskazuje na komunikację międzyprocesową (IPC).

  • Brama usług gier Play.
    • Logiczna brama, która pośredniczy w komunikacji między GMS Core a serwerem usług gier Play.
    • Obsługuje żądania interfejsu API, przekształcanie danych i uwierzytelnianie w komunikacji z serwerem.
  • Serwer usług gier Play
    • Reprezentuje usługi backendu Usług gier Play odpowiedzialne za przechowywanie danych z gry, zarządzanie kontami użytkowników i ułatwianie korzystania z funkcji trybu wieloosobowego.
  • Bramka gier innych firm.
    • Jeśli Twoja aplikacja do gier kwalifikuje się jako aplikacja innej firmy, biblioteka klienta komunikuje się z serwerami usług Gier Play za pomocą serwerów gier innych firm.
    • Oznacza to, że aplikacja może też uwierzytelniać się u innego dostawcy usług.
  • Serwer gier firmy zewnętrznej.
    • Reprezentuje opcjonalny serwer zewnętrzny, z którym aplikacja do gier może wchodzić w interakcje, prawdopodobnie w celu korzystania z niestandardowych funkcji lub zarządzania danymi.
    • Komunikacja z aplikacją odbywa się za pomocą bramy gier innych firm.

Dlaczego warto przenieść grę do usług gier Play w wersji 2

Przejście z usług Gier Play w wersji 1 na wersję 2 to znacząca modernizacja architektury, która upraszcza proces tworzenia gier i umożliwia granie na wielu platformach.

W przeciwieństwie do wersji 1, która służyła jako podstawowy system tożsamości w grze, usługi gier Play w wersji 2 oddzielają tożsamość na poziomie platformy od tożsamości w grze. Jest to system tożsamości na poziomie platformy, który automatycznie uwierzytelnia graczy podczas uruchamiania, aby zarządzać funkcjami takimi jak osiągnięcia i tabele wyników.

Musisz teraz zarządzać głównym systemem kont w grze niezależnie, korzystając z narzędzi takich jak Zaloguj się przez Google lub własne zaplecze. Pakiet SDK usług Gier Play w wersji 2 umożliwia grom korzystanie z identyfikatora gracza w usługach Gier Play w celu uzyskiwania dostępu do funkcji platformy bez zmiany dotychczasowych procesów wprowadzania użytkowników lub logowania. Ten dokument przeprowadzi Cię przez proces migracji, omawiając zasady architektury, ścieżki i strategie komunikacji z graczami. Biorąc pod uwagę oficjalny harmonogram wycofywania, zgodność jest kluczowa dla ciągłości odtwarzacza.

Porównanie uwierzytelniania na platformie i w grze

W usługach Gier Play w wersji 2 koncepcja „logowania” jest podzielona na 2 odrębne warstwy:

  • Tożsamość platformy Pakiet SDK obsługuje uwierzytelnianie na platformie.
  • Tożsamość w grze

Uwierzytelnianie platformy

Usługi gier Play działają wyłącznie jako warstwa zaangażowania na platformie. Zarządza on relacją gracza z ekosystemem Gier Google Play (osiągnięcia, tabele wyników i wydarzenia), a nie uwierzytelnianiem w konkretnej grze lub na koncie bądź w inwentarzu.

  • Dyskretne i automatyczne: uwierzytelnianie odbywa się automatycznie w tle podczas uruchamiania gry. W przypadku samych usług Gier Play nie jest wymagany ręczny przycisk „Zaloguj się”.
  • Identyfikator gracza: po pomyślnym uwierzytelnieniu na platformie usługi gier Play udostępniają stabilny identyfikator gracza. Ten identyfikator jest spójny na różnych urządzeniach w przypadku tej samej gry, ale powinien być używany głównie do śledzenia statystyk platformy (np. postępów w zdobywaniu osiągnięć).
  • Odłączone: usług Gier Play w wersji 2 nie można używać jako głównego systemu tożsamości w grze do zarządzania kontem gracza w grze z jego postępami lub ekwipunkiem. Usługi gier Play w wersji 2 działają wyłącznie jako dodatkowy, trwały identyfikator platformy.

Uwierzytelnianie w grze

Deweloperzy są odpowiedzialni za zarządzanie „kontem w grze” (IGA). Jest to system tożsamości, który wiąże postępy, ekwipunek i walutę gracza w grze.

  • Podstawowa tożsamość: jako podstawową metodę logowania możesz używać własnego backendu, Zaloguj się przez Google (SiWG) lub innych dostawców.
  • Niezależność: gracz może być zalogowany w usługach gier Play (tożsamość platformy), aby zdobywać osiągnięcia, a jednocześnie być zalogowany na dowolnym koncie w grze. Może to być na przykład konto gościa lub konkretne konto SiWG.
  • Zarządzanie wieloma kontami w grze: usługi gier Play odpowiadają tylko za uwierzytelnianie na platformie, a gra zarządza podstawowym uwierzytelnianiem graczy na ich kontach w grze. Oznacza to, że nie nastąpią żadne zmiany w dotychczasowych procesach w grze dotyczących przełączania się graczy między kontami w grze. Podczas przełączania się gracze nadal będą uwierzytelniani na platformie Gier Play za pomocą usług gier Play, a Ty nadal będziesz wysyłać ich dane dotyczące osiągnięć i innych funkcji usług gier Play na podstawie trwałego identyfikatora gracza.

Wymaganie dotyczące migracji: powiąż konta w grze z Google Open ID zamiast z identyfikatorem gracza w usługach gier Play

W usługach gier Play w wersji 1 deweloperzy używali usług gier Play jako głównego dostawcy tożsamości. Przycisk „Google Play” połączy konto w grze gracza bezpośrednio z jego kontem Player ID.

Usługi gier Play w wersji 2 zmieniają to podejście, zapewniając automatyczne, ciche uwierzytelnianie platformy podczas uruchamiania. Wynikowy Player ID jest teraz używany wyłącznie w przypadku funkcji platformy, takich jak tablice wyników i osiągnięcia, niezależnie od głównego logowania na konto.

Gry muszą teraz zarządzać tożsamością podstawową niezależnie za pomocą specjalnego ekranu logowania, który oferuje metody takie jak „Zaloguj się przez Google” (SiWG) lub inne konta społecznościowe. Co ważne, usługi gier Play w wersji 2 nie mogą być używane jako podstawowy system tożsamości.

Ta zmiana architektury wymaga odpowiedniej zmiany w sposobie, w jaki deweloperzy strukturują dane konta. Konto w grze (IGA) musi zostać odłączone od głównego powiązania z Player ID.

Zamiast tego IGA musi być teraz powiązany ze stabilnym, podstawowym identyfikatorem, który jest niezależny od usług Gier Play. Zalecanym identyfikatorem jest Open IDdostarczany przez proces Zaloguj się przez Google (SiWG). Ten identyfikator Open IDsłuży jako unikalny, trwały klucz do głównego konta gracza w Twoim systemie.

IGA może jednak nadal być powiązany z Player ID jako powiązanie dodatkowe. Ten dodatkowy link pełni 2 kluczowe funkcje:

  1. Umożliwia to grze dalsze śledzenie i aktualizowanie postępów w funkcjach Gier Play (osiągnięcia itp.) powiązanych z danym graczem.
  2. Umożliwia to funkcję „Bezproblemowe przywracanie”, dzięki której gra automatycznie loguje gracza na ostatnio używane konto IGA tylko na nowym urządzeniu lub po ponownej instalacji.

Zrozumienie tego rozdzielonego modelu tożsamości jest kluczem do odblokowania prawidłowej ścieżki migracji technicznej w przypadku Twojej gry.

Porównanie funkcji

W tej tabeli znajdziesz porównanie funkcji pakietów SDK gier w wersji 1 i 2:


Funkcja

pakiet SDK do gier w wersji 1

pakiet SDK do gier w wersji 2

Uwierzytelnianie

Wymagana integracja z play-services-auth.

Uproszczone i usprawnione; nie wymaga play-services-auth

Autoryzacja

Dodatkowy kod dotyczący powodzenia, błędów i ponownych prób.

Zarządzane przez pakiet SDK

Token dostępu serwera

Może prosić o dodatkowe zakresy OAuth 2.0 za pomocą GoogleSigninClient.

Dodatkowy kod do obsługi błędów podczas uwierzytelniania.

Może prosić o 3 podstawowe zakresy tożsamości OAuth 2.0GamesSignInClient podczas wysyłania prośby o dostęp po stronie serwera do interfejsów API usług gier Play.

Więcej informacji znajdziesz w sekcjach Dostęp do Usług gier Play po stronie serwera Pobieranie kodów uwierzytelniania serwera.


Proces logowania

Używa GoogleSigninClient.

Dodatkowy kod do obsługi powtarzalnego kodu na potrzeby automatycznego uwierzytelniania i obsługi błędów.

Używa GamesSignInClient.

Pakiet SDK obsługuje powtarzalny kod, automatyczne uwierzytelnianie i obsługę błędów. Proces logowania jest podzielony na 2 warstwy:
  • Uwierzytelnianie na platformie: obsługiwane przez pakiet SDK usług gier Play w wersji 2.
  • Uwierzytelnianie w grze: obsługiwane przez grę.

Wyskakujące okienko powitalne

Wymagany jest dodatkowy kod.
Deweloperzy mogą kontrolować jego umiejscowienie i czas wyświetlania.

Nie wymaga dodatkowego kodu. Spójny interfejs użytkownika we wszystkich grach skonfigurowanych za pomocą pakietu SDK do gier w wersji 2.

Zależności

Wymaga play-services-auth.

Moduł gier odpowiada za autoryzację i uwierzytelnianie. Nie musisz dodawać żadnych dodatkowych zależności.
Wyloguj się

Używa modelu GoogleSignInClient.signOut.

Interfejs API wylogowywania nie jest wymagany, ponieważ usługi gier Play w wersji 2 to trwała tożsamość na platformie.

Wiele kont usług gier Play i ustawienia poszczególnych gier

Zarządzanie kontem jest możliwe w grze.

Użytkownicy mogą zmienić profil w usługach gier Play w ustawieniach urządzenia mobilnego. Więcej informacji znajdziesz w artykule o przełączaniu profili w Grach Play na urządzeniu mobilnym.