Uwierzytelniaj anonimowo w Firebase za pomocą Unity

Firebase Authentication umożliwia tworzenie tymczasowych anonimowych kont i korzystanie z nich aby uwierzytelnić się w Firebase. Te tymczasowe anonimowe konta mogą być używane do: zezwalaj użytkownikom, którzy nie zarejestrowali się jeszcze w Twojej aplikacji, na korzystanie z danych chronionych zgodnie z regułami zabezpieczeń. Jeśli anonimowy użytkownik zdecyduje się zarejestrować w Twojej aplikacji, możesz powiązać dane logowania z anonimowymi danymi, konta, aby mogły nadal korzystać ze swoich danych chronionych kolejnych sesji.

Zanim zaczniesz

  1. Zanim będzie można użyć Firebase Authentication musisz dodać pakiet SDK Firebase Unity (w szczególności FirebaseAuth.unitypackage) w swoim projekcie Unity.

    Szczegółowe instrukcje dotyczące wstępnych kroków konfiguracji znajdziesz tutaj: Dodaj Firebase do swojego Projekt Unity

  2. Jeśli Twoja aplikacja nie jest jeszcze połączona z projektem Firebase, zrób to na stronie konsolę Firebase.
  3. Włącz anonimowe uwierzytelnianie:
    1. W konsoli Firebase otwórz sekcję Uwierzytelnianie.
    2. Na stronie Sign-in Methods (Metody logowania) włącz Anonimowe metody logowania się.
    3. Opcjonalnie: jeśli Twój projekt został przeniesiony na Firebase Authentication with Identity Platform, możesz włączyć automatyczne czyszczenie. Kiedy jeśli włączysz to ustawienie, anonimowe konta starsze niż 30 dni będą automatycznie Usunięto. W projektach z włączonym automatycznym czyszczeniem anonimowe uwierzytelnianie nie będzie nie są już wliczane do limitów wykorzystania ani limitów rozliczeniowych. Zobacz Czyszczenie automatyczne.

Uwierzytelniaj anonimowo w Firebase

Gdy wylogowany użytkownik używa funkcji aplikacji, która wymaga uwierzytelnienia za pomocą Zaloguj się anonimowo w Firebase, wykonując te czynności:

Klasa FirebaseAuth jest bramą dla wszystkich wywołań interfejsu API. Jest dostępna przez FirebaseAuth.DefaultInstance.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
1. Zadzwoń pod numer 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.AuthResult result = task.Result;
  Debug.LogFormat("User signed in successfully: {0} ({1})",
      result.User.DisplayName, result.User.UserId);
});

Przekształcanie konta anonimowego w konto stałe

Gdy anonimowy użytkownik zarejestruje się w Twojej aplikacji, możesz mu na to zezwolić kontynuowanie pracy na nowym koncie – np. Dodawaj produkty do koszyka, zanim użytkownik się zarejestrował dostępnych w koszyku na zakupy nowego konta. W tym celu wykonaj następujące czynności: kroki:

  1. Gdy użytkownik się zarejestruje, dokończ proces logowania na stronie do dostawcy uwierzytelniania do wywołania jednego z Firebase.Auth.FirebaseAuth.SignInAndRetrieveDataWithCredentialAsync. Na przykład możesz uzyskać token identyfikatora Google użytkownika, Token dostępu Facebooka lub adres e-mail i hasło.
  2. Pobierz Firebase.Auth.Credential dla nowego dostawcy uwierzytelniania:

  3. Przekaż obiekt Firebase.Auth.Credential do folderu zalogowanego użytkownika Metoda LinkWithCredentialAsync:

Jeśli wywołanie LinkWithCredentialAsync się powiedzie, nowe konto użytkownika będzie mogło uzyskać dostęp do danych Firebase anonimowego konta.

Czyszczenie automatyczne

Po przeniesieniu projektu do Firebase Authentication with Identity Platform możesz: włącz automatyczne czyszczenie w konsoli Firebase. Po włączeniu tej funkcji zezwalasz Firebase automatycznie usuwa anonimowe konta starsze niż 30 dni. W projektach z automatyczną włączone czyszczenie danych, anonimowe uwierzytelnianie nie jest wliczane do limitów wykorzystania ani limitów płatności.

  • Wszystkie anonimowe konta utworzone po włączeniu automatycznego czyszczenia mogą zostać automatycznie można usunąć w dowolnym momencie po 30 dniach od utworzenia.
  • Istniejące anonimowe konta będą mogły zostać automatycznie usunięte po 30 dniach włączenie automatycznego czyszczenia.
  • Jeśli wyłączysz automatyczne czyszczenie, wszystkie anonimowe konta przeznaczone do usunięcia pozostaną aktywne. do usunięcia.
  • Po przejściu na nową wersję anonimowe konto, łącząc je z dowolną metodą logowania, nie zostaną automatycznie usunięte.

Jeśli chcesz sprawdzić, ilu użytkowników wpłynie na to, zanim włączysz tę funkcję i projekt został uaktualniony do Firebase Authentication with Identity Platform, możesz filtrować według tych kryteriów: is_anon w Cloud Logowanie.

Dalsze kroki

Teraz, gdy użytkownicy mogą uwierzytelniać się w Firebase, możesz kontrolować ich dostęp do w bazie danych Firebase za pomocą Reguły Firebase.