Puoi consentire agli utenti di eseguire l'autenticazione con Firebase utilizzando i loro Account Google integrando Accedi con Google nella tua app.
Prima di iniziare
Prima di poter utilizzare Firebase Authentication, devi:
Registra il tuo progetto Unity e configuralo per utilizzare Firebase.
Se il tuo progetto Unity utilizza già Firebase, è già registrati e configurati per Firebase.
Se non hai un progetto Unity, puoi scaricare un app di esempio.
Aggiungi l'SDK Firebase Unity (nello specifico,
FirebaseAuth.unitypackage
) a del tuo progetto Unity.
Tieni presente che l'aggiunta di Firebase al progetto Unity comporta attività sia nel Nella console Firebase e nel progetto Unity aperto Ad esempio, scarichi dalla console i file di configurazione di Firebase, quindi li sposti nel tuo progetto Unity).
Accedere al corso Firebase.Auth.FirebaseAuth
La classe FirebaseAuth
è il gateway per tutte le chiamate API.
È accessibile tramite FirebaseAuth.DefaultInstance.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
Esegui l'autenticazione con Firebase
- Segui le istruzioni per Android e iOS+. per ottenere un token ID per Accedi con Google.
- Dopo che un utente ha eseguito l'accesso, scambia il token di accesso con un
credenziali Firebase ed esegui l'autenticazione con Firebase
credenziale:
Firebase.Auth.Credential credential = Firebase.Auth.GoogleAuthProvider.GetCredential(googleIdToken, googleAccessToken); auth.SignInAndRetrieveDataWithCredentialAsync(credential).ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("SignInAndRetrieveDataWithCredentialAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("SignInAndRetrieveDataWithCredentialAsync 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); });
Passaggi successivi
Dopo che un utente ha eseguito l'accesso per la prima volta, viene creato un nuovo account utente e collegati alle credenziali, ovvero nome utente, password, numero o informazioni del provider di autenticazione, ovvero l'utente con cui ha eseguito l'accesso. Questo nuovo viene archiviato come parte del progetto Firebase e può essere utilizzato per identificare a un utente in ogni app del progetto, a prescindere da come esegue l'accesso.
-
Nelle tue app, puoi recuperare le informazioni di base del profilo dell'utente dall'oggetto
Firebase.Auth.FirebaseUser
:Firebase.Auth.FirebaseUser user = auth.CurrentUser; if (user != null) { string name = user.DisplayName; string email = user.Email; System.Uri photo_url = user.PhotoUrl; // The user's Id, unique to the Firebase project. // Do NOT use this value to authenticate with your backend server, if you // have one; use User.TokenAsync() instead. string uid = user.UserId; }
In Firebase Realtime Database e Cloud Storage Regole di sicurezza, puoi ottieni l'ID utente unico dell'utente che ha eseguito l'accesso dalla variabile
auth
, e usarli per controllare i dati a cui un utente può accedere.
Puoi consentire agli utenti di accedere alla tua app utilizzando più autenticazioni collegando le credenziali del provider di autenticazione a un a un account utente esistente.
Per disconnettere un utente, chiama
SignOut()
:
auth.SignOut();