Firebase Dynamic Links: apa itu, cara kerja dan penggunaannya dalam pengembangan

Penulis: IT Sectr Diterbitkan: 2026-05-14 Waktu membaca: 8 mnt

Firebase Dynamic Links adalah layanan Google untuk membuat tautan pintar yang mengarahkan pengguna ke tempat yang tepat di aplikasi, terlepas dari apakah aplikasi terinstal atau tidak. Menurut Firebase Documentation, Dynamic Links secara otomatis mengarahkan pengguna ke App Store atau Google Play jika aplikasi tidak ada dan memulihkan konteks transisi setelah instalasi. Tautan pintar Firebase memecahkan masalah URL Scheme yang tidak berfungsi dengan aplikasi yang tidak terinstal.

Poin utama

  • Firebase Dynamic Links — layanan Google untuk membuat tautan universal yang berfungsi di iOS dan Android dengan dukungan deferred deep link.
  • Deferred — keunggulan utama: tautan mempertahankan konteks transisi bahkan jika aplikasi tidak terinstal, dan memulihkannya setelah instalasi.
  • Analitik — Firebase secara otomatis melacak transisi melalui Dynamic Links dan menyediakan data di Firebase Analytics dan Google Analytics.
  • Platform — Dynamic Links bekerja di iOS (melalui Universal Links) dan Android (melalui App Links) dengan satu tautan universal untuk kedua platform.
  • Pembuatan — tautan dihasilkan melalui Firebase Console, REST API atau SDK di sisi klien dengan konfigurasi perilaku untuk setiap skenario.

Firebase Dynamic Links adalah layanan cloud dari Google yang membuat tautan universal terpadu untuk aplikasi mobile di iOS dan Android. Tautan dinamis berisi tautan dalam ke konten di dalam aplikasi, tetapi berperilaku seperti tautan HTTPS biasa: jika aplikasi terinstal, ia membukanya secara langsung, jika tidak — mengarahkan ke toko aplikasi.

Tidak seperti URL Scheme biasa, Dynamic Links dapat bekerja dengan aplikasi yang tidak terinstal berkat teknologi deferred deep link. Ketika pengguna menginstal aplikasi setelah mengeklik tautan, Firebase menyimpan parameter transisi dan mengirimkannya saat pertama kali dijalankan. Ini membuka kemungkinan untuk program referal, kampanye pemasaran, dan undangan.

Perbedaan dari URL Scheme biasa

URL Scheme membutuhkan aplikasi yang terinstal dan tidak memiliki mekanisme fallback standar. Firebase Dynamic Links memecahkan masalah ini melalui layanan web perantara Firebase yang menentukan status instalasi aplikasi di perangkat dan merutekan pengguna dengan benar. Satu tautan bekerja sama di kedua platform.

Firebase Dynamic Link menggunakan domain berbentuk yourcode.page.link, yang didaftarkan di Firebase Console. Ketika pengguna menavigasi melalui tautan semacam itu, Firebase menentukan jenis perangkat dan status instalasi aplikasi. Untuk iOS digunakan mekanisme Universal Links, untuk Android — App Links dengan verifikasi otomatis melalui Digital Asset Links.

Proses pemrosesan mencakup beberapa tahap berurutan: saat mengeklik tautan, browser mengirimkan permintaan GET ke server Firebase, server menentukan platform dan memeriksa keberadaan aplikasi di perangkat. Jika aplikasi terinstal — dihasilkan pengalihan ke Universal Link atau Intent dengan parameter untuk membuka layar target. Jika aplikasi tidak terinstal — pengalihan ke App Store atau Google Play untuk pengunduhan.

Siklus Hidup Dynamic Link

Aplikasi menerima tautan pada tahap inisialisasi Firebase SDK. Metode getDynamicLink() mengembalikan PendingResult dengan data tentang transisi. Setelah berhasil diterima, dari tautan diekstrak parameter deep link, tag UTM untuk analitik, dan data arbitrer yang dikirimkan saat pembuatan tautan.

Firebase Console menyediakan antarmuka visual untuk membuat Dynamic Links. Pengembang menentukan tautan dalam (deep link URL), nama kampanye, pengaturan untuk iOS dan Android secara terpisah, serta parameter analitik. Setelah dibuat, Firebase menghasilkan tautan pendek berbentuk https://yourcode.page.link/abc123 yang dapat digunakan dalam materi iklan, kampanye email, dan media sosial.

