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

Na tej stronie dowiesz się, jak zintegrować logowanie w usługach gier Play z dotychczasowym rozwiązaniem do zapisywania w chmurze lub z dotychczasową tożsamością. Chociaż te rekomendacje są opcjonalne, mogą pomóc Ci spełnić wymagania dotyczące zapisywania w chmurze w przypadku Gier Google Play na PC. Na stronach wymagania dotyczące ciągłościoczekiwane zachowania sprawdź, czy Twoja implementacja spełnia te wymagania.

Przywracanie stanu odtwarzacza

Na backendzie gry konta graczy są prawdopodobnie reprezentowane przez identyfikator, który umożliwia pobieranie i aktualizowanie postępów w grze. Będziemy go nazywać identyfikatorem konta. Gdy gracz zaloguje się w usługach Gier Play, możesz użyć tego uwierzytelniania, aby uzyskać nowy identyfikator – identyfikator gracza w usługach Gier Play, który jest używany do spełnienia wymagania dotyczącego zapisywania w chmurze.

Proces wielu identyfikatorów w Usługach gier Play

Gdy gracz zaloguje się w usługach gier Play, wykonaj te czynności:

  1. Pobierz kod OAuth z klienta i wyślij go na serwer.
  2. Wymień token uwierzytelniania i uzyskaj zweryfikowany identyfikator usług gier Play z serwera gier Play. Dzięki temu będziesz mieć pewność, że identyfikator jest zaufany i nie należy do osoby, która podszywa się pod innego gracza, korzystając z przejętego urządzenia.
  3. Próba rozwiązania problemu z kontem w grze na podstawie warunków urządzenia i powiązanych identyfikatorów.

W grze należy wprowadzić 2 główne nowe scenariusze:

  • Przechowywanie identyfikatorów usług gier Play w backendzie i przypisywanie ich do istniejących identyfikatorów kont w określony sposób, np. w ten:
    • W przypadku nowych graczy postępy powinny zostać w pewnym momencie automatycznie połączone z usługami gier Play. (np. po uruchomieniu gry, po samouczku lub po ukończeniu określonej liczby poziomów itp.).
    • W przypadku obecnych graczy bieżące postępy powinny zostać automatycznie połączone 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że być połączony z kilkoma kontami, a usługi gier Play można odłączyć od tych kont, ale identyfikator powinien być połączony 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 dotychczasowych kont jest elastyczny, co pokazują przykłady poniżej. Najważniejsze wymagania, o których należy pamiętać, to: 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 przyjrzenia się obecnemu systemowi i sposobowi, w jaki wykorzystuje on różnych dostawców tożsamości. Niektóre systemy używają jednego identyfikatora na konto, a inne wielu identyfikatorów na konto.

Jeśli możesz powiązać każdy identyfikator konta tylko z jednym identyfikatorem, musisz dodać obsługę powiązania z Usługami gier Play. Poniżej znajdziesz rozwiązania, które pokazują, jak to zrobić.

Przykładowe rozwiązania

Przykładowe rozwiązania obejmują rozwiązania dotyczące powiązańwycofywania.

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ę on i zaloguje w grze za pomocą innego konta. Opisujemy to w sekcji powiązanie konta.

Silne wiązanie

W przypadku wycofywania deweloper gry przechowuje 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 ulegnie zmianie. Oto przykładowy schemat blokowy, który szczegółowo omawiamy w przykładzie przywoływania ostatnich kont poniżej:

Przepływ wycofania Schemat blokowy wycofywania

Więcej przykładów wzorców przeglądania znajdziesz w rozwiązaniach poniżej.

Powiązanie konta

Jeśli w Twojej grze nie ma wielu graczy korzystających z kilku kont lub chcesz zachęcić graczy do korzystania z jednego konta w grze, powiązanie jest prawdopodobnie najlepszym rozwiązaniem. W tym przykładzie wiążesz pierwsze konto widoczne podczas logowania się w usługach gier Play (niezależnie od tego, czy jest to konto gościa, czy konto powiązane z inną platformą tożsamości) z identyfikatorem gracza w usługach gier Play. Po powiązaniu konto jest automatycznie przywracane na nowych urządzeniach. W przypadku silnego powiązania gracz może też przełączać profile w usługach gier Play, aby zmieniać konta w grze, a Ty możesz w takiej sytuacji poprosić go o potwierdzenie.

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 sprzeczne przypadki powinny dotyczyć tylko graczy, którzy mają w Twojej grze kilka kont, a więc prawdopodobnie mają wiedzę i chęć do grania na konkretnym koncie.

