Memulai Firebase Invites untuk Unity

Untuk menulis aplikasi klien Firebase Invites lintas platform dengan Unity, gunakan API Firebase Invites.

Sebelum memulai

Sebelum dapat menggunakan Firebase Invites, Anda harus:

  • Mendaftarkan project Unity Anda dan mengonfigurasikannya untuk menggunakan Firebase.

    • Jika project Unity Anda telah menggunakan Firebase, berarti project tersebut telah terdaftar dan dikonfigurasikan untuk Firebase.

    • Jika belum memiliki project Unity, Anda dapat mendownload aplikasi contoh.

  • Menambahkan Firebase Unity SDK (khususnya, FirebaseInvites.unitypackage) ke project Unity Anda.

Perlu diperhatikan bahwa menambahkan Firebase ke project Unity Anda melibatkan tugas di Firebase console dan di project Unity yang terbuka (misalnya, Anda mendownload file konfigurasi Firebase dari konsol, lalu memindahkannya ke project Unity).

Mengirim undangan

Mengonfigurasi undangan

Buat objek Invite baru untuk mengonfigurasi undangan:

var invite = new Firebase.Invites.Invite() {
    TitleText = "Invites Test App",
    MessageText = "Please try my app! It's awesome.",
    CallToActionText = "Download it for FREE",
    DeepLinkUrl = "http://google.com/abc"
}

Lihat di sini untuk daftar lengkap setelan undangan.

Untuk mengetahui informasi lebih lanjut mengenai cara menyesuaikan undangan, lihat Firebase Invites: Praktik Terbaik.

Mengirim undangan

Setelah Anda siap menampilkan undangan, panggil SendInviteAsync():

FirebaseInvites.SendInviteAsync(invite);

UI klien Invites akan ditampilkan, di mana pengguna dapat memilih penerima dan mengubah pesan, jika ingin. UI ini akan tetap berada di layar hingga pengguna memilih untuk mengirimkan atau membatalkan undangan.

SendInviteAsync() muncul dengan seketika dan menampilkan UI secara asinkron. Panggilan ini akan menampilkan hasilnya melalui System.Threading.Tasks.Task yang dapat Anda kueri untuk mengetahui apakah undangan terkirim atau tidak dan menentukan kapan UI tidak lagi berada di layar. Anda juga dapat menggunakan metode ContinueWith untuk memicu kode secara otomatis begitu proses ini selesai.

Berikut ini contoh pengiriman undangan dan pembacaan hasilnya:

public void SendInvite() {
  Debug.Log("Sending an invitation...");
  var invite = new Firebase.Invites.Invite() {
    TitleText = "Invites Test App",
    MessageText = "Please try my app! It's awesome.",
    CallToActionText = "Download it for FREE",
    DeepLinkUrl = "http://google.com/abc"
  }
  Firebase.Invites.FirebaseInvites
    .SendInviteAsync(invite).ContinueWith(HandleSentInvite);
}

void HandleSentInvite(Task< Firebase.Invites.SendInviteResult > sendTask) {
  if (sendTask.IsCanceled) {
    Debug.Log("Invitation canceled.");
  } else if (sendTask.IsFaulted) {
    Debug.Log("Invitation encountered an error:");
    Debug.Log(sendTask.Exception.ToString());
  } else if (sendTask.IsCompleted) {
    int inviteCount = (new List(sendTask.Result.InvitationIds)).Count;
    Debug.Log("SendInvite: " + inviteCount + " invites sent successfully.");
    foreach (string id in sendTask.Result.InvitationIds) {
      Debug.Log("SendInvite: Invite code: " + id);
    }
  }
}

Undangan lintas platform

Jika project di Firebase console memuat persis satu aplikasi untuk setiap platform, Firebase Invites akan mengaitkan aplikasi satu sama lain secara otomatis, sehingga (misalnya) pengguna iOS yang mengklik undangan yang dikirim oleh pengguna Android akan diarahkan ke tempat yang tepat untuk menginstal aplikasi Anda pada platform mereka.

Jika memiliki lebih dari satu aplikasi di setiap platform, Anda dapat menetapkan AndroidPlatformClientId atau IOSPlatformClientId dengan meneruskan ID klien Firebase untuk aplikasi tersebut pada platform alternatif.

Menerima undangan

Saat menerima undangan dan jika belum menginstal aplikasi, pengguna dapat memilih untuk menginstal aplikasi itu dari toko aplikasi platformnya.

Selanjutnya, setelah diinstal atau jika sudah terinstal, aplikasi akan berjalan dan menerima URL ke kontennya jika Anda mengirimkannya. Aplikasi juga akan menerima ID undangan yang cocok dengan ID undangan pada sisi pengirim.

Mendaftar untuk menerima undangan masuk

Untuk memeriksa undangan, Anda harus mendaftar ke peristiwa InviteReceived.

void Start() {
    Firebase.Invites.FirebaseInvites.InviteReceived += OnInviteReceived;
    Firebase.Invites.FirebaseInvites.InviteNotReceived += OnInviteNotReceived;
    Firebase.Invites.FirebaseInvites.ErrorReceived += OnErrorReceived;
}

void OnInviteReceived(object sender,
                      Firebase.Invites.InviteReceivedEventArgs e) {
  if (e.InvitationId != "") {
    Debug.Log("Invite received: Invitation ID: " + e.InvitationId);
    Firebase.Invites.FirebaseInvites.ConvertInvitationAsync(
        e.InvitationId).ContinueWith(HandleConversionResult);
  }
  if (e.DeepLink.ToString() != "") {
    Debug.Log("Invite received: Deep Link: " + e.DeepLink);
  }
}

void OnInviteNotReceived(object sender, System.EventArgs e) {
  Debug.Log("No Invite or Deep Link received on start up");
}

void OnErrorReceived(object sender,
                     Firebase.Invites.InviteErrorReceivedEventArgs e) {
  Debug.LogError("Error occurred received the invite: " + e.ErrorMessage);
}

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.