Untuk pembuatan Dynamic Links secara terprogram, digunakan Firebase REST API atau SDK klien. REST API memungkinkan pembuatan tautan massal untuk kampanye pemasaran dengan parameter kustom, termasuk tautan untuk media sosial dan analitik transisi asinkron. Saat membuat tautan melalui API, penting untuk menentukan parameter socialMetaTagInfo dengan benar — parameter ini menentukan bagaimana tautan ditampilkan saat dibagikan di aplikasi perpesanan dan jejaring sosial dengan kartu pratinjau.

Parameter Dynamic Link

ParameterTujuanWajib
Deep Link URLTautan internal ke konten aplikasiYa
iOS Bundle IDIdentifikasi aplikasi di App StoreUntuk iOS
Android Package NameNama paket di Google PlayUntuk Android
Fallback URLHalaman web saat aplikasi tidak adaTidak
Tag UTMParameter untuk Google AnalyticsTidak

Untuk bekerja dengan Firebase Dynamic Links di iOS, diperlukan menghubungkan Firebase SDK melalui CocoaPods atau Swift Package Manager, mengonfigurasi Info.plist dengan GOOGLE_APP_ID dan mendaftarkan domain Dynamic Links di Associated Domains proyek. Setelah itu, aplikasi secara otomatis memproses Universal Links yang dihasilkan oleh Firebase.

Di Xcode, perlu menambahkan capability Associated Domains dengan entri berbentuk applinks:yourcode.page.link. Firebase SDK menggunakan metode application(_:continue:restorationHandler:) untuk memproses Universal Links, sehingga integrasi tambahan dengan AppDelegate tidak diperlukan — Firebase secara otomatis mengekstrak parameter Dynamic Link dari User Activity.

Konfigurasi di Xcode

Contoh konfigurasi Info.plist untuk inisialisasi Firebase yang benar dan pendaftaran handler Dynamic Links. Kunci FIROptions harus berisi identifikasi proyek GoogleService-Info.plist.

xml
<key>FirebaseDynamicLinksCustomDomains</key>
<array>
    <string>https://yourcode.page.link</string>
</array>
<key>FirebaseAppDelegateProxyEnabled</key>
<false/>

Jika proxy AppDelegate dinonaktifkan, metode handleUniversalLink(_:) harus dipanggil secara manual dan User Activity dari continue NSUserActivity harus diteruskan. Firebase SDK secara otomatis mengekstrak parameter tautan dan mengembalikan DynamicLink melalui completion handler.

Di Android, integrasi Firebase Dynamic Links dimulai dengan menambahkan dependensi di build.gradle dan file google-services.json dari Firebase Console. Domain Dynamic Links didaftarkan di Firebase Console, setelah itu semua tautan dengan domain ini secara otomatis dikenali oleh aplikasi Android melalui Intent Filter dengan aksi VIEW. Untuk pengoperasian yang benar, perlu juga menambahkan plugin Google Services di build.gradle root dan modul serta melakukan sinkronisasi Gradle.

Untuk pemrosesan tautan yang benar di Android, perlu menambahkan Intent Filter untuk domain Dynamic Links di Activity yang harus menerima tautan masuk. Filter harus berisi skema https, host domain Dynamic Links Anda, dan jalur default.

Intent Filter untuk Dynamic Links

Contoh Intent Filter di AndroidManifest.xml untuk menerima Dynamic Links di domain yourcode.page.link.

xml
<activity android:name=".MainActivity"
    android:launchMode="singleTask">
    <intent-filter
        android:autoVerify="true">
        <action
            android:name="android.intent.action.VIEW" />
        <category
            android:name="android.intent.category.DEFAULT" />
        <category
            android:name="android.intent.category.BROWSABLE" />
        <data
            android:scheme="https"
            android:host="yourcode.page.link" />
    </intent-filter>
</activity>

Sangat penting untuk mengatur launchMode menjadi singleTask untuk Activity yang menerima Dynamic Links. Ini mencegah pembuatan instance Activity baru saat navigasi berulang melalui tautan dan memungkinkan pemrosesan yang benar semua deep link masuk dalam satu instance.

Firebase SDK untuk Android menyediakan metode FirebaseDynamicLinks.getInstance().getDynamicLink(intent), yang mengembalikan objek PendingTask dengan data tentang tautan. Dari objek DynamicLink diekstrak URI dalam, parameter UTM, dan stempel waktu transisi. Pemrosesan disarankan dilakukan di metode onCreate() dan onNewIntent() Activity.

