Du kannst Firebase Authentication verwenden, um Nutzern zu erlauben, sich mit einem Konto in deinem Spiel anzumelden oder mehr Anmeldemethoden, einschließlich Anmeldung mit E-Mail-Adresse und Passwort, und Anbieter föderierter Identitäten wie Google Log-in und Facebook Login. Dieses Anleitung für den Einstieg in Firebase Authentication, indem Sie zeigen, wie Sie E-Mail-Adresse und Passwort für die Anmeldung in deinem Spiel.
Hinweis
Bevor Sie Firebase Authentication verwenden können, müssen Sie Folgendes tun:
Registrieren Sie Ihr Unity-Projekt und konfigurieren Sie es für die Verwendung von Firebase.
Wenn Ihr Unity-Projekt bereits Firebase verwendet, registriert und für Firebase konfiguriert.
Wenn Sie kein Unity-Projekt haben, können Sie Beispiel-App.
Fügen Sie das Firebase Unity SDK (insbesondere
FirebaseAuth.unitypackage
) hinzu: Ihr Unity-Projekt.
Das Hinzufügen von Firebase zu Ihrem Unity-Projekt umfasst Aufgaben sowohl in der FirebaseConsole als auch in Ihrem geöffneten Unity-Projekt. Sie laden beispielsweise Firebase-Konfigurationsdateien aus der Console herunter und verschieben sie dann in Ihr Unity-Projekt.
Neue Nutzer anmelden
Erstellen Sie ein Formular, mit dem sich neue Nutzer mit ihrer E-Mail-Adresse und einem Passwort in Ihrem Spiel registrieren können. Validieren Sie die E-Mail, wenn ein Nutzer das Formular ausfüllt.
die vom Nutzer angegebene Adresse und das zugehörige Passwort
CreateUserWithEmailAndPasswordAsync
-Methode:
auth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
if (task.IsCanceled) {
Debug.LogError("CreateUserWithEmailAndPasswordAsync was canceled.");
return;
}
if (task.IsFaulted) {
Debug.LogError("CreateUserWithEmailAndPasswordAsync encountered an error: " + task.Exception);
return;
}
// Firebase user has been created.
Firebase.Auth.AuthResult result = task.Result;
Debug.LogFormat("Firebase user created successfully: {0} ({1})",
result.User.DisplayName, result.User.UserId);
});
Vorhandene Nutzer anmelden
Erstellen Sie ein Formular, über das sich bestehende Nutzer mit ihrer E-Mail-Adresse anmelden können
und Passwort. Rufen Sie die Methode SignInWithEmailAndPasswordAsync
auf, wenn ein Nutzer das Formular ausgefüllt hat:
auth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
if (task.IsCanceled) {
Debug.LogError("SignInWithEmailAndPasswordAsync was canceled.");
return;
}
if (task.IsFaulted) {
Debug.LogError("SignInWithEmailAndPasswordAsync 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);
});
Event-Handler für die Änderung des Authentifizierungsstatus festlegen und Nutzerdaten abrufen
Um auf An- und Abmeldeereignisse zu reagieren, hängen Sie einen Event-Handler an den globalen Authentifizierungsobjekt. Dieser Handler wird immer dann aufgerufen, wenn sich Statusänderungen. Da der Handler erst ausgeführt wird, nachdem das Authentifizierungsobjekt vollständig initialisiert ist. Nachdem Netzwerkaufrufe abgeschlossen sind, um Informationen zum angemeldeten Nutzer zu erhalten.
Event-Handler mit dem StateChanged
des FirebaseAuth
-Objekts registrieren
ein. Wenn sich ein Nutzer erfolgreich angemeldet hat, können Sie Informationen über ihn abrufen.
im Event-Handler.
Wenn schließlich Destroy
für dieses Objekt aufgerufen wird, ruft es automatisch
OnDestroy
. Bereinigen Sie die Verweise des Auth-Objekts in OnDestroy
.
void InitializeFirebase() {
auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
auth.StateChanged += AuthStateChanged;
AuthStateChanged(this, null);
}
void AuthStateChanged(object sender, System.EventArgs eventArgs) {
if (auth.CurrentUser != user) {
bool signedIn = user != auth.CurrentUser && auth.CurrentUser != null
&& auth.CurrentUser.IsValid();
if (!signedIn && user != null) {
DebugLog("Signed out " + user.UserId);
}
user = auth.CurrentUser;
if (signedIn) {
DebugLog("Signed in " + user.UserId);
displayName = user.DisplayName ?? "";
emailAddress = user.Email ?? "";
photoUrl = user.PhotoUrl ?? "";
}
}
}
void OnDestroy() {
auth.StateChanged -= AuthStateChanged;
auth = null;
}
Nächste Schritte
Weitere Informationen zum Hinzufügen der Unterstützung für andere Identitätsanbieter und anonyme Gäste Konten: