Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Uwierzytelniaj się w Firebase anonimowo za pomocą Unity

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

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 zabezpieczeń. 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

  1. 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 .

  2. Jeśli aplikacja nie została jeszcze połączona z projektem Firebase, zrób to z konsoli Firebase .
  3. Włącz uwierzytelnianie anonimowe:
    1. W konsoli Firebase otwórz sekcję Auth .
    2. Na stronie Metody logowania włącz metodę logowania anonimowego .
    3. Opcjonalnie : po uaktualnieniu projektu do Uwierzytelniania Firebase za pomocą Identity Platform możesz włączyć automatyczne czyszczenie. Po włączeniu tego ustawienia anonimowe konta starsze niż 30 dni będą automatycznie usuwane. W projektach z włączonym automatycznym czyszczeniem uwierzytelnianie anonimowe nie będzie już wliczane do limitów użytkowania ani limitów rozliczeniowych. Zobacz Automatyczne czyszczenie .

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:

Klasa FirebaseAuth 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:

  1. Gdy użytkownik zarejestruje się, zakończ przepływ 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.
  2. Uzyskaj dla nowego dostawcy uwierzytelniania:

  3. 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.

Automatyczne czyszczenie

Jeśli Twój projekt został uaktualniony do Uwierzytelniania Firebase za pomocą Identity Platform , możesz włączyć automatyczne czyszczenie w konsoli Firebase. Gdy włączysz tę funkcję, na to zezwolisz, Firebase automatycznie usunie anonimowe konta starsze niż 30 dni. W projektach z włączonym automatycznym czyszczeniem uwierzytelnianie anonimowe nie będzie wliczane do limitów użytkowania ani limitów rozliczeniowych.

  • Wszelkie anonimowe konta utworzone po włączeniu automatycznego czyszczenia mogą zostać automatycznie usunięte w dowolnym momencie po 30 dniach od utworzenia.
  • Konta anonimowe utworzone przed włączeniem automatycznego czyszczenia będą kwalifikować się do automatycznego usuwania począwszy od 30 dni po włączeniu automatycznego czyszczenia.
  • Jeśli wyłączysz automatyczne czyszczenie, wszelkie anonimowe konta zaplanowane do usunięcia pozostaną zaplanowane do usunięcia. Konta te nie wliczają się do limitów użytkowania ani limitów rozliczeniowych.
  • Jeśli „uaktualnisz” anonimowe konto, łącząc je z dowolną metodą logowania, konto nie zostanie automatycznie usunięte.

Jeśli przed włączeniem tej funkcji chcesz zobaczyć, ilu użytkowników będzie mieć wpływ, a Twój projekt został uaktualniony do Uwierzytelniania Firebase za pomocą Identity Platform , możesz filtrować według is_anon w Cloud Logging .

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 .