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 zasobami, konta, aby mogły nadal korzystać ze swoich danych chronionych .

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ł uaktualniony do wersji 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.