Pakiet SDK usług gier Google Play w wersji 1 opiera się na Logowaniu przez Google na Androidzie, które zostało wycofane i zostanie usunięte z pakietu SDK uwierzytelniania usług Google Play
(com.google.android.gms:play-services-auth) w 2025 r. Nowe aplikacje gier mogą korzystać z pakietu SDK w wersji 1 do 2025 r. Usunięcie Logowania przez Google powoduje problemy z zależnościami w przypadku istniejących aplikacji gier. Migracja istniejących aplikacji gier z pakietu SDK w wersji 1
do pakietu SDK w wersji 2
rozwiązuje problemy z zależnościami spowodowane usunięciem logowania się przez Google.
Migracja z usług Gier Google Play w wersji 1 do wersji 2 to ważna aktualizacja, która upraszcza programowanie i obsługuje gry na wielu platformach. Usługi gier Google 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 Zaloguj się przez Google lub zastrzeżone backendy. Integracja pakietu SDK usług gier Play w wersji 2 wykorzystuje identyfikator gracza w przypadku funkcji platformy, takich jak osiągnięcia i tablice wyników, bez zmiany dotychczasowych procesów wdrażania i logowania.
Z tego dokumentu dowiesz się, jak aplikacja gry współdziała 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 migracji, aby zapewnić ciągłość rozgrywki.
Interakcje z pakietem SDK
Diagramy ilustrują interakcje między aplikacją gry na Androidzie, usługami mobilnymi Google (GMS) Core, usługami Gier Play i serwerem gier innej firmy. Pokazują one, jak aplikacja korzysta z usług Google do uwierzytelniania i funkcji gry, a jednocześnie współdziała z oddzielnym systemem innej firmy.
Pakiet SDK w wersji 2 (aktualny)
Pakiet SDK w wersji 1 (starsza wersja)
Poniżej znajdziesz krótki przegląd komponentów i pakietów SDK:
- Aplikacja gry
- Reprezentuje aplikację gry użytkownika działającą na urządzeniu z Androidem.
- Zawiera 2 główne komponenty:
- Pakiet SDK w wersji 1 lub 2 Pakiet SDK po stronie klienta odpowiedzialny za interakcje z usługami gier Play.
- Pakiet SDK uwierzytelniania Pakiet SDK uwierzytelniania usług Google Play jest odpowiedzialny za obsługę procesów uwierzytelniania i autoryzacji użytkowników w pakiecie SDK 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.
- Usługi GMS Core, nazywane też usługami Google Play
- To warstwa zastrzeżona przez Google na Androidzie.
- Aplikacja gry korzysta z 2 modułów usług GMS Core:
- Moduł gier zapewnia funkcje specyficzne dla gier, takie jak tablice wyników, osiągnięcia i zarządzanie stanem gry.
- Moduł uwierzytelniania Obsługuje operacje uwierzytelniania i autoryzacji użytkowników.
- Pakiety SDK gier i uwierzytelniania w aplikacji gry 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 usługami GMS Core a serwerem usług gier Play.
- Obsługuje żądania API, transformację danych i uwierzytelnianie w przypadku 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 wieloosobowych.
- Brama gier innej firmy
- Jeśli Twoja aplikacja gry kwalifikuje się jako aplikacja innej firmy, biblioteka klienta komunikuje się z serwerami usług gier Play za pomocą serwerów gier innej firmy.
- Oznacza to, że aplikacja może też uwierzytelniać się u innego dostawcy usług.
- Serwer gier innej firmy
- Reprezentuje opcjonalny serwer zewnętrzny, z którym aplikacja gry może współdziałać, prawdopodobnie w celu korzystania z funkcji niestandardowych lub zarządzania danymi.
- Komunikacja z aplikacją odbywa się za pomocą bramy gier innej firmy.
Dlaczego warto przeprowadzić migrację do usług gier Play w wersji 2
Przejście z usług Gier Play w wersji 1 do wersji 2 to poważna modernizacja architektury, która upraszcza programowanie i obsługuje gry na wielu platformach.
W przeciwieństwie do wersji 1, która służyła jako główny system tożsamości w grze, usługi gier Play w wersji 2 oddzielają tożsamość na platformie od tożsamości w grze. Działają jako system tożsamości na poziomie platformy, który automatycznie uwierzytelnia graczy podczas uruchamiania gry, aby zarządzać funkcjami takimi jak osiągnięcia i tablice wyników.
Teraz musisz zarządzać głównym systemem kont w grze niezależnie za pomocą narzędzi takich jak Zaloguj się przez Google lub zastrzeżone backendy. Pakiet SDK usług gier Play w wersji 2 umożliwia grom korzystanie z identyfikatora gracza w usługach gier Play w celu uzyskania dostępu do funkcji platformy bez zmiany dotychczasowych procesów wdrażania i logowania. Ten dokument przeprowadzi Cię przez proces migracji, omawiając zasady architektury, ścieżki i strategie komunikacji z graczami. Ze względu na oficjalny harmonogram wycofywania jest to bardzo ważne dla zapewnienia ciągłości rozgrywki.
Porównanie uwierzytelniania na platformie i uwierzytelniania w grze
W usługach gier Play w wersji 2 koncepcja „logowania się” jest podzielona na 2 odrębne warstwy:
- Tożsamość na platformie Pakiet SDK obsługuje uwierzytelnianie na platformie.
- Tożsamość w grze
Uwierzytelnianie na platformie
Usługi gier Play działają wyłącznie jako warstwa zaangażowania na platformie. Zarządzają relacjami gracza z ekosystemem gier Google Play (osiągnięcia, tablice wyników i wydarzenia), a nie z uwierzytelnianiem na konkretnym koncie gry lub w ekwipunku.
- Ciche 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 osiągnięciach).
- Oddzielenie: usług gier Play w wersji 2 nie wolno 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”. Jest to system tożsamości, który wiąże postępy, ekwipunek i walutę gracza w Twojej grze.
- Tożsamość główna: jako główną metodę logowania możesz używać własnego backendu, Zaloguj się przez Google lub innych dostawców.
- Niezależność: gracz może być zalogowany w usługach gier Play (tożsamość na platformie), aby zdobywać osiągnięcia, a jednocześnie być zalogowany na dowolnym koncie w grze. Na przykład na koncie gościa lub na konkretnym koncie logowania się przez Google.
- Zarządzanie wieloma kontami w grze: usługi gier Play są odpowiedzialne tylko za uwierzytelnianie na platformie, a Twoja gra zarządza głównym uwierzytelnianiem graczy na ich kontach w grze. Oznacza to, że nie będzie żadnych zmian w dotychczasowych procesach w Twojej grze dotyczących przełączania się graczy między kontami w grze. Podczas gdy gracze to robią, nadal będą uwierzytelnieni na platformie gier Play za pomocą usług gier Play, a Ty będziesz nadal wysyłać ich dane związane z osiągnięciami i innymi funkcjami usług gier Play na podstawie trwałego identyfikatora gracza.
Wymóg migracji: powiązanie kont w grze z identyfikatorem Open ID Google 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” łączył konto w grze gracza
(IGA) bezpośrednio z jego Player ID.
Usługi gier Play w wersji 2 zmieniają to, zapewniając automatyczne, ciche uwierzytelnianie na platformie podczas uruchamiania gry. Wynikowy Player ID jest teraz używany wyłącznie
w przypadku funkcji platformy, takich jak tablice wyników i osiągnięcia, oddzielnie od głównego
logowania się na konto.
Gry muszą teraz zarządzać tożsamością główną niezależnie za pomocą specjalnego ekranu logowania, który oferuje metody takie jak „Zaloguj się przez Google” lub inne konta w mediach społecznościowych. Co najważniejsze, usług gier Play w wersji 2 nie wolno używać jako głównego systemu tożsamości.
Ta zmiana architektury wymaga odpowiedniej zmiany sposobu, w jaki deweloperzy strukturują dane na koncie. Konto w grze musi być oddzielone od
głównego powiązania z Player ID.
Zamiast tego konto w grze musi być teraz powiązane ze stabilnym, głównym identyfikatorem, który jest niezależny od usług gier Play. Zalecany identyfikator to Open ID udostępniany przez proces Zaloguj się przez Google (SiWG). Ten Open ID służy jako unikalny, trwały klucz do głównego konta gracza w Twoim systemie.
Konto w grze nadal może być jednak powiązane z Player ID jako powiązanie dodatkowe. To dodatkowe powiązanie pełni 2 ważne funkcje:
- Umożliwia grze dalsze śledzenie i aktualizowanie postępów w funkcjach gier Play (osiągnięcia itp.) powiązanych z tym konkretnym graczem.
- Umożliwia korzystanie z funkcji „Bezproblemowe przywracanie”, dzięki której gra może automatycznie logować gracza na jego ostatnio używane konto w grze tylko na nowym urządzeniu lub po ponownej instalacji.
Zrozumienie tego oddzielonego 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 w wersji 1 i 2:
Funkcja |
Pakiet SDK w wersji 1 |
Pakiet SDK w wersji 2 |
|---|---|---|
Uwierzytelnianie |
Wymagana integracja z play-services-auth. |
Uproszczone i usprawnione; nie wymaga play-services-auth. |
Autoryzacja |
Dodatkowy kod dotyczący powodzenia, niepowodzeń i ponownych prób. |
Zarządzane przez pakiet SDK |
Token dostępu do serwera |
Możesz poprosić o dodatkowe zakresy OAuth 2.0 za pomocą GoogleSigninClient.Dodatkowy kod do obsługi błędów podczas uwierzytelniania. |
Podczas żądania dostępu po stronie serwera do internetowych interfejsów API usług gier Play możesz poprosić o 3 podstawowe zakresy tożsamości OAuth 2.0 za pomocą GamesSignInClient.
Więcej informacji znajdziesz w artykułach Dostęp po stronie serwera do usług gier Play i Pobieranie kodów uwierzytelniania serwera. |
Proces logowania się |
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. „Logowanie się” jest podzielone na 2 odrębne warstwy:
|
Wyskakujące okienko powitalne |
Wymagany dodatkowy kod. Deweloperzy mogą kontrolować jego umiejscowienie i czas wyświetlania. |
Nie jest wymagany dodatkowy kod. Spójny interfejs użytkownika we wszystkich grach skonfigurowanych za pomocą pakietu SDK w wersji 2. |
Zależności |
Wymaga play-services-auth. |
Moduł gier zajmuje się autoryzacją i uwierzytelnianiem. Nie musisz dodawać żadnych dodatkowych zależności. |
| Wylogowanie |
Używa GoogleSignInClient.signOut. |
Interfejs API wylogowania 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 usług gier Play w ustawieniach urządzenia mobilnego. Więcej informacji znajdziesz w artykule Jak przełączać profile usług gier Play na urządzeniu mobilnym. |