Po rozwiązaniu problemu gra powinna zapamiętać wybór gracza, chyba że zmienią się identyfikatory logowania. Jeśli profil Usług gier Play zostanie zmieniony lub gracz zaloguje się w grze za pomocą innego identyfikatora, należy powtórzyć powyższe kroki, ponieważ gracz dał wyraźny sygnał, że chce zmienić konto.

Usuwanie powiązania

Jeśli chcesz dać graczowi możliwość pełnego kontrolowania powiązań, możesz zaoferować mu opcję odłączenia identyfikatora gracza w usługach Gier Play od konta w grze. Może to być ważne dla niektórych graczy korzystających z wielu 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ązań kont

Silne wiązanie

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

Możesz opcjonalnie 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 Usług Google Play, co jest dla gry wyraźnym sygnałem, że chce zmienić konto w grze na inne konto. Reagowanie na tę zmianę jest tym, czego oczekuje gracz. Uwzględnienie tego sygnału poprawia komfort gry.

Istniejące połączone konto z innym identyfikatorem

Przepływ silnego powiązania z istniejącym kontem

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 z kontami będzie należeć do tej kategorii.

Przywoływanie ostatnich kont

Jednym z rozwiązań, które często przychodzi na myśl, jest korzystanie z wielu kont. Jeśli Twoja gra zachęca zaawansowanych użytkowników do tworzenia wielu kont (np. gry typu gacha lub gry, w których sami wybieracie ścieżkę fabuły), powiązanie identyfikatora gracza w usługach Gier Play z jednym kontem może nie zapewnić najlepszych wrażeń podczas przenoszenia się między urządzeniami.

W rozwiązaniu do przywracania danych przechowujesz luźne mapowanie identyfikatora gracza w usługach gier Play i konta w grze, a gracz po prostu widzi ostatnie zapisane konta podczas przełączania urządzeń lub po wylogowaniu.

Schemat blokowy wycofywania

W tym przykładzie gracz ma 3 konta w grze, a potem przenosi się na nowe urządzenie:

Recall Flow 2

Gdy wyświetlasz graczowi prośbę o przywrócenie, możesz też zaoferować mu przycisk „Anuluj” lub „Utwórz nowe”, aby mógł utworzyć nowe konto.

Dla uproszczenia gra może zapamiętywać tylko ostatnie widziane konto. W przypadku przełączania między wieloma kontami może to być trudniejsze, ale nadal spełnia wymagania dotyczące ciągłości.

Dodatkowe przykłady wycofywania

W sekcji poniżej znajdziesz dodatkowe przykłady użycia funkcji przywoływania.

Telefony bez Androida

Proces wycofania urządzeń innych niż Android

Ilustrujemy tutaj zarówno przywoływanie kont, które już istnieją (połączone konto innej firmy), jak i kont, które zostały utworzone na innym urządzeniu, na którym użytkownik nie jest zalogowany w usługach gier Play.

Częstszy scenariusz to rozpoczęcie gry na telefonie z Androidem i przeniesienie jej do Gier Google Play na PC.

Wycofanie urządzenia z Androidem – proces 2

Ponieważ na telefonie bez Androida nie ma Usług gier Play, nie ma aktywnego przywoływania, a gracz musi ręcznie wpisać swoje dane logowania w Grach Google Play na PC.

Wiele profili w usługach gier Play na jednym koncie

Czasami może być aktywnych kilka profili Usług gier Play, które wcześniej „przywołały” dane konto. W tym przypadku istnieją 2 główne rozwiązania, które sprawdzą się równie dobrze:

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

Zastąpienie Wycofywanie wielu profili – zastępowanie W modelu „Zastąpienie” deweloper musi pamiętać o mapowaniach konta na usługi gier Play i usuwać stare mapowania w swoich tabelach. Dzięki temu mogą zachować czyste powiązanie 1:1 między wycofanymi kontami a kontami w Usługach gier Play.

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