Saat pemrosesan, penting untuk mempertimbangkan bahwa Dynamic Link dapat diterima baik saat memulai aplikasi dari keadaan dingin (cold start) maupun saat beralih dari aplikasi lain ke aplikasi yang sudah berjalan. Untuk kasus kedua, perlu menimpa onNewIntent() dan memanggil ulang pemeriksaan Dynamic Link.

Pemrosesan dalam kode Kotlin

Contoh penerimaan dan pemrosesan Firebase Dynamic Link di MainActivity. Kode menangani baik cold start maupun transisi dari aplikasi lain.

kotlin
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        checkDynamicLink(intent)
    }
    override fun onNewIntent(intent: Intent) {
        super.onNewIntent(intent)
        checkDynamicLink(intent)
    }
    private fun checkDynamicLink(intent: Intent) {
        FirebaseDynamicLinks.getInstance()
            .getDynamicLink(intent)
            .addOnSuccessListener link ->
                val deepLink = link?.link.toString()
                handleDeepLink(deepLink)
            }
    }
}

Metode addOnSuccessListener mengembalikan DynamicLink, dari mana tautan target diekstrak melalui link?.link. Jika listener mengembalikan null, berarti Intent tidak berisi Dynamic Link — ini adalah startup aplikasi normal tanpa tautan masuk. Juga tersedia tag UTM untuk analitik transisi, termasuk campaign, medium, source dan content, yang dapat diteruskan ke Google Analytics untuk evaluasi mendetail efektivitas setiap saluran pemasaran.

Pertanyaan yang Sering Diajukan

Apa perbedaan Firebase Dynamic Links dengan deep link biasa?

Firebase Dynamic Links mendukung deferred deep link — tautan mempertahankan konteks bahkan jika aplikasi tidak terinstal. Setelah instalasi, aplikasi menerima semua parameter transisi, yang tidak mungkin dilakukan dengan URL Scheme biasa atau Universal Links.

Apakah harus membayar untuk Firebase Dynamic Links?

Firebase Dynamic Links termasuk dalam paket tarif gratis Firebase Spark. Tidak ada batasan jumlah tautan yang dapat dibuat. Namun, sejak 2024 Google telah mengumumkan transisi ke infrastruktur baru, sehingga ketentuan dapat berubah.

Bisakah Dynamic Links digunakan di aplikasi web?

Dynamic Links dirancang untuk aplikasi mobile. Saat mengakses dari browser desktop, tautan akan membuka URL fallback. Untuk aplikasi web, gunakan tautan biasa atau logika pengalihan Anda sendiri.

Bagaimana cara menguji Dynamic Links di tahap pengembangan?

Firebase Console menyediakan tombol Test Dynamic Link untuk pratinjau perilaku. Anda juga dapat menggunakan emulator Android atau simulator iOS dengan Firebase SDK terinstal untuk pengujian lokal semua skenario transisi.

Berapa banyak karakter yang dapat dimiliki Dynamic Link?

Tautan pendek Firebase Dynamic Link terdiri dari domain page.link dan akhiran acak sepanjang sekitar 7 karakter. Panjang total sekitar 30 karakter. Deep link di dalamnya bisa memiliki panjang berapa pun, tetapi disarankan untuk membatasinya hingga 2 KB untuk kompatibilitas.

Kesimpulan

  • Firebase Dynamic Links — tautan universal terpadu dari Google untuk iOS dan Android dengan dukungan deferred deep link.
  • Prinsip kerja — tautan melewati server Firebase yang menentukan perangkat dan status instalasi aplikasi untuk perutean yang benar.
  • Deferred — keunggulan utama: parameter transisi disimpan dan dipulihkan setelah instalasi aplikasi dari toko.
  • Pembuatan — tautan dihasilkan melalui Firebase Console, REST API atau SDK klien dengan konfigurasi parameter untuk setiap platform.
  • Integrasi iOS — membutuhkan Associated Domains di Xcode dan Firebase SDK; pemrosesan melalui Universal Links dan metode continue UserActivity.
  • Integrasi Android — membutuhkan Intent Filter di manifes dengan aksi VIEW dan domain Dynamic Links, plus Firebase SDK di build.gradle.
  • Analitik — Firebase secara otomatis melacak transisi melalui Dynamic Links dengan dukungan tag UTM untuk Google Analytics.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga