Logowanie

Logowanie się w usługach gier Play umożliwia korzystanie z tożsamości graczy, która zależy od platformy i jest przeznaczona dla graczy na Androida. Ta tożsamość pomaga budować relację między grą a graczem. Gracze częściej będą używać tej tożsamości do logowania się niż w innych scentralizowanych systemach.

Poza tym podczas logowania masz silny, spójny identyfikator, którego możesz używać jako klucza do systemu zapisywania w chmurze. Usługa Cloud Save jest bardzo przydatna. Pozwala graczom:

  • Wznów grę od tego samego miejsca, gdy zmieni lub zresetuje urządzenie
  • Granie na kilku urządzeniach (np. na innym telefonie lub Chromebooku)
  • Odinstaluj grę, a potem zainstaluj ją ponownie.

Możesz użyć tożsamości usług gier Play jako klucza rozwiązania umożliwiającego zapisywanie danych w chmurze lub bezpłatnej usługi Zapisane gry.

Usługi gier Play obsługują automatyczne logowanie, które nie wymaga płynnego logowania się graczy, a także umożliwia ręczne logowanie za pomocą jednego kliknięcia. W tym dokumencie opisujemy różne metody logowania.

Zalecany proces logowania

Aby zalogować graczy do gry, wykonaj te czynności:

  1. Aby automatycznie zalogować się w trakcie rozgrywki, spróbuj użyć automatycznego logowania.
  2. Jeśli automatyczne logowanie nie działa, a urządzenie użytkownika jest online, wypróbuj ręczne logowanie.
  3. Jeśli ręczne logowanie zostanie odrzucone, pamiętaj wybór użytkownika i nie pokazuj go ponownie, ale przy następnym uruchomieniu wybierz tę funkcję automatycznie.

Oprócz tego użytkownicy powinni mieć możliwość zalogowania się w grze za pomocą własnego konta usług gier Play.

Logowanie automatyczne

Automatyczne logowanie umożliwia użytkownikom łatwe logowanie się w grze – to nic trudnego. Jeśli w swojej grze użytkownik poprosi o zalogowanie się i jest włączone ustawienie automatycznego logowania (w aplikacji Gry Google Play), otrzymasz dane logowania PGS użytkownika, a użytkownik zobaczy dane logowania PGS.

Automatyczne logowanie to ustawienie, które użytkownicy mogą kontrolować. Użytkownicy mogą automatycznie logować się do wszystkich gier lub otrzymywać prośbę za każdym razem.

Logowanie automatyczne

Logowanie ręczne

Jeśli użytkownik nie zaloguje się automatycznie w grze, możesz poprosić go o zalogowanie się ręcznie. Użytkownicy mogą logować się jednym kliknięciem w oknie dialogowym widocznym nad grą.

Logowanie ręczne

Zezwalaj na wyskakujące okienka PGS, aby umożliwić prawidłowe logowanie

Jeśli korzystasz z usług gier Play, użytkownicy muszą wiedzieć, że są zalogowani. Można to zrobić, wyświetlając proces logowania w usługach gier Play.

Aby wyświetlić proces logowania, wywołaj metodę setViewForPopups() klasy GamesClient podczas uruchamiania gry. Ma to kluczowe znaczenie dla zapewnienia wygody korzystania z witryny.

Zakresy OAuth i PGS

Usługa PGS korzysta z systemu OAuth, dzięki któremu użytkownicy mogą przyznawać Twojej grze dostęp do swojego konta. Zakresy OAuth to uprawnienia, o które może prosić deweloper. Jeśli przyznasz te uprawnienia, Twoja gra będzie mogła wywoływać określone interfejsy API w imieniu użytkownika, a także zapewniać dostęp do określonych części konta Google użytkownika.

Usługa PGS ma unikalny zakres w przypadku gier (games-lite) i korzysta z innego zakresu (drive.app_data), jeśli korzysta ona z funkcji zapisanych gier. Funkcja zapisanych gier zapewnia dostęp do konta Dysku Google użytkownika, na którym są przechowywane dane gry.

Twoja gra może poprosić o dowolny zakres, którego potrzebujesz, aby zapewnić użytkownikom komfort. Twoja gra może zażądać wszystkich wymaganych zakresów w jednym pakiecie, co ograniczy liczbę żądań dostępu do konta Google. Takie podejście ma jednak poważne wady. Jeśli zażądasz więcej zakresów niż PGS, automatyczne logowanie nie powiedzie się. Automatyczne logowanie to najlepszy sposób na zalogowanie się graczy w grze.

Sprawdzoną metodą jest używanie żądań przyrostowych. Najpierw w początkowym żądaniu powinna poprosić o zakresy tylko z PGS, a w odpowiednim momencie wysłać osobne żądania dotyczące innych zakresów.

Dostęp OAuth jest przyznawany na różnych ekranach dla każdego zakresu. Dzięki temu użytkownicy mogą decydować, które zakresy chcą przyznawać. Dzięki temu, że automatyczne logowanie ma tylko zakresy PGS, użytkownicy nie muszą wchodzić w interakcje z żadnymi monitami OAuth, co zmniejsza ryzyko logowania.

Obsługa wielu metod logowania

PGS zapewnia tożsamości graczy na Androidzie, ale nie musi to być jedyna tożsamość powiązana z użytkownikami. Możesz logować się w ten sposób jednocześnie za pomocą PGS, sieci społecznościowej i własnego systemu identyfikatorów. Każdy z systemów zapewnia wyjątkową wartość zarówno Tobie, jak i graczom.

Bezpieczne pobieranie i weryfikowanie tożsamości odtwarzacza na potrzeby integracji backendu

Możesz wysłać żądanie uwierzytelniania serwera, aby umożliwić serwerowi bezpośrednie komunikowanie się z serwerami usług gier Play przez interfejs API REST za zgodą zalogowanego gracza. Pozwala to na bezpośredni dostęp do identyfikatora, profilu i innych informacji gracza (takich jak lista znajomych, jeśli jest do tego uprawniona). Jeśli przechowujesz w backendzie dowolne identyfikatory graczy, identyfikatory znajomych lub inne powiązane dane, musisz w ten sposób usunąć potencjał ich manipulowania po stronie urządzenia.

W przypadku niektórych starszych gier i odtwarzaczy identyfikator odtwarzacza zwracany przez pakiet SDK do Androida może nie być taki sam jak ten widoczny dla innych graczy, zwłaszcza w przypadku listy znajomych. Element player_id zwrócony w interfejsie API REST jest jednak zawsze spójny i jest zawsze widoczny dla innych graczy.

Więcej informacji znajdziesz w artykule na temat dostępu offline i dokumentacji interfejsu API REST.

Wdrażanie klienta

Aby dowiedzieć się, jak wdrożyć funkcję logowania się na urządzeniu z Androidem, przeczytaj artykuł Logowanie się w grach na Androida.