Esegui l'autenticazione utilizzando Accedi con Google e Unity
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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
- 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();
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-08 UTC.
[null,null,["Ultimo aggiornamento 2025-08-08 UTC."],[],[],null,["You can let your users authenticate with Firebase using their Google Accounts by\nintegrating Google Sign-In into your app.\n\nBefore you begin\n\nBefore you can use\n[Firebase Authentication](/docs/reference/unity/namespace/firebase/auth),\nyou need to:\n\n- Register your Unity project and configure it to use Firebase.\n\n - If your Unity project already uses Firebase, then it's already\n registered and configured for Firebase.\n\n - If you don't have a Unity project, you can download a\n [sample app](//github.com/google/mechahamster).\n\n- Add the [Firebase Unity SDK](/download/unity) (specifically, `FirebaseAuth.unitypackage`) to\n your Unity project.\n\n| **Find detailed instructions for these initial\n| setup tasks in\n| [Add Firebase to your Unity project](/docs/unity/setup#prerequisites).**\n\nNote that adding Firebase to your Unity project involves tasks both in the\n[Firebase console](//console.firebase.google.com/) and in your open Unity project\n(for example, you download Firebase config files from the console, then move\nthem into your Unity project).\n\nAccess the `Firebase.Auth.FirebaseAuth` class The `FirebaseAuth` class is the gateway for all API calls. It is accessible through [FirebaseAuth.DefaultInstance](/docs/reference/unity/class/firebase/auth/firebase-auth#defaultinstance). \n\n```c#\nFirebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;\n```\n\nAuthenticate with Firebase\n\n1. Follow instructions for [Android](/docs/auth/android/google-signin#authenticate_with_firebase) and [iOS+](/docs/auth/ios/google-signin#2_implement_google_sign-in) to get an ID token for the Google sign in.\n2. After a user successfully signs in, exchange the access token for a Firebase credential, and authenticate with Firebase using the Firebase credential: \n\n ```c#\n Firebase.Auth.Credential credential =\n Firebase.Auth.GoogleAuthProvider.GetCredential(googleIdToken, googleAccessToken);\n auth.SignInAndRetrieveDataWithCredentialAsync(credential).ContinueWith(task =\u003e {\n if (task.IsCanceled) {\n Debug.LogError(\"SignInAndRetrieveDataWithCredentialAsync was canceled.\");\n return;\n }\n if (task.IsFaulted) {\n Debug.LogError(\"SignInAndRetrieveDataWithCredentialAsync encountered an error: \" + task.Exception);\n return;\n }\n\n Firebase.Auth.AuthResult result = task.Result;\n Debug.LogFormat(\"User signed in successfully: {0} ({1})\",\n result.User.DisplayName, result.User.UserId);\n });\n ```\n\nNext Steps\n\nAfter a user signs in for the first time, a new user account is created and\nlinked to the credentials---that is, the user name and password, phone\nnumber, or auth provider information---the user signed in with. This new\naccount is stored as part of your Firebase project, and can be used to identify\na user across every app in your project, regardless of how the user signs in.\n\n- In your apps, you can get the user's basic profile information from the\n [`Firebase.Auth.FirebaseUser`](/docs/reference/unity/class/firebase/auth/firebase-user) object:\n\n ```c#\n Firebase.Auth.FirebaseUser user = auth.CurrentUser;\n if (user != null) {\n string name = user.DisplayName;\n string email = user.Email;\n System.Uri photo_url = user.PhotoUrl;\n // The user's Id, unique to the Firebase project.\n // Do NOT use this value to authenticate with your backend server, if you\n // have one; use User.TokenAsync() instead.\n string uid = user.UserId;\n }\n ```\n- In your Firebase Realtime Database and Cloud Storage\n [Security Rules](/docs/database/security/user-security), you can\n get the signed-in user's unique user ID from the `auth` variable,\n and use it to control what data a user can access.\n\nYou can allow users to sign in to your app using multiple authentication\nproviders by [linking auth provider credentials to an\nexisting user account.](/docs/auth/unity/account-linking)\n\nTo sign out a user, call [`SignOut()`](/docs/reference/unity/class/firebase/auth/firebase-auth#signout): \n\n```c#\nauth.SignOut();\n```"]]