Za pomocą Uwierzytelniania Firebase możesz tworzyć tymczasowe konta anonimowe i używać ich do uwierzytelniania w Firebase. Te tymczasowe anonimowe konta mogą służyć do umożliwienia użytkownikom, którzy nie zarejestrowali się jeszcze w Twojej aplikacji, pracy z danymi chronionymi przez reguły bezpieczeństwa. Jeśli anonimowy użytkownik zdecyduje się zarejestrować w Twojej aplikacji, możesz połączyć jego poświadczenia logowania z anonimowym kontem , aby mógł kontynuować pracę z chronionymi danymi w przyszłych sesjach.
Zanim zaczniesz
Aby móc korzystać z uwierzytelniania Firebase , musisz dodać pakiet SDK Firebase Unity (w szczególności
FirebaseAuth.unitypackage
) do swojego projektu Unity.Szczegółowe instrukcje dotyczące tych wstępnych etapów konfiguracji znajdziesz w artykule Dodawanie Firebase do projektu Unity .
- Jeśli aplikacja nie została jeszcze połączona z projektem Firebase, zrób to z konsoli Firebase .
- Włącz uwierzytelnianie anonimowe:
- W konsoli Firebase otwórz sekcję Auth .
- Na stronie Metody logowania włącz metodę logowania anonimowego .
Uwierzytelnij się anonimowo w Firebase
Gdy wylogowany użytkownik korzysta z funkcji aplikacji wymagającej uwierzytelnienia w Firebase, zaloguj się anonimowo, wykonując następujące czynności:
KlasaFirebaseAuth
jest bramą dla wszystkich wywołań interfejsu API. Jest dostępny za pośrednictwem FirebaseAuth.DefaultInstance .Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;1. Wywołaj
Firebase.Auth.FirebaseAuth.SignInAnonymouslyAsync
.auth.SignInAnonymouslyAsync().ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("SignInAnonymouslyAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("SignInAnonymouslyAsync encountered an error: " + task.Exception); return; } Firebase.Auth.FirebaseUser newUser = task.Result; Debug.LogFormat("User signed in successfully: {0} ({1})", newUser.DisplayName, newUser.UserId); });
Konwertuj konto anonimowe na konto stałe
Gdy anonimowy użytkownik zarejestruje się w Twojej aplikacji, możesz zezwolić mu na kontynuowanie pracy na nowym koncie — na przykład możesz chcieć, aby elementy dodane przez użytkownika do koszyka przed zarejestrowaniem się były dostępne w nowym koszyk konta. Aby to zrobić, wykonaj następujące czynności:
- Gdy użytkownik się zarejestruje, zakończ proces logowania dla dostawcy uwierzytelniania użytkownika, aż do wywołania jednej z metod, ale nie w tym. Na przykład uzyskaj token identyfikatora Google użytkownika, token dostępu do Facebooka lub adres e-mail i hasło.
Uzyskaj dla nowego dostawcy uwierzytelniania:
Przekaż obiekt do metody logowania użytkownika:
Jeśli wywołanie się powiedzie, nowe konto użytkownika może uzyskać dostęp do danych Firebase konta anonimowego.
Następne kroki
Teraz, gdy użytkownicy mogą uwierzytelniać się w Firebase, możesz kontrolować ich dostęp do danych w bazie danych Firebase za pomocą reguł Firebase .