Geçici anonim hesaplar oluşturmak ve kullanmak için Firebase Authentication'ı kullanabilirsiniz. Firebase ile kimlik doğrulama. Bu geçici anonim hesaplar şu amaçlarla kullanılabilir: henüz uygulamanıza kaydolmamış kullanıcıların verilerle korunan verilerle çalışmasını sağlar izin verir. Anonim bir kullanıcı uygulamanıza kaydolmaya karar verirse: oturum açma kimlik bilgilerini anonim hesaba bağlamasını sağlar. Böylece sonraki oturumlarda korunan verileriyle çalışmaya devam edebilirler.
Başlamadan önce
Henüz yapmadıysanız Başlangıç kılavuzundaki adımları uygulayın.
Anonim oturum açmayı etkinleştir:
- Firebase konsolunun Kimlik Doğrulama bölümünde Oturum açma yöntemi sayfasını ziyaret edin.
- Oturum açma yöntemi sayfasından Anonim oturum açma'yı etkinleştirin. yöntemini seçin ve Kaydet'i tıklayın.
Firebase ile anonim olarak kimlik doğrulama
Oturumu kapalı olan bir kullanıcı,
Firebase, signInAnonymously()
numaralı telefonu arayarak kullanıcının anonim olarak oturum açmasını sağlayın:
try {
final userCredential =
await FirebaseAuth.instance.signInAnonymously();
print("Signed in with temporary account.");
} on FirebaseAuthException catch (e) {
switch (e.code) {
case "operation-not-allowed":
print("Anonymous auth hasn't been enabled for this project.");
break;
default:
print("Unknown error.");
}
}
Anonim bir hesabı kalıcı hesaba dönüştürme
Anonim bir kullanıcı uygulamanıza kaydolduğunda, bu kişilerin uygulamanızı veya oyununuzu yeni hesabıyla çalışmaya devam edebilir. Örneğin, Kullanıcının kaydolmadan önce alışveriş sepetine eklediği öğeleri yapma Yeni hesabının alışveriş sepetinde bulunabilir. Bunun için aşağıdaki adımları uygulayın: için şu adımları izleyin:
Kullanıcı kaydolduğunda, kullanıcının en az bir yetkili sağlayıcıdan birini çağırarak
signInWith
- yöntemleri. Örneğin, kullanıcının Google kimliği jetonunu alın. Facebook erişim jetonu veya e-posta adresi ve şifre.Yeni kimlik doğrulama sağlayıcı için bir
Credential
nesnesi alın:// Google Sign-in final credential = GoogleAuthProvider.credential(idToken: idToken); // Email and password sign-in final credential = EmailAuthProvider.credential(email: emailAddress, password: password); // Etc.
Credential
nesnesini, oturum açan kullanıcınınlinkWithCredential()
cihazına iletin yöntem:try { final userCredential = await FirebaseAuth.instance.currentUser ?.linkWithCredential(credential); } on FirebaseAuthException catch (e) { switch (e.code) { case "provider-already-linked": print("The provider has already been linked to the user."); break; case "invalid-credential": print("The provider's credential is not valid."); break; case "credential-already-in-use": print("The account corresponding to the credential already exists, " "or is already linked to a Firebase User."); break; // See the API reference for the full list of error codes. default: print("Unknown error."); } ```
linkWithCredential()
çağrısı başarılı olursa kullanıcının yeni hesabı:
Anonim hesabın Firebase verilerine erişebilir.
Sonraki adımlar
Bir kullanıcı yeni bir hesap oluşturduktan sonra bu hesap, ve Firebase'deki tüm uygulamalarda bir kullanıcıyı tanımlamak için kullanılabilir. bir web sitesini ziyaret eder.
Uygulamalarınızda, kullanıcıların temel profil bilgilerini şuradan alabilirsiniz:
User
nesne algılandı. Kullanıcıları Yönetme başlıklı makaleye göz atın.
Firebase Realtime Database ve Cloud Storage Güvenlik Kurallarınızda şunları yapabilirsiniz:
oturum açmış kullanıcının benzersiz kullanıcı kimliğini auth
değişkeninden alın ve aşağıdaki işlemler için kullanın:
Kullanıcının hangi verilere erişebileceğini kontrol etmek
Kullanıcıların çoklu kimlik doğrulama kullanarak uygulamanızda oturum açmasına izin verebilirsiniz yetkilendirme sağlayıcı kimlik bilgilerini bağlayarak) bir mevcut kullanıcı hesabı.
Bir kullanıcının oturumunu kapatmak için signOut()
numaralı telefonu arayın:
await FirebaseAuth.instance.signOut();