Zintegruj usługi gier Play z istniejącym rozwiązaniem do obsługi tożsamości

Na tej stronie wyjaśniamy, jak zintegrować logowanie w usługach gier Play z dotychczasowym rozwiązaniem do zapisywania w chmurze lub z dotychczasową tożsamością. Chociaż te zalecenia są opcjonalne, mogą Ci pomóc w spełnieniu wymagań dotyczących zapisywania w chmurze w Grach Google Play na PC. Aby sprawdzić, czy Twoja implementacja spełnia te wymagania, zapoznaj się ze stronami dotyczącymi wymagań dotyczących ciągłości i oczekiwanych zachowań.

Przywracanie stanu gracza

W backendzie Twojej gry konta są prawdopodobnie reprezentowane przez jakiś identyfikator, który umożliwia pobieranie i aktualizowanie postępów w grze. Dla uproszczenia będziemy go nazywać identyfikatorem konta. Gdy gracz zaloguje się w usługach gier Play, możesz użyć tego uwierzytelnienia, aby uzyskać nowy identyfikator – identyfikator gracza w usługach gier Play. Jest on używany do spełnienia wymagań dotyczących zapisywania w chmurze.

Proces obsługi wielu identyfikatorów w Usługach gier Play

Gdy gracz zaloguje się w usługach gier Play, postępuj w ten sposób:

  1. Pobierz kod OAuth od klienta i wyślij go na serwer.
  2. Wymień token uwierzytelniający i uzyskaj zweryfikowany identyfikator usług gier Play z serwera gier Play. Dzięki temu masz pewność, że identyfikator jest zaufany i nie należy do osoby, która podszywa się pod innego gracza, korzystając z zhakowanego urządzenia.
  3. Spróbuj rozpoznać konto w grze na podstawie warunków urządzenia i powiązanych identyfikatorów.

W grze trzeba wprowadzić 2 nowe główne scenariusze:

  • Przechowywanie identyfikatorów usług gier Play w backendzie i przypisywanie ich do istniejących identyfikatorów kont w jakiś sposób, np. tak:
    • W przypadku nowych graczy postępy powinny być w pewnym momencie automatycznie powiązane z usługami gier Play. (np. po uruchomieniu gry, po samouczku lub po przejściu określonej liczby poziomów itp.).
    • W przypadku obecnych graczy bieżące postępy powinny być automatycznie powiązane z usługami gier Play po zaktualizowaniu gry do wersji zintegrowanej z usługami gier Play w wersji 2.
    • Identyfikator usług gier Play można powiązać z co najmniej 1 kontem, a usługi gier Play można odłączyć od tych kont, ale powinny być one powiązane z co najmniej 1 prawidłowym kontem.
  • Automatyczne przywracanie postępów w grze na wylogowanym lub nowym urządzeniu na podstawie identyfikatora gracza w usługach gier Play.

Sposób przechowywania i przypisywania identyfikatorów usług gier Play do istniejących kont jest elastyczny, jak pokazują przykłady poniżej. Główne wymagania, o których należy pamiętać, są takie, że gracz nie powinien musieć ręcznie logować się ani tworzyć połączenia z innym systemem tożsamości, aby utworzyć połączenie między identyfikatorem usług gier Play a postępami w grze, a postępy gracza powinny być bezproblemowo przywracane na różnych platformach.

Projektując rozwiązanie, zacznij od sprawdzenia dotychczasowego systemu i sposobu, w jaki uwzględnia on różnych dostawców tożsamości. Niektóre systemy używają 1 identyfikatora na konto, a inne – wielu identyfikatorów na konto.

Jeśli możesz powiązać każdy identyfikator konta tylko z 1 identyfikatorem, musisz dodać obsługę powiązania z usługami gier Play. Poniższe rozwiązania pokazują, jak to zrobić.

Przykładowe rozwiązania

Przykładowe rozwiązania obejmują rozwiązania dotyczące powiązania i przywracania.

Powiązanie to proces trwałego lub półtrwałego łączenia identyfikatora usług gier Play ze stanem konta. W przypadku powiązania podstawowe konto, które jest przywracane za pomocą usług gier Play, nie zmienia się dla gracza bez jego działania, nawet jeśli wyloguje się i zaloguje na inne konto w Twojej grze. Opisujemy to tutaj w sekcji Powiązanie konta.

Silne wiązanie

W przypadku przywracania Ty jako deweloper gry przechowujesz luźne mapowanie identyfikatora usług gier Play i ostatnio widzianych kont gracza, aby przywrócić je, gdy zaloguje się on w usługach gier Play na innym urządzeniu. Za każdym razem, gdy gracz zaloguje się na inne konto w grze za pomocą tego samego identyfikatora usług gier Play, to powiązanie się zmieni. Oto przykładowy schemat blokowy, który szczegółowo opisujemy w przykładzie Przywracanie ostatnich kont poniżej:

Przepływ wycofania Schemat blokowy wycofywania

Więcej przykładów przepływu użytkownika znajdziesz w rozwiązaniach poniżej.

Powiązanie konta

Jeśli Twoja gra nie ma wielu graczy korzystających z kilku kont lub jeśli chcesz zachęcić graczy do korzystania z 1 konta w grze, powiązanie jest prawdopodobnie najlepszym rozwiązaniem. W tym przykładzie powiążesz pierwsze konto, które pojawi się podczas logowania w usługach gier Play (konto gościa lub konto powiązane z inną platformą tożsamości), z identyfikatorem gracza w usługach gier Play. Po tym powiązaniu powiązane konto będzie automatycznie przywracane na nowych urządzeniach. Ponieważ wykonujemy silne powiązanie, gracz może też przełączać profile w usługach gier Play, aby zmieniać konta w grze, a Ty możesz poprosić go o potwierdzenie w tym scenariuszu.

Procedura rozwiązywania problemu z kontami w usługach gier Play

Jeśli występują konflikty między kontami, zalecamy poproszenie gracza o wybranie konta. Takie konflikty powinny występować tylko w przypadku graczy, którzy mają kilka kont w Twojej grze, więc prawdopodobnie wiedzą, jakiego konta chcą używać.

Gdy konto zostanie rozpoznane, Twoja gra powinna zapamiętać wybór gracza, chyba że zmienią się identyfikatory logowania. Jeśli profil w usługach gier Play zostanie zmieniony lub gracz zaloguje się w grze za pomocą innego identyfikatora, należy powtórzyć powyższe kroki, ponieważ gracz wyraźnie wskazał, że chce zmienić konto.

Rozłączanie

Jeśli chcesz dać graczowi możliwość pełnej kontroli nad powiązaniami, możesz zaoferować mu możliwość rozłączenia identyfikatora gracza w usługach gier Play z kontem w grze. Może to być ważne dla niektórych graczy korzystających z kilku kont, jeśli przypadkowo powiązali identyfikator gracza w usługach gier Play z kontem, które nie jest ich głównym kontem.

Dodatkowe przykłady powiązania konta

Silne wiązanie

Ten główny przykład pokazuje, że dany identyfikator gracza w usługach gier Play (1) jest powiązany z pierwszym kontem w grze, które pojawi się (A), i nie jest ponownie powiązany, gdy gracz wyloguje się z postępów w grze, aby grać na innym koncie.

Opcjonalnie możesz zezwolić graczom na ponowne powiązanie konta, ale nie jest to wymagane.

Przełączanie kont na urządzeniu

Przepływ przełączania kont z silnym powiązaniem

W tym przypadku gracz ręcznie przełączył konta w usługach gier Play, co oznacza, że wyraźnie wskazał, że chce zmienić konto w grze na inne. Reagowanie na tę zmianę jest tym, czego oczekuje gracz. Uwzględnienie tego sygnału poprawia wrażenia gracza.

Istniejące powiązane konto z innym identyfikatorem

Przepływ silnego powiązania istniejącego konta

Ten przykład pokazuje, że nawet konta powiązane z identyfikatorami innymi niż usługi gier Play powinny być powiązane z usługami gier Play, a następnie przywracane na nowych urządzeniach. Większość obecnych graczy Twojej gry z kontami będzie należeć do tej kategorii.

Przywracanie ostatnich kont

Podczas rozważania rozwiązań często pojawia się kwestia korzystania z kilku kont. Jeśli Twoja gra zachęca zaawansowanych użytkowników do tworzenia wielu kont (np. gry typu gacha lub gry, w których gracz sam wybiera ścieżkę), powiązanie identyfikatora gracza w usługach gier Play z 1 kontem może nie zapewnić najlepszych wrażeń podczas przechodzenia między urządzeniami.

W przypadku rozwiązania dotyczącego przywracania przechowujesz luźne mapowanie identyfikatora gracza w usługach gier Play i konta w grze, a gracz widzi ostatnie konta, które zostały zapisane podczas przełączania urządzeń lub po wylogowaniu.

Schemat blokowy wycofywania

W tym przykładzie gracz ma 3 konta w grze, a następnie przechodzi na nowe urządzenie:

Recall Flow 2

Gdy poprosisz gracza o przywrócenie, możesz też zaoferować mu przycisk „Anuluj” lub „Utwórz nowe”, aby mógł utworzyć nowe konto.

Dla uproszczenia Twoja gra może przywracać tylko ostatnio widziane konto. Może to być trudniejsze w przypadku przełączania się między kilkoma kontami, ale nadal spełnia wymagania dotyczące ciągłości.

Dodatkowe przykłady przywracania

W tej sekcji znajdziesz dodatkowe przykłady użycia przywracania.

Telefony bez Androida

Proces wycofania urządzenia innego niż z Androidem

W tym przypadku pokazujemy zarówno przywracanie kont, które już istnieją (powiązane konto innej firmy), jak i kont utworzonych na innym urządzeniu, na którym nie są zalogowane usługi gier Play.

Częstszy przepływ może polegać na rozpoczęciu gry na telefonie bez Androida i przeniesieniu się do Gier Google Play na PC.

Wycofanie urządzenia niezwiązanego z Androidem – proces 2

Ponieważ telefon bez Androida nie ma usług gier Play, przywracanie nie jest aktywne i gracz musi ręcznie wpisać dane logowania w Grach Google Play na PC.

Kilka profili w usługach gier Play na 1 koncie

Czasami może być aktywnych kilka profili w usługach gier Play, które wcześniej „przywróciły” dane konto. W takim przypadku istnieją 2 główne rozwiązania, które będą działać równie dobrze:

Zapisz mimo to Przywracanie wielu profili i zapisywanie mimo to W modelu „Zapisz mimo to” ignorujemy zduplikowane wskaźniki do danego konta.

Zastąp Wycofywanie wielu profili – zastępowanie W modelu „Zastąp” deweloper musi pamiętać mapowania usług gier Play na konta i wyczyścić stare mapowania w swoich tabelach. Dzięki temu może zachować czyste mapowanie 1:1 przywróconych kont i kont w usługach gier Play.

Przywracanie na tym samym urządzeniu Wycofanie tego samego urządzenia Gracz korzystający z kilku kont może też użyć implementacji przywracania, aby szybko przełączać się między kontami w grze.