Membuat Dynamic Links dengan Unity

Anda dapat membuat Dynamic Link pendek atau panjang dengan Firebase Dynamic Links API. API ini mengambil beberapa struktur parameter opsional untuk membuat link. Link pendek juga dapat dibuat dari link panjang yang dihasilkan sebelumnya. Dynamic Links API akan menghasilkan URL seperti berikut:

https://example.page.link/aSDf

Sebelum memulai

Sebelum dapat menggunakan Firebase Dynamic Links, Anda harus:

  • Mendaftarkan project Unity Anda dan mengonfigurasikannya untuk menggunakan Firebase.

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

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

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

Perlu diperhatikan bahwa penambahan Firebase ke project Unity Anda memerlukan tindakan baik di Firebase console maupun di project Unity yang terbuka (misalnya, Anda mendownload file konfigurasi Firebase dari console, lalu memindahkannya ke project Unity).

Menetapkan awalan URI Dynamic Links

  1. Di Firebase console, buka bagian Dynamic Links.

  2. Jika Anda belum menyetujui persyaratan layanan dan menetapkan awalan URI untuk Dynamic Link, lakukanlah saat diminta.

    Jika Anda sudah memiliki awalan URI Dynamic Links, catatlah. Anda harus menyediakan awalan URI Dynamic Links ketika membuat Dynamic Links secara terprogram.

  3. Direkomendasikan: Tentukan pola URL yang diizinkan di deep link dan link fallback. Dengan begitu, pihak yang tidak diberi otorisasi tidak dapat membuat Dynamic Link yang mengalihkan pengguna dari domain Anda ke situs yang tidak Anda kontrol. Lihat Pola URL yang diizinkan.

Menggunakan Firebase console

Jika Anda ingin membuat Dynamic Link tunggal, baik untuk tujuan pengujian, atau untuk memudahkan tim pemasaran Anda ketika membuat link untuk digunakan pada postingan media sosial misalnya, cara yang paling mudah adalah dengan mengunjungi Firebase console dan membuatnya secara manual dengan mengikuti petunjuk langkah demi langkah.

Domain kustom

Anda dapat memiliki kontrol yang lebih besar atas branding Dynamic Link dengan menggunakan domain Anda sendiri, bukan subdomain goo.gl atau page.link. Ikuti petunjuk ini guna menyiapkan domain kustom untuk project Anda.

Menggunakan API Firebase Dynamic Link

Membuat Dynamic Link panjang dari parameter

Untuk membuat Dynamic Link, buat objek DynamicLinkComponents, dengan menetapkan salah satu anggota opsional untuk konfigurasi tambahan, lalu akses properti LongDynamicLink guna mendapatkan URL link.

Contoh minimal berikut membuat Dynamic Link panjang ke https://www.example.com/, yang terbuka dengan aplikasi Android Anda, yaitu com.example.android di Android dan aplikasi com.example.ios di iOS:

var components = new Firebase.DynamicLinks.DynamicLinkComponents(
    // The base Link.
    new System.Uri("https://www.example.com/"),
    // The dynamic link URI prefix.
    "https://example.page.link") {
      IOSParameters = new Firebase.DynamicLinks.IOSParameters("com.example.ios"),
      AndroidParameters = new Firebase.DynamicLinks.AndroidParameters(
        "com.example.android.package_name"),
    };
// do something with: components.LongDynamicLink

Membuat Dynamic Link pendek

Untuk membuat Dynamic Link pendek, teruskan link panjang yang dihasilkan sebelumnya ke Firebase.DynamicLinks.GetShortLinkAsync, atau buat DynamicLinkComponents dengan cara yang sama seperti di atas.

GetShortLinkAsync secara opsional membutuhkan parameter konfigurasi DynamicLinkOptions tambahan dengan PathLength. Dengan demikian, Anda dapat mengontrol cara pembuatan link. Pembuatan link pendek memerlukan permintaan jaringan ke backend Firebase, sehingga metode GetShortLinkAsync dijalankan secara asinkron. GetShortLinkAsync menampilkan nilai Task<Firebase.DynamicLinks.ShortDynamicLink>.

Contoh:

var options = new Firebase.DynamicLinks.DynamicLinkOptions {
  PathLength = DynamicLinkPathLength.Unguessable
};

Firebase.DynamicLinks.DynamicLinks.GetShortLinkAsync(components, options).ContinueWith(task => {
  if (task.IsCanceled) {
    Debug.LogError("GetShortLinkAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("GetShortLinkAsync encountered an error: " + task.Exception);
    return;
  }

  // Short Link has been created.
  Firebase.DynamicLinks.ShortDynamicLink link = task.Result;
  Debug.LogFormat("Generated short link {0}", link.Url);

  var warnings = new System.Collections.Generic.List<string>(link.Warnings);
  if (warnings.Count > 0) {
    // Debug logging for warnings generating the short link.
  }
});

Contoh di atas menggunakan ekspresi lambda yang dipicu saat tugas selesai.