Esegui l'autenticazione utilizzando Accedi con Google e Unity

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.

di Gemini Advanced.

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

  1. Segui le istruzioni per Android e iOS+. per ottenere un token ID per Accedi con Google.
  2. 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();