Deep Link: apa itu, jenis tautan dan prinsip kerja

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

Deep Link (tautan dalam) — adalah URL yang mengarahkan pengguna ke layar atau konten tertentu di dalam aplikasi mobile, melewati layar utama. Berbeda dengan tautan biasa ke situs web, deep link mengaktifkan aplikasi dan langsung membuka konten target. Menurut Android Developers, deep link yang dikonfigurasi dengan benar meningkatkan konversi ke tindakan target sebesar 30–50% karena mengurangi jumlah langkah menuju konten.

Poin Utama

  • Deep Link — URL yang membuka layar aplikasi tertentu, bukan halaman utama
  • URI-scheme (myapp://profile/123) — cara klasik deep link, bekerja di kedua platform
  • Deferred Deep Link — tautan yang aktif setelah instalasi aplikasi, mengirimkan konteks
  • Universal Link (iOS) dan App Link (Android) — evolusi deep link dengan verifikasi domain
  • Deep link kontekstual — mengirimkan parameter tambahan: kode promo, referrer, sumber traffic

Deep Link (tautan dalam) — adalah URI yang saat diklik tidak membuka halaman web, melainkan layar tertentu di dalam aplikasi mobile. Teknologi ini memecahkan masalah fundamental platform mobile: browser tidak dapat langsung membuka layar aplikasi, dan deep link menciptakan jembatan antara web dan kode native. Tanpa deep link, pengguna selalu masuk ke layar utama dan harus menavigasi secara manual ke konten yang diinginkan.

Arsitektur deep link terdiri dari dua bagian: skema (scheme) menentukan aplikasi mana yang harus memproses tautan, dan jalur (path) menunjuk ke sumber daya tertentu di dalam aplikasi — produk, artikel, profil pengguna, atau bagian pengaturan. Parameter kueri (?source=push&campaign=summer) mengirimkan konteks tambahan untuk analitik, personalisasi, dan atribusi kampanye.

Penting untuk membedakan deep link dan tautan biasa. Tautan biasa (https://example.com/product/42) terbuka di browser dan menuju ke versi web halaman. Deep link (myapp://product/42) dengan aplikasi terinstal membuka layar native dengan konten yang sama, dan jika aplikasi tidak ada — menampilkan error. Tepat untuk mengatasi masalah fallback yang mulus inilah Universal Link (iOS) dan App Link (Android) diciptakan.

Tugas yang berbeda memerlukan jenis deep link yang berbeda. Beberapa tautan hanya bekerja dengan aplikasi yang terinstal, yang lain bisa menunggu instalasi, dan yang lainnya mengirimkan konteks analitik. Pemilihan jenis tergantung pada skenario penggunaan: kampanye iklan, notifikasi push, berbagi konten, atau kampanye email.

Deep Link Biasa (Standard Deep Link)

Standard Deep Link — tipe dasar yang hanya aktif jika aplikasi sudah terinstal di perangkat. Pengguna mengklik tautan myapp://product/42, sistem menemukan skema yang terdaftar dan membuka aplikasi di layar yang sesuai. Jika aplikasi tidak terinstal — browser menampilkan error “Halaman tidak ditemukan” atau tidak melakukan apa pun. Tipe ini cocok untuk navigasi internal di dalam aplikasi yang sudah terinstal.

Konfigurasi deep link standar sederhana: cukup daftarkan URI-scheme di manifest (Android) atau Info.plist (iOS). Tidak memerlukan validasi server atau sertifikat SSL. Tetapi justru karena tidak adanya fallback, tipe ini dianggap usang untuk kampanye pemasaran — kehilangan traffic dari pengguna tanpa aplikasi mencapai 60%.

Deferred Deep Link (tautan dalam yang ditangguhkan)

Deferred Deep Link memecahkan masalah utama deep link biasa: berfungsi bahkan jika aplikasi tidak terinstal. Pengguna mengklik tautan → melihat halaman (landing atau App Store/Google Play) → menginstal aplikasi → pada peluncuran pertama, aplikasi menerima konteks tautan asli dan membuka layar yang diinginkan. Teknologi ini memerlukan SDK perantara (AppsFlyer, Branch, Adjust) yang menyimpan konteks di server hingga peluncuran pertama.

Branch — salah satu platform paling populer untuk deferred deep link. Ia menyediakan tautan tunggal yang berfungsi di semua platform: mendeteksi OS pengguna, mengarahkan ke toko aplikasi, dan setelah instalasi mengirimkan konteks (kode promo, identifikasi produk, sumber kampanye). Menurut data Branch (2024), deferred deep link meningkatkan konversi kampanye iklan sebesar 40–70%.

Contextual Deep Link (tautan dalam kontekstual)

Contextual Deep Link — adalah deep link biasa atau deferred yang dilengkapi dengan parameter konteks: sumber traffic (source), kampanye (campaign), kode promo, referrer, identifikasi mitra. Parameter dikirimkan dalam URL dan diproses oleh aplikasi untuk personalisasi: menampilkan bonus sambutan, membuka produk dengan diskon, mencatat analitik instalasi.

Label UTM (utm_source, utm_medium, utm_campaign) — cara standar mengirimkan konteks. Di mobile, deep link kontekstual sangat penting untuk atribusi: tanpanya, pemilik aplikasi tidak tahu saluran mana yang membawa pengguna — traffic organik, iklan Facebook, kampanye email, atau kode QR. Atribusi berkualitas memerlukan integrasi dengan MMP (Mobile Measurement Partner).

Tipe Deep LinkMemerlukan instalasiMendukung penundaanKonteks
StandardYaTidakHanya di URL
DeferredTidakYaPenyimpanan server
ContextualEitherEitherUTM + parameter

iOS mendukung deep link melalui dua mekanisme: Custom URL Scheme lama dan Universal Link modern (iOS 9+). Custom URL Scheme bekerja dengan prinsip pendaftaran skema kustom di Info.plist. Aplikasi mendaftarkan myapp://, dan iOS saat mengklik tautan tersebut membuka aplikasi. Masalah: jika skema tidak terdaftar oleh aplikasi mana pun, browser menampilkan error.

Pemrosesan deep link di iOS dilakukan melalui metode AppDelegate application(_:open:options:) atau SceneDelegate scene(_:openURLContexts:). Pengembang mengekstrak URL, memparse jalur dan parameter, kemudian menavigasi ke layar yang sesuai. Jika menggunakan SwiftUI, pemrosesan dilakukan melalui OpenURLAction atau onChange(of: openURL). Penting untuk memproses status dengan benar: aplikasi mungkin belum diluncurkan, diminimalkan, atau aktif.

Keamanan di iOS ketat: Custom URL Scheme dapat dicegat oleh aplikasi mana pun yang mendaftarkan skema yang sama. Ini adalah potensi kerentanan (URL Scheme hijacking). Oleh karena itu Apple merekomendasikan Universal Link sebagai alternatif yang lebih aman: hanya pemilik domain yang terverifikasi yang dapat mengaitkan tautan dengan aplikasi. Lebih lanjut tentang Universal Link — di artikel Universal Link.

Android mengimplementasikan deep link melalui Intent Filter di AndroidManifest.xml. Aplikasi mendefinisikan Activity yang memproses skema tertentu (myapp://) atau host dan jalur tertentu. Saat pengguna mengklik deep link, Android mencari Activity dengan Intent Filter yang sesuai dan membukanya. Jika ada beberapa Activity yang cocok — sistem menampilkan dialog pemilihan aplikasi.

xml
// AndroidManifest.xml — Intent Filter untuk Deep Link
<activity
    android:name=".ui.ProductActivity"
    android:exported="true">
    <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="myapp"
            android:host="product"
            android:pathPrefix="/" />
    </intent-filter>
</activity>

Pemrosesan deep link di Android dilakukan dalam metode Activity.onCreate() atau onNewIntent(). Pengembang menerima Intent, mengekstrak URI, dan memanggil navigasi. Untuk Jetpack Navigation, komponen Navigation Deep Link memungkinkan deskripsi deklaratif deep link di graf navigasi. Android App Link (Android 6.0+) — evolusi deep link dengan verifikasi melalui Digital Asset Links, menghilangkan dialog pemilihan aplikasi.

Penting untuk mempertimbangkan perubahan Android 12+: mulai API 31, sistem memerlukan exported=true secara eksplisit untuk Activity yang memproses deep link dan memeriksa kebenaran Intent Filter. Google Play Store memverifikasi App Link saat publikasi. Tanpa verifikasi, Google dapat menolak pembaruan jika deep link mengarah ke halaman situs yang tidak ada.

Konfigurasi deep link mencakup beberapa tahap yang umum untuk kedua platform. Langkah pertama — menentukan skema dan struktur URL. Disarankan menggunakan skema https (alih-alih kustom) untuk kompatibilitas dengan Universal Link dan App Link. Struktur URL harus mencerminkan struktur situs web: /product/42, /profile/john, /settings/notifications. Ini menyederhanakan pemeliharaan dan indeksasi konten oleh mesin pencari.

Tahap kedua — pemrosesan deep link di kode aplikasi. Untuk Android, direkomendasikan Jetpack Navigation dengan deep link deklaratif di nav_graph. Untuk iOS — SwiftUI NavigationStack dengan pemrosesan OpenURLAction. Penting untuk memproses tiga status aplikasi: cold start (aplikasi belum diluncurkan), warm start (diminimalkan), dan active (di layar). Setiap status memerlukan logika navigasi yang berbeda.

  • Tentukan skema dan struktur URL (myapp:// atau https://your.domain/)
  • Daftarkan skema di manifest (Android) atau Info.plist (iOS)
  • Implementasikan pemrosesan di Activity atau AppDelegate/SwiftUI
  • Konfigurasikan fallback jika aplikasi tidak terinstal
  • Uji ketiga status: cold start, warm start, active

Pengujian deep link — tugas terpisah. Android Studio menyediakan alat App Links Assistant untuk memeriksa Intent Filter. Di iOS, pengujian dilakukan melalui Xcode dengan mengirimkan URL melalui argumen skema peluncuran. Disarankan untuk mengatur pemeriksaan CI: secara otomatis melalui deep link dan memeriksa bahwa layar yang diharapkan terbuka. Untuk deferred deep link, pengujian mencakup siklus penuh “instalasi → peluncuran pertama → konteks”. Tanpa pengujian, deep link sering rusak saat memperbarui navigasi di aplikasi.

Pertanyaan yang Sering Diajukan

Apa perbedaan deep link dengan tautan biasa?

Tautan biasa (https://site.com/page) terbuka di browser. Deep link (myapp://page atau https://site.com/page dengan verifikasi) membuka layar di dalam aplikasi mobile. Deep link juga dapat mengirimkan konteks: kode promo, sumber traffic, ID referal.

Apa itu URI-scheme dan untuk apa?

URI-scheme — adalah prefiks URL yang menentukan aplikasi mana yang harus memproses tautan (misalnya, myapp://, vk://, tg://). Sistem menggunakan skema untuk routing: menemukan aplikasi yang mendaftarkan skema ini dan mengirimkan URL untuk diproses.

Bagaimana cara kerja deferred deep link?

Pengguna mengklik tautan → layanan (Branch, AppsFlyer) mengingat konteks → mengarahkan ke App Store/Google Play → setelah instalasi dan peluncuran pertama, SDK mengirimkan konteks tersimpan ke aplikasi → aplikasi membuka layar yang diinginkan, seolah-olah pengguna sudah memiliki aplikasi.

Bisakah deep link digunakan tanpa aplikasi terinstal?

Deep link biasa — tidak. Deferred deep link — ya, melalui halaman perantara yang mengarahkan ke toko aplikasi dan menyimpan konteks. Universal Link dan App Link membuka situs sebagai fallback jika aplikasi tidak terinstal.

Bagaimana cara menguji deep link di perangkat nyata?

Di Android gunakan adb: adb shell am start -W -a android.intent.action.VIEW -d “myapp://product/42”. Di iOS — xcrun simctl openurl booted “myapp://product/42”. Untuk kedua platform tersedia konsol pengujian Firebase Dynamic Links dan Branch.

Kesimpulan

  • Deep Link — URL yang membuka layar aplikasi tertentu, bukan halaman utama atau situs
  • Tiga jenis — Standard (hanya dengan aplikasi terinstal), Deferred (dengan menunggu instalasi), Contextual (dengan parameter UTM)
  • Custom URL Scheme (myapp://) — cara sederhana, tetapi tanpa fallback saat aplikasi tidak ada
  • Universal Link dan App Link — evolusi deep link dengan verifikasi domain dan fallback browser
  • iOS memproses deep link melalui AppDelegate/SceneDelegate, Android — melalui Intent Filter
  • Deferred Deep Link memerlukan SDK perantara (Branch, AppsFlyer) untuk menyimpan konteks sebelum instalasi
  • Pengujian ketiga status (cold, warm, active) — tahap wajib konfigurasi deep link

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