Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Otentikasi Menggunakan Facebook Login dan Unity

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Anda dapat mengizinkan pengguna Anda mengautentikasi dengan Firebase menggunakan akun Facebook mereka dengan mengintegrasikan Facebook Login ke dalam aplikasi Anda.

Sebelum kamu memulai

Sebelum Anda dapat menggunakan Firebase Authentication , Anda perlu:

  • Daftarkan proyek Unity Anda dan konfigurasikan untuk menggunakan Firebase.

    • Jika proyek Unity Anda sudah menggunakan Firebase, maka proyek tersebut sudah terdaftar dan dikonfigurasi untuk Firebase.

    • Jika Anda tidak memiliki proyek Unity, Anda dapat mengunduh aplikasi sampel .

  • Tambahkan Firebase Unity SDK (khususnya, FirebaseAuth.unitypackage ) ke proyek Unity Anda.

Perhatikan bahwa menambahkan Firebase ke proyek Unity Anda melibatkan tugas di konsol Firebase dan di proyek Unity terbuka Anda (misalnya, Anda mengunduh file konfigurasi Firebase dari konsol, lalu memindahkannya ke proyek Unity Anda).

Akses kelas Firebase.Auth.FirebaseAuth

Kelas FirebaseAuth adalah gerbang untuk semua panggilan API. Itu dapat diakses melalui FirebaseAuth.DefaultInstance .
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;

Otentikasi dengan Firebase

  1. Ikuti petunjuk untuk Android dan iOS+ untuk mendapatkan token akses bagi pengguna Facebook yang masuk.
  2. Setelah pengguna berhasil masuk, tukarkan token akses dengan kredensial Firebase, dan autentikasi dengan Firebase menggunakan kredensial Firebase:
    Firebase.Auth.Credential credential =
        Firebase.Auth.FacebookAuthProvider.GetCredential(accessToken);
    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);
    });
    

Langkah selanjutnya

Setelah pengguna masuk untuk pertama kalinya, akun pengguna baru dibuat dan ditautkan ke kredensial—yaitu, nama pengguna dan sandi, nomor telepon, atau informasi penyedia autentikasi—yang digunakan pengguna untuk masuk. Akun baru ini disimpan sebagai bagian dari proyek Firebase Anda, dan dapat digunakan untuk mengidentifikasi pengguna di setiap aplikasi dalam proyek Anda, terlepas dari cara pengguna masuk.

  • Di aplikasi, Anda bisa mendapatkan informasi profil dasar pengguna dari objek Firebase.Auth.FirebaseUser :

    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;
    }
    
  • Dalam Aturan Keamanan Firebase Realtime Database dan Cloud Storage , Anda bisa mendapatkan ID pengguna unik pengguna yang masuk dari variabel auth , dan menggunakannya untuk mengontrol data apa yang dapat diakses pengguna.

Anda dapat mengizinkan pengguna masuk ke aplikasi Anda menggunakan beberapa penyedia autentikasi dengan menautkan kredensial penyedia autentikasi ke akun pengguna yang ada.

Untuk mengeluarkan pengguna, panggil SignOut() :

auth.SignOut();