Deep Link: ano ito, mga uri ng link at prinsipyo ng paggana

May-akda: IT Sectr Nai-publish: 2026-05-14 Oras ng pagbabasa: 9 min

Deep Link (malalim na link) — ay isang URL na nagdidirekta sa user sa isang partikular na screen o content sa loob ng mobile application, na lumalampas sa pangunahing screen. Hindi tulad ng ordinaryong link sa isang website, ang deep link ay nag-a-activate ng app at agad na nagbubukas ng target na content. Ayon sa Android Developers, ang mga deep link na maayos na naka-configure ay nagpapataas ng conversion sa target na aksyon ng 30–50% dahil sa pagbawas ng bilang ng mga hakbang patungo sa content.

Mga Pangunahing Punto

  • Deep Link — URL na nagbubukas ng partikular na screen ng app, hindi ang pangunahing pahina
  • URI-scheme (myapp://profile/123) — klasikong paraan ng deep link, gumagana sa parehong platform
  • Deferred Deep Link — link na nag-a-activate pagkatapos i-install ang app, nagpapadala ng konteksto
  • Universal Link (iOS) at App Link (Android) — ebolusyon ng deep link na may verification ng domain
  • Kontekstwal na deep link — nagpapadala ng karagdagang parameter: promo code, referrer, source ng traffic

Deep Link (malalim na link) — ay isang URI na kapag na-click ay nagbubukas hindi isang web page, kundi isang partikular na screen sa loob ng mobile application. Ang teknolohiya ay lumulutas ng isang pangunahing problema ng mga mobile platform: hindi direktang mabubuksan ng browser ang screen ng app, at ang deep link ay lumilikha ng tulay sa pagitan ng web at native code. Kung walang deep link, ang user ay laging napupunta sa pangunahing screen at kailangang mag-navigate nang manu-mano sa nais na content.

Ang arkitektura ng deep link ay binubuo ng dalawang bahagi: ang scheme ay tumutukoy kung aling app ang dapat magproseso ng link, at ang path ay tumuturo sa partikular na resource sa loob ng app — produkto, artikulo, profile ng user, o seksyon ng mga setting. Ang mga parameter ng query (?source=push&campaign=summer) ay nagpapadala ng karagdagang konteksto para sa analytics, personalization, at attribution ng campaign.

Mahalagang pag-ibahin ang deep link at regular na link. Ang regular na link (https://example.com/product/42) ay nagbubukas sa browser at patungo sa web version ng pahina. Ang deep link (myapp://product/42) na may naka-install na app ay nagbubukas ng native screen na may parehong content, at kung wala ang app — nagpapakita ng error. Eksaktong para sa paglutas ng problema ng seamless fallback ginawa ang Universal Link (iOS) at App Link (Android).

Ang iba’t ibang gawain ay nangangailangan ng iba’t ibang uri ng deep link. Ang ilang link ay gumagana lamang sa naka-install na app, ang iba ay maaaring maghintay ng pag-install, at ang iba pa ay nagpapadala ng analytical context. Ang pagpili ng uri ay depende sa scenario ng paggamit: kampanya sa advertising, push notification, pagbabahagi ng content, o email campaign.

Ordinaryong Deep Link (Standard Deep Link)

Standard Deep Link — pangunahing uri na nag-a-activate lamang kung ang app ay naka-install na sa device. Nag-click ang user sa link na myapp://product/42, hinahanap ng system ang rehistradong scheme at bubuksan ang app sa kaukulang screen. Kung hindi naka-install ang app — nagpapakita ang browser ng error na “Hindi nahanap ang pahina” o walang ginagawa. Ang uri na ito ay angkop para sa internal na nabigasyon sa loob ng naka-install na app.

Ang pag-configure ng standard deep link ay simple: magrehistro lamang ng URI-scheme sa manifest (Android) o Info.plist (iOS). Hindi kinakailangan ang server validation o SSL certificates. Ngunit dahil mismo sa kawalan ng fallback, ang uri na ito ay itinuturing na luma na para sa mga marketing campaign — ang pagkawala ng traffic mula sa mga user na walang app ay umaabot sa 60%.

Deferred Deep Link (naantalang malalim na link)

Deferred Deep Link ay lumulutas sa pangunahing problema ng ordinaryong deep link: gumagana ito kahit hindi naka-install ang app. Nag-click ang user sa link → nakakakita ng page (landing o App Store/Google Play) → ini-install ang app → sa unang paglunsad, natatanggap ng app ang konteksto ng orihinal na link at binubuksan ang nais na screen. Ang teknolohiya ay nangangailangan ng intermediary SDK (AppsFlyer, Branch, Adjust) na nag-iimbak ng konteksto sa server hanggang sa unang paglunsad.

Branch — isa sa pinakasikat na platform para sa deferred deep link. Nagbibigay ito ng nag-iisang link na gumagana sa lahat ng platform: nakikita ang OS ng user, nagre-redirect sa app store, at pagkatapos ng pag-install ay nagpapadala ng konteksto (promo code, product identifier, source ng campaign). Ayon sa data ng Branch (2024), ang deferred deep link ay nagpapataas ng conversion ng mga advertising campaign ng 40–70%.

Contextual Deep Link (kontekstwal na malalim na link)

Contextual Deep Link — ay isang ordinaryong o deferred deep link na dinagdagan ng mga parameter ng konteksto: source ng traffic (source), campaign, promo code, referrer, identifier ng partner. Ang mga parameter ay ipinapadala sa URL at pinoproseso ng app para sa personalization: pagpapakita ng welcome bonus, pagbubukas ng produkto na may discount, pag-record ng analytics ng pag-install.

UTM label (utm_source, utm_medium, utm_campaign) — karaniwang paraan ng pagpapadala ng konteksto. Sa mobile, ang contextual deep link ay kritikal para sa attribution: kung wala ang mga ito, hindi alam ng may-ari ng app kung aling channel ang nagdala ng user — organic traffic, Facebook ad, email campaign, o QR code. Ang quality attribution ay nangangailangan ng integration sa MMP (Mobile Measurement Partner).

Uri ng Deep LinkNangangailangan ng pag-installSumusuporta sa paghihintayKonteksto
StandardOoHindiSa URL lamang
DeferredHindiOoImbakan sa server
ContextualAlinmanAlinmanUTM + parameter

iOS ay sumusuporta sa deep link sa pamamagitan ng dalawang mekanismo: lumang Custom URL Scheme at modernong Universal Link (iOS 9+). Ang Custom URL Scheme ay gumagana sa prinsipyo ng pagrerehistro ng custom na scheme sa Info.plist. Nagrerehistro ang app ng myapp://, at kapag nag-click sa naturang link, bubuksan ng iOS ang app. Problema: kung ang scheme ay hindi narehistro ng anumang app, nagpapakita ang browser ng error.

Pagproseso ng deep link sa iOS ay nangyayari sa pamamagitan ng method na AppDelegate application(_:open:options:) o SceneDelegate scene(_:openURLContexts:). Kinukuha ng developer ang URL, ni-parse ang path at parameter, at pagkatapos ay nag-navigate sa kaukulang screen. Kung ginagamit ang SwiftUI, ang pagproseso ay ginagawa sa pamamagitan ng OpenURLAction o onChange(of: openURL). Mahalagang iproseso nang tama ang estado: ang app ay maaaring hindi pa nailunsad, na-minimize, o aktibo.

Seguridad sa iOS ay mahigpit: ang Custom URL Scheme ay maaaring ma-intercept ng anumang app na nagrehistro ng parehong scheme. Ito ay isang potensyal na kahinaan (URL Scheme hijacking). Kaya inirerekomenda ng Apple ang Universal Link bilang mas ligtas na alternatibo: tanging ang kumpirmadong may-ari ng domain ang maaaring mag-ugnay ng mga link sa app. Higit pa tungkol sa Universal Link — sa artikulong Universal Link.

Android ay nag-iimplementa ng deep link sa pamamagitan ng Intent Filter sa AndroidManifest.xml. Ang app ay nagdedefine ng Activity na nagpoproseso ng partikular na scheme (myapp://) o partikular na host at path. Kapag nag-click ang user sa deep link, naghahanap ang Android ng Activity na may katugmang Intent Filter at binubuksan ito. Kung mayroong maraming katugmang Activity — nagpapakita ang system ng dialog para sa pagpili ng app.

xml
// AndroidManifest.xml — Intent Filter para sa 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>

Pagproseso ng deep link sa Android ay ginagawa sa method na Activity.onCreate() o onNewIntent(). Ang developer ay tumatanggap ng Intent, kumukuha ng URI, at tumatawag ng nabigasyon. Para sa Jetpack Navigation, ang component na Navigation Deep Link ay nagbibigay-daan sa deklaratibong paglalarawan ng deep link sa navigation graph. Android App Link (Android 6.0+) — ebolusyon ng deep link na may verification sa pamamagitan ng Digital Asset Links, na nag-aalis ng dialog ng pagpili ng app.

Mahalagang isaalang-alang ang mga pagbabago sa Android 12+: simula sa API 31, ang system ay nangangailangan ng malinaw na exported=true para sa Activity na nagpoproseso ng deep link at sinusuri ang tamang Intent Filter. Ang Google Play Store ay nagbe-verify ng App Link sa pag-publish. Kung walang verification, maaaring tanggihan ng Google ang update kung ang deep link ay patungo sa hindi umiiral na mga page ng site.

Pag-configure ng deep link ay may kasamang ilang yugto na karaniwan sa parehong platform. Unang hakbang — tukuyin ang scheme at istruktura ng URL. Inirerekomenda ang paggamit ng https scheme (sa halip na custom) para sa compatibility sa Universal Link at App Link. Ang istruktura ng URL ay dapat sumalamin sa istruktura ng website: /product/42, /profile/john, /settings/notifications. Pinapadali nito ang pagpapanatili at pag-index ng content ng mga search engine.

Ikalawang yugto — pagproseso ng deep link sa code ng app. Para sa Android, inirerekomenda ang Jetpack Navigation na may deklaratibong deep link sa nav_graph. Para sa iOS — SwiftUI NavigationStack na may OpenURLAction processing. Mahalagang iproseso ang tatlong estado ng app: cold start (hindi pa nailunsad), warm start (na-minimize), at active (nasa screen). Bawat estado ay nangangailangan ng iba’t ibang logic ng nabigasyon.

  • Tukuyin ang scheme at istruktura ng URL (myapp:// o https://your.domain/)
  • Irehistro ang scheme sa manifest (Android) o Info.plist (iOS)
  • Ipatupad ang pagproseso sa Activity o AppDelegate/SwiftUI
  • I-configure ang fallback kung hindi naka-install ang app
  • Subukan ang lahat ng tatlong estado: cold start, warm start, active

Pagsubok ng deep link — isang hiwalay na gawain. Ang Android Studio ay nagbibigay ng tool na App Links Assistant para sa pagsusuri ng Intent Filter. Sa iOS, ang pagsubok ay ginagawa sa pamamagitan ng Xcode sa pagpapadala ng URL sa pamamagitan ng arguments ng launch scheme. Inirerekomenda ang pag-set up ng CI check: awtomatikong pagdaan sa deep link at pagsusuri kung bumukas ang inaasahang screen. Para sa deferred deep link, ang pagsubok ay may kasamang buong cycle “installation → first launch → context”. Kung walang pagsubok, ang deep link ay madalas nasisira kapag nag-a-update ng nabigasyon sa app.

Mga Madalas Itanong

Paano naiiba ang deep link sa ordinaryong link?

Ordinaryong link (https://site.com/page) ay nagbubukas sa browser. Deep link (myapp://page o https://site.com/page na may verification) ay nagbubukas ng screen sa loob ng mobile app. Ang deep link ay maaari ring magpadala ng konteksto: promo code, source ng traffic, identifier ng referral.

Ano ang URI-scheme at para saan ito?

URI-scheme — ay isang prefix ng URL na tumutukoy kung aling app ang dapat magproseso ng link (halimbawa, myapp://, vk://, tg://). Ginagamit ng system ang scheme para sa routing: hinahanap nito ang app na nagrehistro ng scheme na ito at ipinapadala ang URL para sa pagproseso.

Paano gumagana ang deferred deep link?

User ay nag-click sa link → serbisyo (Branch, AppsFlyer) ay naaalala ang konteksto → nagre-redirect sa App Store/Google Play → pagkatapos ng installation at unang paglunsad, ang SDK ay nagpapadala ng naka-save na konteksto sa app → binubuksan ng app ang nais na screen, na parang ang user ay mayroon nang app.

Maaari bang gamitin ang deep link nang walang naka-install na app?

Ordinaryong deep link — hindi. Deferred deep link — oo, sa pamamagitan ng intermediate page na nagre-redirect sa app store at nag-iimbak ng konteksto. Ang Universal Link at App Link ay nagbubukas ng site bilang fallback kung hindi naka-install ang app.

Paano subukan ang deep link sa totoong device?

Sa Android gamitin ang adb: adb shell am start -W -a android.intent.action.VIEW -d “myapp://product/42”. Sa iOS — xcrun simctl openurl booted “myapp://product/42”. Para sa parehong platform ay available ang test console ng Firebase Dynamic Links at Branch.

Konklusyon

  • Deep Link — URL na nagbubukas ng partikular na screen ng app, hindi ang pangunahing pahina o site
  • Tatlong uri — Standard (lamang sa naka-install na app), Deferred (may paghihintay ng installation), Contextual (may UTM parameter)
  • Custom URL Scheme (myapp://) — simpleng paraan, ngunit walang fallback kung wala ang app
  • Universal Link at App Link — ebolusyon ng deep link na may verification ng domain at browser fallback
  • iOS ay nagpoproseso ng deep link sa pamamagitan ng AppDelegate/SceneDelegate, Android — sa pamamagitan ng Intent Filter
  • Deferred Deep Link ay nangangailangan ng intermediary SDK (Branch, AppsFlyer) para sa pag-iimbak ng konteksto bago ang installation
  • Pagsubok ng lahat ng tatlong estado (cold, warm, active) — mandatoryong yugto ng pag-configure ng deep link

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din