Logowanie

Po wycofaniu interfejsu Google Sign-In w 2026 roku usuniemy pakiet SDK do gier 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 wersją 1 pakietu SDK gier. Zamiast tego zalecamy używanie pakietu SDK do gier w wersji 2.
Dotychczasowe tytuły z integracjami gier w wersji 1 będą działać jeszcze przez kilka lat, ale zachęcamy do przeprowadzenia migracji do wersji 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 chętniej używają tej tożsamości do logowania niż alternatywnych 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 graczom:

  • Wznów od tego samego miejsca, jeśli dziecko zmieni lub zresetuje urządzenie.
  • grać w grę na kilku urządzeniach (np. na innym telefonie lub Chromebooku);
  • Odinstalowywanie i ponowne instalowanie 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 (PGS) 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 zalogować graczy w swojej grze, użyj tego procesu logowania:

  1. Podczas uruchamiania gry spróbuj automatycznego logowania, aby automatycznie zalogować gracza.
  2. Jeśli logowanie automatyczne nie działa, a urządzenie użytkownika jest online, spróbuj logowania ręcznego.
  3. Jeśli logowanie ręczne zostanie odrzucone, zapamiętaj wybór użytkownika i nie wyświetlaj ponownie logowania ręcznego, ale nadal 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.

Automatyczne logowanie

Automatyczne logowanie umożliwia użytkownikom logowanie się w grze bez żadnych problemów – jest automatyczne. Jeśli Twoja gra wymaga zalogowania się użytkownika, a ustawienie automatycznego logowania jest włączone (w aplikacji Gry Play), otrzymasz dane logowania użytkownika do usług gier Play, a użytkownik zobaczy proces logowania do usług gier Play.

Logowanie automatyczne to ustawienie, którym mogą zarządzać użytkownicy. Użytkownicy mogą wybrać automatyczne logowanie się we wszystkich grach lub za każdym razem odpowiadać na prośbę o zalogowanie.

Automatyczne logowanie

Logowanie ręczne

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

Logowanie ręczne

Zezwalaj na wyskakujące okienka usług gier Play, aby zapewnić prawidłowe logowanie

Podczas korzystania z PGS użytkownicy muszą wiedzieć, że są zalogowani. W tym celu wyświetlamy ekran logowania w usługach gier Play.

Aby wyświetlić proces logowania, wywołaj metodę setViewForPopups() klasy GamesClient podczas uruchamiania gry. Jest to kluczowe, 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 zapewnia dostęp do konta Google Drive 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, co ogranicza liczbę próśb o dostęp do konta Google. Takie podejście ma jednak poważną wadę. Jeśli poprosisz o zakresy inne niż te, które są specyficzne dla PGS, automatyczne logowanie nie będzie możliwe. Automatyczne logowanie to najlepszy sposób na zalogowanie graczy w Twojej grze.

Sprawdzoną metodą jest używanie przyrostowych żądań zakresu. W pierwszej kolejności gra powinna prosić o zakresy tylko dla PGS, a o inne zakresy – w odpowiednim momencie.

Dostęp OAuth jest przyznawany na różnych ekranach dla każdego 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 tylko zakresów PGS użytkownicy nie muszą wchodzić w interakcję z żadnymi prośbami OAuth, co zmniejsza trudności związane z logowaniem.

Obsługa wielu metod logowania

Usługi gier Google Play zapewniają tożsamość gracza na Androidzie, ale nie musi to być jedyna tożsamość połączona 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 z tych systemów zapewnia unikalne korzyści zarówno Tobie, jak i Twoim graczom, a wszystkie 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 użytkownik wyrazi na to zgodę). 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.