Uygulamanıza Facebook Girişi'ni entegre ederek kullanıcılarınızın Facebook hesaplarını kullanarak Firebase ile kimlik doğrulaması yapmalarını sağlayabilirsiniz.
Sen başlamadan önce
Firebase Authentication'ı kullanabilmeniz için şunları yapmanız gerekir:
Unity projenizi kaydedin ve Firebase'i kullanacak şekilde yapılandırın.
Unity projeniz zaten Firebase kullanıyorsa Firebase için zaten kayıtlı ve yapılandırılmıştır.
Unity projeniz yoksa örnek bir uygulama indirebilirsiniz.
Firebase Unity SDK'sını (özellikle
FirebaseAuth.unitypackage
) Unity projenize ekleyin.
Firebase'i Unity projenize eklemenin hem Firebase konsolundaki hem de açık Unity projenizdeki görevleri içerdiğini unutmayın (örneğin, Firebase yapılandırma dosyalarını konsoldan indirir ve ardından bunları Unity projenize taşırsınız).
Firebase.Auth.FirebaseAuth
sınıfına erişme
FirebaseAuth
sınıfı, tüm API çağrılarının ağ geçididir. FirebaseAuth.DefaultInstance aracılığıyla erişilebilir.Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
Firebase ile kimlik doğrulama
- Oturum açan Facebook kullanıcısı için bir erişim belirteci almak üzere Android ve iOS+ talimatlarını izleyin.
- Kullanıcı başarıyla oturum açtıktan sonra erişim jetonunu Firebase kimlik bilgisi ile değiştirin ve Firebase kimlik bilgisini kullanarak Firebase ile kimlik doğrulaması yapın:
Firebase.Auth.Credential credential = Firebase.Auth.FacebookAuthProvider.GetCredential(accessToken); 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); });
Sonraki adımlar
Bir kullanıcı ilk kez oturum açtıktan sonra, yeni bir kullanıcı hesabı oluşturulur ve oturum açan kullanıcının kimlik bilgileriyle (yani kullanıcı adı ve parolası, telefon numarası veya kimlik doğrulama sağlayıcı bilgileri) ilişkilendirilir. Bu yeni hesap, Firebase projenizin bir parçası olarak depolanır ve kullanıcının nasıl oturum açtığına bakılmaksızın projenizdeki her uygulamada bir kullanıcıyı tanımlamak için kullanılabilir.
Uygulamalarınızda kullanıcının temel profil bilgilerini
Firebase.Auth.FirebaseUser
nesnesinden alabilirsiniz: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; }
Firebase Gerçek Zamanlı Veritabanı ve Bulut Depolama Güvenliği Kurallarınızda , oturum açan kullanıcının benzersiz kullanıcı kimliğini
auth
değişkeninden alabilir ve bunu, kullanıcının hangi verilere erişebileceğini kontrol etmek için kullanabilirsiniz.
Bir kullanıcının oturumunu kapatmak için SignOut()
öğesini çağırın:
auth.SignOut();