Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Google ile Oturum Açma ve Unity'yi Kullanarak Kimlik Doğrulama

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Google Sign-In'i uygulamanıza entegre ederek, kullanıcılarınızın Google Hesaplarını kullanarak Firebase ile kimlik doğrulaması yapmasına izin verebilirsiniz.

Sen başlamadan önce

Firebase Authentication'ı kullanmadan önce ş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 Unity projenize taşırsınız).

Firebase.Auth.FirebaseAuth sınıfına erişin

FirebaseAuth sınıfı, tüm API çağrıları için ağ geçididir. FirebaseAuth.DefaultInstance aracılığıyla erişilebilir.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

Firebase ile kimlik doğrulaması yapın

  1. Google'da oturum açmak için bir kimlik belirteci almak üzere Android ve iOS+ talimatlarını izleyin.
  2. Bir kullanıcı başarıyla oturum açtıktan sonra, erişim jetonunu bir 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.GoogleAuthProvider.GetCredential(googleIdToken, googleAccessToken);
    auth.SignInWithCredentialAsync(credential).ContinueWith(task => {
      if (task.IsCanceled) {
        Debug.LogError("SignInWithCredentialAsync was canceled.");
        return;
      }
      if (task.IsFaulted) {
        Debug.LogError("SignInWithCredentialAsync encountered an error: " + task.Exception);
        return;
      }
    
      Firebase.Auth.FirebaseUser newUser = task.Result;
      Debug.LogFormat("User signed in successfully: {0} ({1})",
          newUser.DisplayName, newUser.UserId);
    });
    

Sonraki adımlar

Bir kullanıcı ilk kez oturum açtıktan sonra, yeni bir kullanıcı hesabı oluşturulur ve oturum açtığı kullanıcı adı ve parolası, telefon numarası veya yetkilendirme sağlayıcı bilgileri gibi kimlik bilgileriyle ilişkilendirilir. Bu yeni hesap, Firebase projenizin bir parçası olarak depolanır ve kullanıcının nasıl oturum açtığından bağımsız olarak 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ınız ve Bulut Depolama Güvenlik Kurallarınızda , oturum açmış kullanıcının benzersiz kullanıcı kimliğini auth değişkeninden alabilir ve bunu bir kullanıcının hangi verilere erişebileceğini kontrol etmek için kullanabilirsiniz.

Kimlik doğrulama sağlayıcısı kimlik bilgilerini mevcut bir kullanıcı hesabına bağlayarak, kullanıcıların birden çok kimlik doğrulama sağlayıcısı kullanarak uygulamanızda oturum açmasına izin verebilirsiniz.

Bir kullanıcının oturumunu kapatmak için SignOut() 'u arayın:

auth.SignOut();