Po wycofaniu interfejsu API logowania przez Google
  planujemy w 2026 roku usunąć pakiet Games SDK w wersji 1. Z końcem lutego 2025 r. nie będzie już można publikować w Google Play nowych tytułów, w których zastosowano integrację z pakietem Games SDK w wersji 1. Zamiast tego zalecamy używanie pakietu Games SDK w wersji 2.
  Dotychczasowe tytuły z integracjami gier w wersji 1 będą działać jeszcze przez kilka lat, ale zachęcamy do przejścia na wersję 2 od czerwca 2025 r.
  Ten przewodnik dotyczy korzystania z pakietu SDK usług gier Play w wersji 1. Informacje o najnowszej wersji pakietu SDK znajdziesz w dokumentacji wersji 2.
Logowanie się w usługach gier Play zapewnia tożsamość gracza, która jest tożsamością na poziomie platformy, specyficzną dla gier na Androida. Ta tożsamość pomaga budować relację między grą a graczem. Gracze używają jej do logowania chętniej niż innych systemów scentralizowanych.
Logowanie zapewnia też silny, spójny identyfikator, którego możesz używać jako klucza do systemu zapisywania w chmurze. Zapisywanie w chmurze jest bardzo cenione, ponieważ umożliwia:
- wznowienie rozgrywki w tym samym miejscu, gdy gracz zmieni lub zresetuje urządzenie;
- grę na kilku urządzeniach (np. na innym telefonie lub Chromebooku);
- odinstalowanie i ponowne zainstalowanie gry.
Możesz użyć tożsamości usług gier Play jako klucza do własnego rozwiązania do zapisywania w chmurze lub skorzystać z bezpłatnej usługi Zapisanych gier.
Usługi gier Play obsługują automatyczne logowanie, które jest bezproblemowym sposobem logowania graczy, a także logowanie ręczne, które wymaga tylko jednego kliknięcia. W tym dokumencie opisujemy różne metody logowania.
Zalecany proces logowania
Aby gracze mogli logować się do Twojej gry, użyj tego procesu logowania:
- Użyj logowania automatycznego podczas uruchamiania gry, aby gracz logował się automatycznie.
- Jeśli logowanie automatyczne nie działa, a urządzenie użytkownika jest online, użyj logowania ręcznego.
- Jeśli gracz nie zdecyduje się zalogować ręcznie, zapamiętaj wybór użytkownika i nie wyświetlaj ponownie monitu o logowaniu ręcznym, tylko dalej próbuj logowania automatycznego podczas uruchamiania.
Upewnij się też, że użytkownicy mogą zalogować się w Twojej grze za pomocą konta usług gier Play, korzystając z łatwego do znalezienia przycisku.
Logowanie automatyczne
Logowanie automatyczne umożliwia użytkownikom bezproblemowe logowanie się w Twojej grze bez dodatkowych czynności. Jeśli gra wymaga od użytkownika, by się zalogował, a ustawienie logowania automatycznego jest włączone (w aplikacji Gry Google Play), otrzymasz dane logowania użytkownika do usług gier Play, a użytkownik zobaczy ekran logowania do usług gier Play.
Logowanie automatyczne to ustawienie, którym użytkownicy mogą zarządzać. Użytkownicy mogą wybrać, czy we wszystkich grach chcą logować się automatycznie czy za każdym razem odpowiadać na prośbę o zalogowanie.

Logowanie ręczne
Jeśli użytkownik nie zaloguje się automatycznie w grze, możesz poprosić go o zalogowanie się ręczne. Użytkownicy mogą zalogować się jednym kliknięciem w oknie dialogowym wyświetlanym na ekranie gry.

