Firebase Dynamic Links adalah layanan Google untuk membuat tautan pintar yang mengarahkan pengguna ke tempat yang tepat di dalam aplikasi mobile atau situs web, tergantung pada apakah aplikasi sudah terinstal di perangkat. Dynamic Links mempertahankan konteks transisi bahkan saat pertama kali dijalankan setelah instalasi dari toko aplikasi. Menurut Firebase Documentation, 2026, tautan dinamis diproses dalam API tunggal yang secara otomatis menentukan perilaku: membuka aplikasi, pergi ke situs, atau menginstal aplikasi. Layanan ini sangat diperlukan untuk program rujukan, skenario onboarding, dan kampanye pemasaran.
Poin utama
Firebase Dynamic Links adalah teknologi Google yang membuat satu tautan yang mengarah ke konten yang diinginkan di aplikasi mobile atau situs web, menyesuaikan perilaku tergantung pada platform dan status instalasi. Tautan memeriksa apakah aplikasi terinstal di perangkat: jika ya — membukanya dengan meneruskan parameter, jika tidak — mengarahkan ke Google Play atau App Store untuk instalasi, dan setelah instalasi mengarahkan ke layar target.
Keunggulan utama Dynamic Links dibandingkan tautan dalam biasa adalah dukungan untuk tautan dalam yang ditangguhkan. Deferred Deep Linking berarti konteks transisi (parameter tautan) tetap dipertahankan meskipun aplikasi belum diinstal. Saat pengguna menginstal aplikasi dari toko, Dynamic Links SDK membaca konteks yang disimpan dan meneruskannya ke layar yang tepat. Tanpa teknologi ini, pengguna setelah instalasi hanya akan sampai di layar utama, kehilangan kode promosi, undangan, atau tautan ke pesanan tertentu.
Dynamic Links digunakan dalam program rujukan untuk menarik pengguna baru dengan tautan ke akun pengundang. Kampanye pemasaran dengan transisi dari buletin email dan media sosial menggunakan Dynamic Links untuk mengukur konversi secara akurat. Dalam skenario onboarding, tautan mengarahkan pengguna baru ke layar selamat datang dengan konten yang dipersonalisasi. Di e-commerce, tautan produk mempertahankan konteks dan mengarah ke halaman produk bahkan saat pertama kali dijalankan setelah instalasi.
Mekanisme kerja Dynamic Links terdiri dari beberapa tahap, yang masing-masing dapat bervariasi tergantung pada status aplikasi. Saat pengguna mengklik tautan dinamis, browser mengirim permintaan ke server Firebase. Firebase memeriksa apakah aplikasi terinstal melalui verifikasi intent-filter atau universal link. Jika aplikasi terinstal, Firebase membukanya dengan meneruskan tautan dalam. Jika tidak — mengarahkan ke halaman toko atau versi web.
Dynamic Link standar terdiri dari URL dasar, parameter tautan, dan tag pemasaran opsional. URL dasar adalah domain berbentuk your-app.page.link yang terdaftar di Firebase Console. Parameter tautan dalam ditentukan melalui parameter query: link (URL target di dalam aplikasi), apn (Android Package Name), ibi (iOS Bundle ID), st dan sd (judul dan deskripsi untuk pratinjau sosial). Tag pemasaran utm_source, utm_medium, utm_campaign diteruskan ke Google Analytics untuk pelacakan.
| Parameter | Deskripsi | Contoh |
|---|---|---|
| link | Tautan dalam target | https://yourapp.page.link/product/123 |
| apn | Android Package Name | com.example.myapp |
| ibi | iOS Bundle ID | com.example.myapp.ios |
| st | Judul sosial | Penawaran khusus |
| sd | Deskripsi sosial | Diskon 30% untuk pesanan pertama |
Firebase Console menyediakan antarmuka visual untuk membuat Dynamic Links di bagian Engage > Dynamic Links. Di konsol, semua parameter tautan dapat diatur, termasuk tautan dalam, perilaku web, metadata sosial, dan tag UTM. Setelah tautan dibuat, konsol menyediakan URL siap pakai serta statistik klik dan transisi. Untuk pembuatan tautan massal, digunakan REST API Firebase Dynamic Links dengan autentikasi OAuth 2.0.
Untuk pembuatan Dynamic Links secara terprogram, digunakan permintaan POST ke Firebase Dynamic Links API. Isi permintaan berisi dynamicLinkInfo dengan parameter tautan dalam, pengaturan platform, dan metadata sosial. API mengembalikan URL siap pakai berbentuk https://your-app.page.link/abc123. Untuk tautan berumur panjang, digunakan suffix.option = UNIQUE — tautan pendek dengan sufiks unik. Untuk tautan sementara — SHORT, dengan kemungkinan tabrakan.
const axios = require("axios")
const apiUrl = "https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=API_KEY"
const data = {
dynamicLinkInfo: {
domainUriPrefix: "https://yourapp.page.link",
link: "https://yourapp.com/promo/summer",
androidInfo: { androidPackageName: "com.example.myapp" },
iosInfo: { iosBundleId: "com.example.myapp.ios" },
socialMetaTagInfo: {
socialTitle: "Promosi musim panas",
socialDescription: "Diskon hingga 50% hingga akhir bulan"
}
},
suffix: { option: "UNIQUE" }
}
axios.post(apiUrl, data)
.then(res => console.log(res.data.shortLink))
.catch(err => console.error(err))
Dynamic Links secara otomatis menghasilkan URL pendek dengan panjang 6–8 karakter setelah domain, membuatnya cocok untuk digunakan di SMS dan media sosial. Parameter UTM ditambahkan melalui bidang utmParameters atau langsung di parameter tautan. Firebase secara otomatis menghubungkan klik Dynamic Links dengan Google Analytics untuk Firebase, memungkinkan pelacakan lalu lintas rujukan dan atribusi kampanye.
Konfigurasi Dynamic Links di Android mencakup penambahan Firebase SDK, konfigurasi intent-filter untuk aktivitas yang menerima tautan dalam, dan pemrosesan tautan melalui Firebase Dynamic Links SDK. Setelah menginstal SDK dan menambahkan google-services.json, aktivitas harus didaftarkan di AndroidManifest.xml dengan intent-filter untuk memproses tautan dari domain aplikasi.
Aktivitas yang memproses Dynamic Links harus memiliki intent-filter untuk tindakan VIEW dan kategori DEFAULT dan BROWSABLE. AndroidManifest.xml berisi tag data dengan android:scheme, android:host, dan android:pathPrefix yang sesuai dengan tautan dalam Anda. Untuk memproses tautan dari domain page.link, intent-filter dengan skema https dan host domain Dynamic Links Anda juga ditambahkan.
<!-- AndroidManifest.xml -->
<activity android:name=".MainActivity">
<intent-filter>
<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="yourapp.com"
android:pathPrefix="/promo" />
</intent-filter>
</activity>
Setelah mengonfigurasi intent-filter, Dynamic Link yang masuk harus diproses dalam kode aktivitas. FirebaseDynamicLinks API mengambil tautan dari intent dan mengembalikan objek PendingDynamicLinkData dengan parameter yang diekstrak. Metode getLink mengembalikan tautan dalam target yang dapat dianalisis dan digunakan untuk navigasi. Penting untuk memproses tautan baik saat start dingin (melalui getIntent di onCreate) maupun start hangat (melalui onNewIntent).
Konfigurasi Dynamic Links di iOS memerlukan konfigurasi baik di sisi Firebase maupun di proyek Xcode. Kunci APNs harus diunggah di Firebase Console, Firebase SDK ditambahkan melalui Swift Package Manager atau CocoaPods, dan App Delegate dikonfigurasi untuk memproses Universal Links. Dynamic Links di iOS menggunakan Universal Links untuk transisi mulus antara browser dan aplikasi tanpa halaman perantara.
Universal Links adalah teknologi Apple yang menghubungkan domain Anda dengan aplikasi mobile. File apple-app-site-association (AASA) dimuat di server di alamat https://your-app.page.link/apple-app-site-association. Firebase secara otomatis membuat dan memelihara file ini untuk domain Dynamic Links Anda. Di Xcode, Associated Domains harus diaktifkan dan applinks:your-app.page.link ditentukan di Capabilities proyek.
Untuk iOS, pemrosesan Dynamic Links dilakukan melalui Firebase SDK di App Delegate atau Scene Delegate. Metode application:continueUserActivity: mencegat Universal Link yang masuk dan meneruskannya ke Firebase Dynamic Links API, yang mengekstrak tautan target dan parameter. Firebase SDK secara otomatis memproses Deferred Deep Links, meminta data instalasi melalui penyimpanan jangka pendek Firebase Installation API.
import FirebaseDynamicLinks
class AppDelegate: UIApplicationDelegate {
func application(
_ application: UIApplication,
continue userActivity: NSUserActivity,
restorationHandler: @escaping
([UIUserActivityRestoring]?) -> Void
) -> Bool {
return DynamicLinks.dynamicLinks()
.handleUniversalLink(userActivity.webpageURL!) {
dynamicLink, error in
if let link = dynamicLink?.url {
self.handleDeepLink(link)
}
}
}
}
Mari kita lihat contoh lengkap pemrosesan Dynamic Link di aplikasi Android dengan Kotlin. MainActivity membaca Dynamic Link yang masuk baik saat start dingin maupun start hangat aplikasi. Tautan diuraikan menjadi parameter yang digunakan untuk navigasi ke layar yang tepat dengan meneruskan argumen. Contoh ini menunjukkan pemrosesan tautan ke halaman promosi dengan ID promosi.
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
handleDynamicLink(intent)
}
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
handleDynamicLink(intent)
}
private fun handleDynamicLink(intent: Intent) {
FirebaseDynamicLinks.getInstance()
.getDynamicLink(intent)
.addOnSuccessListener { data ->
val deepLink = data?.link ?: return@addOnSuccessListener
val promoId = deepLink
.getQueryParameter("promoId") ?: ""
if (promoId.isNotEmpty()) {
navigateToPromoScreen(promoId)
}
}
.addOnFailureListener { e ->
Log.e("DL", "Kesalahan pemrosesan tautan", e)
}
}
}
Untuk menguji Dynamic Links, digunakan Firebase Console, di mana tautan uji dapat dibuat dan dikirim ke perangkat melalui aplikasi perpesanan atau email. Firebase Dynamics Links Debugger tersedia di URL https://your-app.page.link/?d=1 dan menampilkan informasi terperinci tentang perilaku tautan. Saat menguji Deferred Deep Links, pastikan aplikasi telah dihapus, dan setelah instalasi tautan mengarah ke layar yang benar dengan parameter yang diteruskan.
Pertanyaan yang sering diajukan
Tautan dalam biasa hanya berfungsi saat aplikasi terinstal dan tidak mempertahankan konteks setelah instalasi. Dynamic Links mendukung Deferred Deep Linking — pengguna menginstal aplikasi dan langsung sampai di layar target dengan parameter tautan yang disimpan.
Server tidak diperlukan untuk membuat dan memproses tautan — semua operasi dilakukan melalui Firebase Console, REST API, atau Firebase SDK di sisi klien. Untuk pembuatan tautan massal, REST API direkomendasikan, tetapi konsol cocok untuk pembuatan manual.
Dynamic Links tidak memiliki tanggal kedaluwarsa — mereka disimpan di Firebase selamanya jika tidak dihapus secara manual. Tautan pendek dengan sufiks UNIQUE ada tanpa batas waktu. Disarankan untuk membuat tautan unik untuk setiap kampanye demi atribusi yang akurat.
Untuk memproses Dynamic Link diperlukan koneksi internet pada tahap klik, karena server Firebase memeriksa status instalasi aplikasi. Setelah tautan diproses, data diteruskan ke aplikasi melalui intent atau Universal Link dan tersedia bahkan tanpa jaringan.
Firebase Dynamic Links gratis dalam paket Spark. Dalam paket Blaze, ada batas 50 ribu klik per hari per proyek tanpa biaya tambahan. Melebihi batas akan memblokir pembuatan tautan baru hingga hari berikutnya.
Ringkasan
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.
Baca juga