Skip to content

Cum să configurezi deep linking pentru aplicația mobilă

DodaTech Updated 2025-01-15 2 min read

In this tutorial, you'll learn about Cum să configurezi deep linking pentru aplicația mobilă. We cover key concepts, practical examples, and best practices.

În acest ghid rapid vei învăța cum să configurezi deep linking în aplicația ta mobilă, permițând utilizatorilor să deschidă ecrane specifice direct din link-uri web, email-uri sau notificări.

The Problem

Link-urile către conținutul aplicației duc de obicei la pagina web sau la ecranul principal al aplicației, nu la conținutul specific. Acest lucru înrăutățește experiența utilizatorului și reduce engagement-ul.

The Wrong Way

// Fără deep link — toate link-urile deschid ecranul principal
startActivity(Intent(this, MainActivity::class.java))

The Right Way

<!-- AndroidManifest.xml -->
<activity android:name=".ProductActivity">
    <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="www.aplicatia-mea.ro"
            android:pathPrefix="/produs" />
    </intent-filter>
</activity>
// În ProductActivity — extrage ID-ul produsului
class ProductActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        val productId = intent?.data?.lastPathSegment ?: ""
        // Încarcă produsul cu ID-ul respectiv
    }
}

Output: Link-ul https://www.aplicatia-mea.ro/produs/123 deschide direct ecranul produsului cu ID 123 în aplicație.

Step-by-Step Fix

1. Adaugă intent filter pe Android

Configurează intent-filter în AndroidManifest.xml pentru activitatea țintă.

<!-- apple-app-site-association (pe server, la rădăcină) -->
{
  "applinks": {
    "apps": [],
    "details": [{
      "appID": "TEAM_ID.com.aplicatia.prod",
      "paths": ["/produs/*"]
    }]
  }
}

3. Verifică asocierea domeniului

# Pe iOS, verifică apple-app-site-association
curl https://www.aplicatia-mea.ro/.well-known/apple-app-site-association
# Pe Android, folosește adb
adb shell am start -W -a android.intent.action.VIEW -d "https://www.aplicatia-mea.ro/produs/123"

Output: Aplicația se deschide direct pe ecranul produsului 123.

Prevention Tips

  • Testează deep link-uri din aplicații terțe (Chrome, Gmail, WhatsApp)
  • Gestionează cazul când aplicația nu este instalată (fallback la website)
  • Folosește Firebase Dynamic Links sau Branch.io pentru soluții cross-platform
  • Verifică certificatul digital pe iOS prin Associated Domains

Common Mistakes

  1. PathPrefix greșitpath vs pathPrefix vs pathPattern se comportă diferit
  2. Fără fallback URL — utilizatorii fără aplicație văd o eroare 404
  3. Asocierea domeniului eșuată pe iOS — fișierul apple-app-site-association trebuie să fie la rădăcina domeniului, nefirmat
  4. Query parameters ignorați — deep link-urile cu parametri au nevoie de parsare suplimentară
  5. Testare insuficientă — testarea doar din browser nu acoperă toate scenariile reale

FAQ

### Ce este deep linking?

Deep linking este tehnica prin care un link extern deschide direct un ecran specific din aplicația mobilă, nu doar ecranul principal.

Universal link este un tip de deep link specific iOS care nu necesită fallback la browser și este mai sigur.

Folosește Safari și tastează link-ul direct în bara de adrese, sau folosește comanda xcrun simctl openurl booted "https://...".

Da, atât pe Android Emulator cât și pe iOS Simulator poți testa deep link-uri cu comenzile corespunzătoare.

Da, poți configura mai multe host-uri și scheme în intent-filter sau apple-app-site-association.

Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. DodaTech tools integrate seamlessly with mobile technologies for enhanced productivity and security.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro