Merhaba arkadaşlar! Bugün, Firebase kullanarak nasıl kimlik doğrulama yapabileceğimizi ve bu süreçte neler yapabileceğimizi inceleyeceğiz. Oyun projelerimizde kullanıcı kimliğini güvenli bir şekilde doğrulamak, kullanıcı deneyimini artırmak ve kullanıcı verilerini yönetmek için Firebase’in sunduğu olanaklardan faydalanabiliriz. Hadi başlayalım!
Firebase Kimlik Doğrulama Nedir?
Firebase kimlik doğrulama, kullanıcıların giriş yapması ve hesap yönetimi için sağlam bir altyapı sağlar. E-posta ve şifre ile kimlik doğrulamanın yanı sıra, Google, Facebook, Twitter gibi sosyal medya hesaplarıyla da kullanıcıların giriş yapmalarını destekler.
Firebase’i Projemize Eklemek
Firebase’i Unity projemize eklemek için öncelikle Firebase SDK’sını indirip, kurulum adımlarını tamamlamalıyız. Firebase’i kurduysanız, kimlik doğrulama işlemlerine geçebiliriz.
E-posta ve Şifre ile Kimlik Doğrulama
1. Kullanıcı Kaydı
Kullanıcı kaydı oluşturmak için CreateUserWithEmailAndPassword
metodunu kullanıyoruz. Bu metod, kullanıcıdan e-posta ve şifre alarak Firebase veritabanına yeni bir kullanıcı ekler.
using Firebase.Auth;
using UnityEngine;
public class AuthManager : MonoBehaviour
{
FirebaseAuth auth;
void Start()
{
auth = FirebaseAuth.DefaultInstance;
}
public void RegisterUser(string email, string password)
{
auth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
if (task.IsCompleted && !task.IsFaulted)
{
Debug.Log("Kullanıcı kaydı başarılı.");
}
else
{
Debug.LogError("Kullanıcı kaydı sırasında hata: " + task.Exception);
}
});
}
}
Bu kod, RegisterUser
fonksiyonu ile kullanıcı kaydı işlemini gerçekleştiriyor. İşlem başarılı olursa, konsola bir mesaj yazdırıyor.
2. Kullanıcı Girişi
Kullanıcı girişi yapmak için SignInWithEmailAndPassword
metodunu kullanıyoruz. Bu metod, kullanıcıdan e-posta ve şifre alarak giriş yapmasını sağlar.
public void LoginUser(string email, string password)
{
auth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
if (task.IsCompleted && !task.IsFaulted)
{
Debug.Log("Giriş başarılı.");
}
else
{
Debug.LogError("Giriş sırasında hata: " + task.Exception);
}
});
}
LoginUser
fonksiyonu, kullanıcıdan aldığı bilgilerle Firebase’de giriş yapmayı dener.
3. Kullanıcı Çıkışı
Kullanıcı çıkışı yapmak için SignOut
metodunu kullanabiliriz. Bu metod, mevcut kullanıcıyı oturumdan çıkarır.
public void LogoutUser()
{
auth.SignOut();
Debug.Log("Kullanıcı çıkış yaptı.");
}
Sosyal Medya ile Kimlik Doğrulama
Firebase, sosyal medya hesapları ile giriş yapmayı da destekler. Örneğin, Google ile kimlik doğrulama işlemi için öncelikle Google’ın API’lerini projeye eklememiz gerekiyor. Ardından kullanıcıdan Google hesap bilgilerini alarak giriş yapabiliriz.
public void SignInWithGoogle()
{
// Google Sign-In logic goes here
// Örnek olarak Google API kullanarak kimlik doğrulama
}
Kullanıcı Bilgilerini Yönetmek
Firebase, kullanıcıların bilgilerini yönetmek için bir User
nesnesi sağlar. Bu nesne üzerinden kullanıcının bilgilerine erişebiliriz.
void GetUserInfo()
{
FirebaseUser user = auth.CurrentUser;
if (user != null)
{
Debug.Log("Kullanıcı ID: " + user.UserId);
Debug.Log("E-posta: " + user.Email);
}
else
{
Debug.Log("Kullanıcı oturum açmamış.");
}
}
Bu örnek, giriş yapan kullanıcının bilgilerini konsola yazdırıyor.
Şifre Sıfırlama
Kullanıcıların şifrelerini unuttuklarında sıfırlama işlemi yapmak için SendPasswordResetEmailAsync
metodunu kullanabiliriz.
public void ResetPassword(string email)
{
auth.SendPasswordResetEmailAsync(email).ContinueWith(task => {
if (task.IsCompleted && !task.IsFaulted)
{
Debug.Log("Şifre sıfırlama e-postası gönderildi.");
}
else
{
Debug.LogError("Şifre sıfırlama sırasında hata: " + task.Exception);
}
});
}
Gerçek Zamanlı Güncellemeler
Firebase, kullanıcı oturumları ile ilgili değişiklikleri gerçek zamanlı olarak dinleyebilmemize olanak tanır. Bu, kullanıcıların oturum açma, kapama gibi durumlarını takip etmek için faydalıdır.
void Start()
{
auth.StateChanged += AuthStateChanged;
}
void AuthStateChanged(object sender, System.EventArgs e)
{
if (auth.CurrentUser != null)
{
Debug.Log("Kullanıcı oturum açtı: " + auth.CurrentUser.Email);
}
else
{
Debug.Log("Kullanıcı oturumu kapattı.");
}
}
Sonuç
Firebase ile kullanıcı kimlik doğrulama işlemleri, oyun projelerimizde güvenli ve etkili bir kullanıcı yönetimi sağlar. E-posta ve şifre ile kayıt, sosyal medya ile giriş, kullanıcı bilgileri yönetimi ve daha fazlasını kolaylıkla gerçekleştirebiliyoruz. Bu yazıda, Firebase kimlik doğrulama işlemlerinin temellerine değindik. Daha karmaşık kullanıcı yönetimi senaryoları için Firebase’in sağladığı diğer özellikleri de keşfetmeye devam edebiliriz.
Bir sonraki yazımda, Firebase’in daha gelişmiş özelliklerine ve örneklerine göz atacağız. Oyun geliştirme yolculuğunuzda başarılar dilerim!