Logowanie

Logowanie w usługach gier Play pozwala określić tożsamość gracza, który jest odpowiednią tożsamością na poziomie platformy, charakterystyczną dla graczy na Androidzie. Ta tożsamość pomaga budować więź między grą a graczem. Gracze chętniej logują się przy użyciu tej tożsamości niż w przypadku innych scentralizowanych systemów.

Poza tym logowanie zapewnia silny, spójny identyfikator, który możesz wykorzystać jako klucz do systemu zapisywania danych w Cloud. Zapisywanie w chmurze jest bardzo cenione, ponieważ umożliwia graczom:

  • Wznów od miejsca, w którym przerwano odtwarzanie, jeśli użytkownik zmieni lub zresetuje urządzenie
  • grać na wielu urządzeniach (np. na innym telefonie lub Chromebooku);
  • Odinstaluj i ponownie zainstaluj grę.

Możesz użyć tożsamości Play Games Services jako klucza do własnej rozwiązania do zapisywania w chmurze lub skorzystać z bezpłatnej usługi Zapisane gry.

Usługi Gier Play (PGS) obsługują logowanie automatyczne, czyli bezproblemowy sposób logowania graczy, a także logowanie ręczne, które wymaga tylko jednego kliknięcia. Ten dokument opisuje te różne metody logowania.

Zalecany proces logowania

Aby zalogować graczy w grze, użyj tego procesu logowania:

  1. Podczas uruchamiania gry spróbuj użyć opcji Automatyczne logowanie, aby automatycznie zalogować gracza.
  2. Jeśli automatyczne logowanie nie działa, a urządzenie użytkownika jest online, spróbuj ręczne logowanie.
  3. Jeśli użytkownik odrzuci ręczne logowanie, zapamiętaj jego wybór i nie wyświetlaj ponownie opcji ręcznego logowania, ale nadal próbuj logować się automatycznie podczas uruchamiania.

Upewnij się też, że użytkownicy mogą logować się w Twojej grze za pomocą swojego konta usług gier Play za pomocą specjalnego, łatwego do znalezienia przycisku.

Logowanie automatyczne

Logowanie automatyczne pozwala użytkownikom na zalogowanie się w grze bez żadnych problemów – jest to automatyczne. Jeśli Twoja gra wymaga od użytkownika zalogowania się i włączenia automatycznego logowania (w aplikacji Gry Google Play), otrzymasz dane logowania do usług gier Play użytkownika, a użytkownik zobaczy dane logowania do usług gier Play.

Automatyczne logowanie to ustawienie, które mogą kontrolować użytkownicy. Użytkownicy mogą wybrać, czy chcą automatycznie logować się we wszystkich grach, czy mają być o to pytani za każdym razem.

Logowanie automatyczne

Logowanie ręczne

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

Logowanie ręczne

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

Podczas korzystania z PGS użytkownicy muszą wiedzieć, że są zalogowani. Aby to zrobić, wyświetl proces logowania w usługach gier Play.

Aby pokazać proces logowania, podczas uruchamiania gry wywołaj metodę setViewForPopups() klasy GamesClient. Ma to kluczowe znaczenie dla zapewnienia odpowiednich wrażeń użytkownikom.

Zakresy OAuth i usługi gier Play

Wykorzystuje system OAuth, aby umożliwić użytkownikom przyznawanie grze dostępu do ich kont. Zakresy protokołu OAuth to uprawnienia, o które możesz poprosić jako deweloper. Jeśli je przyznasz, gra będzie mogła wywoływać w imieniu użytkownika określone interfejsy API, a Ty będziesz mieć dostęp do określonych części jego konta Google.

Usługi gier Play ma unikalny zakres dla gier (games-lite) i korzysta z innego zakresu (drive.appdata), jeśli Twoja gra używa funkcji zapisanych gier. Funkcja zapisanych gier daje dostęp do konta Dysku Google użytkownika, na którym są przechowywane dane gry.

Gra może wymagać dostępu do dowolnych funkcji, które są potrzebne do zapewnienia użytkownikom wrażeń z gry. Gra może poprosić o wszystkie potrzebne zakresy uprawnień w jednym pakiecie, ograniczając liczbę próśb o dostęp do konta Google. Takie podejście ma jednak poważną wadę. Jeśli żądasz więcej zakresów związanych z PGS, automatyczne logowanie się nie powiedzie. Logowanie automatyczne to najlepszy sposób na zachęcenie graczy do zalogowania się w grze.

Sprawdzoną metodą jest używanie żądań z rosnącym zakresem. W pierwszej prośbie gra powinna poprosić o zakresy tylko do PGS, a w późniejszym, bardziej odpowiednim momencie – o inne zakresy.

Dostęp OAuth jest przyznawany na osobnym ekranie w przypadku każdego zakresu. Dzięki temu użytkownicy mogą szczegółowo określić, do których zakresów przyznać dostęp. Dzięki użyciu automatycznego logowania tylko z zakresami usług gier Play użytkownicy nie będą musieli wchodzić w interakcje z żadnymi promptami OAuth, co utrudnia proces logowania.

Obsługa wielu metod logowania

Usługi gier Play zapewniają tożsamość gracza na urządzeniach z Androidem, ale nie muszą być jedyną tożsamością powiązaną z użytkownikami. Możesz logować graczy za pomocą usług gier Play, identyfikatora sieci społecznościowej i własnego systemu identyfikatorów w grze jednocześnie. Każdy z tych systemów ma unikalną wartość dla Ciebie i Twoich graczy, a wszystkie razem mogą zapewnić świetne wrażenia graczom na Androidzie.

Bezpieczne pobieranie i weryfikowanie tożsamości gracza na potrzeby integracji z systemem backend

Możesz poprosić o kod autoryzacji serwera, aby umożliwić serwerowi bezpośrednie komunikowanie się z serwerami Usług gier Play za pomocą interfejsu REST API z uprawnieniami logowanego gracza. Umożliwia to bezpośredni dostęp do identyfikatora, profilu i innych informacji o graczu (np. listy znajomych, jeśli użytkownik ma uprawnienia). Jeśli na zapleczu przechowujesz identyfikatory graczy, znajomych lub inne powiązane dane, musisz użyć tej metody, aby wyeliminować możliwość manipulowania tymi polami po stronie urządzenia.

Ponadto w przypadku niektórych starszych gier i graczy identyfikator gracza zwracany przez pakiet SDK Androida może być inny niż ten, który widzą inni gracze, gdy wyświetlają tego gracza w tej samej grze. Jest to szczególnie ważne w przypadku listy znajomych. Jednak player_id zwracany w interfejsie REST API jest zawsze spójny i zawsze jest to identyfikator widoczny dla innych graczy.

Więcej informacji znajdziesz w dokumentacji dotyczącej dostępu offlineinterfejsu API REST.

Wdrożenie po stronie klienta

Aby dowiedzieć się, jak wdrożyć obsługę logowania na Androidzie, przeczytaj artykuł Logowanie w grach na Androida.