Deep Link: ce este, tipuri de linkuri și principiul de funcționare

Autor: IT Sectr Publicat: 2026-05-14 Timp de citire: 9 min

Deep Link (link profund) — este un URL care direcționează utilizatorul către un ecran sau conținut specific din aplicația mobilă, ocolind ecranul principal. Spre deosebire de un link obișnuit către un site web, deep link activează aplicația și deschide imediat conținutul țintă. Potrivit Android Developers, deep link-urile configurate corect cresc conversia către acțiunea țintă cu 30–50% datorită reducerii numărului de pași până la conținut.

Principalele

  • Deep Link — URL care deschide un ecran specific al aplicației, nu pagina principală
  • URI-schema (myapp://profile/123) — metodă clasică deep link, funcționează pe ambele platforme
  • Deferred Deep Link — link care se activează după instalarea aplicației, transmițând context
  • Universal Link (iOS) și App Link (Android) — evoluția deep link cu verificare domeniu
  • Deep link contextual — transmite parametri suplimentari: cod promoțional, referrer, sursă de trafic

Deep Link (link profund) — este un URI care, la click, deschide nu o pagină web, ci un ecran specific din aplicația mobilă. Tehnologia rezolvă o problemă fundamentală a platformelor mobile: browserul nu poate deschide direct un ecran al aplicației, iar deep link creează o punte între web și codul nativ. Fără deep link, utilizatorul ajunge mereu pe ecranul principal și trebuie să navigheze manual la conținutul dorit.

Arhitectura deep link constă din două părți: schema (scheme) determină ce aplicație trebuie să proceseze linkul, iar calea (path) indică resursa specifică din aplicație — produs, articol, profil de utilizator sau secțiunea de setări. Parametrii de interogare (?source=push&campaign=summer) transmit context suplimentar pentru analitică, personalizare și atribuire campanii.

Este important să facem distincție între deep link și linkul obișnuit. Un link obișnuit (https://example.com/product/42) se deschide într-un browser și duce la versiunea web a paginii. Deep link (myapp://product/42) cu aplicația instalată deschide ecranul nativ cu același conținut, iar dacă aplicația lipsește — afișează o eroare. Tocmai pentru rezolvarea problemei de fallback fără probleme au fost create Universal Link (iOS) și App Link (Android).

Sarcini diferite necesită tipuri diferite de deep link. Unele linkuri funcționează doar cu aplicația instalată, altele pot aștepta instalarea, iar altele transmit context analitic. Alegerea tipului depinde de scenariul de utilizare: campanie publicitară, notificare push, partajare de conținut sau trimitere prin email.

Deep Link standard (Standard Deep Link)

Standard Deep Link — tipul de bază care se activează doar dacă aplicația este deja instalată pe dispozitiv. Utilizatorul face click pe linkul myapp://product/42, sistemul identifică schema înregistrată și deschide aplicația pe ecranul corespunzător. Dacă aplicația nu este instalată — browserul afișează eroarea „Pagina nu a fost găsită” sau pur și simplu nu face nimic. Acest tip este potrivit pentru navigare internă într-o aplicație deja instalată.

Configurarea deep link-ului standard este simplă: este suficient să înregistrați URI-schema în manifest (Android) sau Info.plist (iOS). Nu necesită validare server sau certificate SSL. Dar tocmai din cauza lipsei de fallback, acest tip este considerat depășit pentru campanii de marketing — pierderea de trafic de la utilizatorii fără aplicație ajunge la 60%.

Deferred Deep Link (link profund amânat)

Deferred Deep Link rezolvă principala problemă a deep link-urilor obișnuite: funcționează chiar dacă aplicația nu este instalată. Utilizatorul face click pe link → vede o pagină (landing sau App Store/Google Play) → instalează aplicația → la prima lansare, aplicația primește contextul linkului original și deschide ecranul dorit. Tehnologia necesită un SDK intermediar (AppsFlyer, Branch, Adjust) care stochează contextul pe server până la prima lansare.

Branch — una dintre cele mai populare platforme pentru deferred deep link. Oferă un link unic care funcționează pe toate platformele: detectează sistemul de operare al utilizatorului, redirecționează către magazinul de aplicații, iar după instalare transmite contextul (cod promoțional, identificator produs, sursa campaniei). Conform datelor Branch (2024), deferred deep link-urile cresc conversia campaniilor publicitare cu 40–70%.

Contextual Deep Link (link profund contextual)

Contextual Deep Link — este un deep link obișnuit sau amânat, completat cu parametri de context: sursa de trafic (source), campania (campaign), cod promoțional, referrer, identificator partener. Parametrii sunt transmiși în URL și procesați de aplicație pentru personalizare: afișarea unui bonus de bun venit, deschiderea unui produs cu discount, înregistrarea analiticii instalării.

Etichetele UTM (utm_source, utm_medium, utm_campaign) — metoda standard de transmitere a contextului. În mobile, deep link-urile contextuale sunt critice pentru atribuire: fără ele, proprietarul aplicației nu știe ce canal a adus utilizatorul — trafic organic, reclamă Facebook, trimitere prin email sau cod QR. Atribuirea de calitate necesită integrare cu MMP (Mobile Measurement Partner).

Tip Deep LinkNecesită instalareSuportă așteptare instalareContext
StandardDaNuDoar în URL
DeferredNuDaStocare server
ContextualOricareOricareUTM + parametri

iOS suportă deep link prin două mecanisme: vechiul Custom URL Scheme și modernul Universal Link (iOS 9+). Custom URL Scheme funcționează pe principiul înregistrării unei scheme personalizate în Info.plist. Aplicația înregistrează myapp://, iar iOS la click pe un astfel de link deschide aplicația. Problemă: dacă schema nu este înregistrată de nicio aplicație, browserul afișează o eroare.

Procesarea deep link pe iOS are loc prin metoda AppDelegate application(_:open:options:) sau SceneDelegate scene(_:openURLContexts:). Dezvoltatorul extrage URL-ul, parsează calea și parametrii, apoi navighează la ecranul corespunzător. Dacă se utilizează SwiftUI, procesarea se face prin OpenURLAction sau onChange(of: openURL). Este important să se proceseze corect starea: aplicația poate fi nelansată, minimizată sau activă.

Securitatea pe iOS este strictă: Custom URL Scheme poate fi interceptat de orice aplicație care înregistrează aceeași schemă. Aceasta este o vulnerabilitate potențială (URL Scheme hijacking). De aceea Apple recomandă Universal Link ca alternativă mai sigură: doar proprietarul de domeniu confirmat poate asocia linkuri cu aplicația. Mai multe despre Universal Link — în articolul Universal Link.

Android implementează deep link prin Intent Filter în AndroidManifest.xml. Aplicația definește o Activity care procesează o anumită schemă (myapp://) sau gazde și căi specifice. Când utilizatorul face click pe un deep link, Android caută o Activity cu Intent Filter potrivit și o deschide. Dacă există mai multe Activity-uri potrivite — sistemul afișează un dialog de selectare a aplicației.

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

Procesarea deep link în Android se face în metoda Activity.onCreate() sau onNewIntent(). Dezvoltatorul primește Intent, extrage URI și apelează navigarea. Pentru Jetpack Navigation, componenta Navigation Deep Link permite descrierea declarativă a deep link-ului în graful de navigare. Android App Link (Android 6.0+) — evoluția deep link cu verificare prin Digital Asset Links, eliminând dialogul de selectare a aplicației.

Este important să se țină cont de modificările Android 12+: începând cu API 31, sistemul necesită specificarea explicită a exported=true pentru Activity-urile care procesează deep link și verifică corectitudinea Intent Filter. Google Play Store verifică App Link la publicare. Fără verificare, Google poate respinge actualizarea dacă deep link-urile duc către pagini inexistente ale site-ului.

Configurarea deep link include câteva etape comune pentru ambele platforme. Primul pas — determinarea schemei și a structurii URL. Se recomandă utilizarea schemei https (în locul uneia personalizate) pentru compatibilitate cu Universal Link și App Link. Structura URL ar trebui să reflecte structura site-ului web: /product/42, /profile/john, /settings/notifications. Aceasta simplifică întreținerea și indexarea conținutului de către motoarele de căutare.

Etapa a doua — procesarea deep link în codul aplicației. Pentru Android se recomandă Jetpack Navigation cu deep link-uri declarative în nav_graph. Pentru iOS — SwiftUI NavigationStack cu procesare OpenURLAction. Este important să se proceseze trei stări ale aplicației: cold start (aplicația nelansată), warm start (minimizată) și active (pe ecran). Fiecare stare necesită o logică de navigare diferită.

  • Determinați schema și structura URL (myapp:// sau https://your.domain/)
  • Înregistrați schema în manifest (Android) sau Info.plist (iOS)
  • Implementați procesarea în Activity sau AppDelegate/SwiftUI
  • Configurați fallback pentru cazul când aplicația nu este instalată
  • Testați toate trei stările: cold start, warm start, active

Testarea deep link — o sarcină separată. Android Studio oferă instrumentul App Links Assistant pentru verificarea Intent Filter. Pe iOS, testarea se face prin Xcode cu transmiterea URL-ului prin argumentele schemei de lansare. Se recomandă configurarea unei verificări CI: trecerea automată prin deep link și verificarea că s-a deschis ecranul așteptat. Pentru deferred deep link, testarea include ciclul complet „instalare → prima lansare → context”. Fără testare, deep link-urile se strică adesea la actualizarea navigării în aplicație.

Întrebări frecvente

Cu ce se deosebește deep link de un link obișnuit?

Linkul obișnuit (https://site.com/page) se deschide într-un browser. Deep link (myapp://page sau https://site.com/page cu verificare) deschide un ecran în aplicația mobilă. Deep link poate transmite și context: cod promoțional, sursa de trafic, identificator referal.

Ce este o URI-schemă și de ce este necesară?

URI-schema — este un prefix URL care determină ce aplicație trebuie să proceseze linkul (de exemplu, myapp://, vk://, tg://). Sistemul folosește schema pentru rutare: găsește aplicația care a înregistrat această schemă și îi transmite URL-ul pentru procesare.

Cum funcționează deferred deep link?

Utilizatorul face click pe link → serviciul (Branch, AppsFlyer) memorează contextul → redirecționează către App Store/Google Play → după instalare și prima lansare, SDK-ul transmite contextul salvat aplicației → aplicația deschide ecranul dorit, ca și cum utilizatorul ar fi avut deja aplicația.

Se poate folosi deep link fără aplicație instalată?

Deep link obișnuit — nu. Deferred deep link — da, printr-o pagină intermediară care redirecționează către magazinul de aplicații și salvează contextul. Universal Link și App Link deschid site-ul ca fallback dacă aplicația nu este instalată.

Cum să testez deep link pe dispozitive reale?

Pe Android folosiți adb: adb shell am start -W -a android.intent.action.VIEW -d “myapp://product/42”. Pe iOS — xcrun simctl openurl booted “myapp://product/42”. Pentru ambele platforme sunt disponibile consolele de testare Firebase Dynamic Links și Branch.

Concluzii

  • Deep Link — URL care deschide un ecran specific al aplicației, nu pagina principală sau site-ul
  • Trei tipuri — Standard (doar cu aplicație instalată), Deferred (cu așteptare instalare), Contextual (cu parametri UTM)
  • Custom URL Scheme (myapp://) — metodă simplă, dar fără fallback la lipsa aplicației
  • Universal Link și App Link — evoluția deep link cu verificare domeniu și fallback în browser
  • iOS procesează deep link prin AppDelegate/SceneDelegate, Android — prin Intent Filter
  • Deferred Deep Link necesită SDK intermediar (Branch, AppsFlyer) pentru stocarea contextului înainte de instalare
  • Testarea tuturor celor trei stări (cold, warm, active) — etapă obligatorie a configurării deep link

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și