Zezwalaj na wyskakujące okienka usług gier Play, aby zapewnić prawidłowe logowanie
Podczas korzystania z usług gier Play użytkownicy muszą wiedzieć, że są zalogowani. W tym celu wyświetlamy ekran logowania w usługach gier Play.
Aby wyświetlić okno logowania, podczas uruchamiania gry wywołaj metodę
setViewForPopups()
klasy GamesClient. Jest to niezbędne, aby zapewnić prawidłowe wrażenia użytkownika.
Zakresy OAuth i usługi gier Play
Usługi gier Play korzystają z systemu OAuth, aby umożliwić użytkownikom przyznanie Twojej grze dostępu do ich kont. Zakresy OAuth to uprawnienia, o które możesz poprosić jako deweloper. Jeśli użytkownik wyrazi zgodę, te uprawnienia pozwolą Twojej grze wywoływać w jego imieniu określone interfejsy API, a także umożliwią Ci dostęp do niektórych części jego konta Google.
Usługi gier Play mają unikalny zakres dla gier (games-lite) i korzystają z innego zakresu (drive.appdata), jeśli Twoja gra używa funkcji zapisanych gier. Funkcja zapisanych gier
umożliwia dostęp do konta Dysku Google użytkownika, na którym są przechowywane dane gry.
Gra może prosić o dowolny zakres, który jest potrzebny do zapewnienia użytkownikom jak najlepszych wrażeń. Gra może poprosić o wszystkie potrzebne zakresy w jednym pakiecie, ograniczając liczbę próśb o dostęp do konta Google. Takie podejście ma jednak poważną wadę. Jeśli poprosisz o więcej zakresów niż te, które są specyficzne dla usług gier Play, logowanie automatyczne nie będzie możliwe. Logowanie automatyczne to najlepsza metoda logowania graczy w Twojej grze.
Sprawdzonym sposobem jest używanie przyrostowych żądań zakresu. W pierwszej kolejności gra powinna prosić o zakresy tylko dla usług gier Play, a o inne zakresy – w odpowiednim momencie.
Dostęp do protokołu OAuth jest przyznawany na różnych ekranach w zależności od zakresu. Umożliwia to użytkownikom szczegółowe określanie zakresów, do których chcą przyznać dostęp. Dzięki automatycznemu logowaniu przy użyciu zakresów tylko dla usług gier Play użytkownicy nie muszą wchodzić w interakcję z żadnymi monitami OAuth, co ogranicza trudności związane z logowaniem.
Obsługa wielu metod logowania
Usługi gier Play zapewniają tożsamość gracza na Androidzie, ale nie musi to być jedyna tożsamość powiązana z użytkownikami. Możesz logować graczy jednocześnie za pomocą usług gier Play, identyfikatora sieci społecznościowej i własnego systemu identyfikatorów w grze. Każdy system zapewnia unikalną wartość zarówno Tobie, jak i graczom, a wszystkie te systemy mogą ze sobą współpracować, aby zapewnić graczom na Androidzie jak najlepsze wrażenia.
Bezpieczne pobieranie i weryfikowanie tożsamości gracza na potrzeby integracji z backendem
Możesz poprosić o kod autoryzacji serwera, aby umożliwić serwerowi bezpośrednią komunikację z serwerami usług gier Play za pomocą interfejsu REST API z uprawnieniami zalogowanego gracza. Umożliwia to bezpośredni dostęp do identyfikatora, profilu i innych informacji gracza (np. listy znajomych, jeśli jest to dozwolone). Jeśli przechowujesz na serwerze identyfikatory graczy, identyfikatory znajomych lub inne powiązane dane, musisz użyć tej metody, aby wyeliminować możliwość manipulowania tymi polami po stronie urządzenia.
Dodatkowo w przypadku niektórych starszych gier i graczy identyfikator gracza zwracany przez pakiet SDK Androida może nie być taki sam jak identyfikator, który widzą inni gracze, gdy wyświetlają tego gracza w tej samej grze. Jest to szczególnie istotne w przypadku korzystania z listy znajomych. Identyfikator player_id zwracany w interfejsie REST API jest jednak zawsze spójny i zawsze jest to identyfikator widoczny dla innych graczy.
Więcej informacji znajdziesz w sekcji Dostęp offline oraz w dokumentacji interfejsu API REST.
Wdrożenie po stronie klienta
Więcej informacji o wdrażaniu obsługi logowania na Androidzie znajdziesz w artykule Logowanie w grach na Androida.
