Ditulis oleh Jumana Al Hashal, Product Manager Firebase

Firebase Dynamic Links memberi Anda sebuah tautan yang bisa mengirim pengguna ke aplikasi iOS atau Android, jika mereka menginstallnya, atau ke listing yang sesuai di App Store atau Google Play, jika mereka tidak menginstallnya. Tidak hanya itu, Dynamic Links akan membuat deep link pengguna dengan konten yang mereka cari, bahkan jika dalam prosesnya mereka harus menginstal aplikasi.

Kami telah bekerja keras selama setahun terakhir untuk menjadikan pengalaman ini lebih mulus dan lebih hebat bagi developer dan pengguna, dan kami sangat senang bisa memberikan rangkaian penyempurnaan terbaru bagi developer di iOS dan Android SDK.

Membangun Dynamic Links, Secara Dinamis


Membuat Dynamic Links melalui Firebase Console sangat bagus untuk kampanye promosi, namun kami mendengar dari developer bahwa mereka perlu membuat kampanye sharing pengguna-ke-pengguna secara terprogram dari dalam aplikasi.

Untuk membantu Anda melakukannya, kami telah menambahkan dukungan untuk menghasilkan dynamic links panjang dan pendek ke iOS dan Android Firebase SDK, yang menjadikannya lebih cepat dan mudah untuk mendukung jenis penggunaan ini:

iOS:

guard let deepLink = URL(string: "https://mydomain.com/page?param=value") else { return }

let components = DynamicLinkComponents(link: deepLink, domain: domain)

let iOSParams = DynamicLinkIOSParameters(bundleID: bundleID)
iOSParams.minimumAppVersion = minVersion
components.iOSParameters = iOSParams

// Build the dynamic link
let link = components.url

// Or create a shortened dynamic link 
components.shorten { (shortURL, warnings, error) in
      if let error = error {
        print(error.localizedDescription)
        return
      }
      
    // TODO: Handle shortURL.
    }

Android:

String deepLink = "https://mydomain.com/page?param=value";

DynamicLink.Builder builder = FirebaseDynamicLinks.getInstance()
        .createDynamicLink()
        .setDynamicLinkDomain(domain)
        .setAndroidParameters(new DynamicLink.AndroidParameters.Builder()
                .setMinimumVersion(minVersion)
                .build())
        .setLink(deepLink);

// Build the dynamic link
DynamicLink link = builder.buildDynamicLink();

// Or create a shortened dynamic link 
builder.buildShortDynamicLink()
        .addOnSuccessListener(new OnSuccessListener() {
            @Override
            public void onSuccess(ShortDynamicLink shortDynamicLink) {
                // 
            }
        });

Android API Baru


Kami juga telah membangun kembali Android API dari awal sehingga bisa lebih mudah menangani Dynamic Links yang masuk ke aplikasi Anda, dengan kelas FirebaseDynamicLinks yang baru. Anda bisa menambahkan koleksi baru dengan menambahkan kode berikut ke build.gradle Anda:
compile "com.google.firebase:firebase-dynamic-links:11.0.0"
Kemudian memproses Dynamic Link yang masuk bisa dilakukan dengan mudah dalam aktivitas yang diluncurkan:
FirebaseDynamicLinks.getInstance().getDynamicLink(getIntent())
  .addOnSuccessListener(
    new OnSuccessListener() {
      @Override
      public void onSuccess(PendingDynamicLinkData data) {
      if (data == null || data.getLink() == null) {
        // No FDL pending for this app, don't do anything.
        return;
      }

      Intent launchIntent = data.getUpdateAppIntent(MainActivity.this);
      if (launchIntent != null) {
        startActivity(launchIntent); // launch upgrade flow.
      }

     Uri deepLink = dynamicLink.getLink();
     String myAppItemId = deepLink.getQueryParameter("myAppItemId");
     // TODO(developer): Display content for myAppItemId here! 
    }
});

Seperti biasa, jika Anda memiliki pertanyaan atau masukan tentang API yang baru, silakan menghubungi kami melalui salah satu saluran pada laman dukungan.