← Torna al blog

Guida completa agli Universal Links

Tutto quello che devi sapere su universal links, deep links e app links per iOS e Android

10 ottobre 202512 min di letturaTutorial

Come funzionano gli Universal Links

Il processo coinvolge tre componenti chiave:

1

File Apple App Site Association (AASA)

Un file JSON ospitato sul tuo dominio in /.well-known/apple-app-site-association che indica a iOS quali app possono gestire il dominio.

2

Configurazione app

La tua app deve essere configurata per gestire domini e pattern URL specifici negli entitlements (iOS) o intent filters (Android).

3

Codice di gestione URL

La tua app implementa codice per ricevere l’URL del deep link e navigare verso la schermata o il contenuto corretto.

Implementazione Universal Links su iOS

Passo 1: Crea il file AASA

Crea un file chiamato apple-app-site-association (senza estensione) con questa struttura: apple-app-site-association

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "TEAMID.com.yourcompany.yourapp",
        "paths": [
          "/products/*",
          "/articles/*",
          "/user/*"
        ]
      }
    ]
  }
}
⚠️

Importante

Il file deve essere servito via HTTPS con un certificato SSL valido. Deve anche restituire l’header Content-Type: application/json.

Passo 2: Configura la tua app iOS

In Xcode, aggiungi la capability Associated Domains con il tuo dominio:

applinks:yourdomain.com
applinks:www.yourdomain.com

Passo 3: Gestisci l’URL nella tua app

// AppDelegate.swift
func application(_ application: UIApplication,
                 continue userActivity: NSUserActivity,
                 restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
    
    guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
          let url = userActivity.webpageURL else {
        return false
    }
    
    // Handle the URL and navigate to appropriate screen
    handleUniversalLink(url)
    return true
}

Implementazione App Links su Android

Passo 1: Crea assetlinks.json

Ospita questo file su https://yourdomain.com/.well-known/assetlinks.json:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.yourcompany.yourapp",
    "sha256_cert_fingerprints": [
      "XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX"
    ]
  }
}]

Passo 2: Aggiorna AndroidManifest.xml

<activity android:name=".MainActivity">
    <intent-filter android:autoVerify="true">
        <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" />
        <data android:host="yourdomain.com" />
        <data android:pathPrefix="/products" />
    </intent-filter>
</activity>

Passo 3: Gestisci l’Intent

// MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    
    val action = intent.action
    val data = intent.data
    
    if (Intent.ACTION_VIEW == action && data != null) {
        // Handle the deep link
        handleDeepLink(data)
    }
}

Best practice ed errori comuni

Da fare

  • Usa sempre HTTPS per il tuo dominio
  • Testa su dispositivi reali, non solo simulatori
  • Implementa URL di fallback per utenti web
  • Aggiungi tracking analytics completo
  • Gestisci correttamente gli edge case
  • Mantieni aggiornati i file AASA/assetlinks

Da evitare

  • Non usare redirect per i file AASA/assetlinks
  • Non dimenticare di validare la sintassi JSON
  • Non hardcodare la logica di navigazione dell’app
  • Non assumere che l’app sia sempre installata
  • Non saltare test su diverse versioni OS

Test e debugging

Test iOS

  • 1. Usa il validatore AASA di Apple
  • 2. Testa i link in Note, Messaggi o Mail
  • 3. Controlla i log in Xcode Console
  • 4. Verifica associazione dominio in Impostazioni → Developer

Test Android

  • 1. Usa adb shell am start -a android.intent.action.VIEW -d "your-url"
  • 2. Testa in Chrome, Gmail e app di messaggistica
  • 3. Verifica stato con adb shell dumpsys package domain-preferred-apps
  • 4. Monitora errori in logcat

Analytics e attribuzione

Una buona analytics è fondamentale per capire le performance dei tuoi universal links. Monitora queste metriche:

  • CTR da canali diversi
  • Tasso di apertura app vs fallback web
  • Costo acquisizione per canale
  • Tassi di conversione dei contenuti deep-linked
  • Tempo alla prima azione dopo il deep link
  • Performance per piattaforma (iOS vs Android)

Suggerimento pro

Usa una piattaforma smart link come Appy per gestire universal links automaticamente, tracciare analytics e fornire fallback. Risparmi settimane di sviluppo e ottieni infrastruttura enterprise.

Prova Appy gratis

Conclusione

Gli universal links sono essenziali per le app mobili moderne. Offrono UX fluida, migliorano l’attribuzione e funzionano in modo affidabile tra piattaforme. Anche se l’implementazione richiede attenzione, i benefici valgono lo sforzo.

Parti dalle basi, testa a fondo e migliora in base ai dati reali. Se vuoi evitare la complessità, usa una piattaforma come Appy che gestisce tutto automaticamente.

Risorse Appy correlate

Esplora gli strumenti Appy per universal links, deep links e QR code per accelerare la crescita della tua app mobile.

Continua a esplorare

Guida
Oct 8, 2025
8 min di lettura

Deep Linking vs Universal Links: confronto completo

Comprendi le differenze chiave tra deep link e universal link, quando usare ciascun approccio e come implementarli correttamente.

deep linking
universal links
comparison
mobile apps
Leggi l’articolo
Risoluzione problemi
Mar 7, 2026
11 min di lettura

Universal Links aprono Safari? Correggi AASA, App Links, redirect e header

Workflow pratico per risolvere universal links e app links che aprono il browser invece dell’app.

universal links
app links
aasa
assetlinks
Leggi l’articolo
Migrazione
Oct 5, 2025
7 min di lettura

Chiusura di Firebase Dynamic Links: guida completa alla migrazione verso Appy

Firebase Dynamic Links viene chiuso. Ecco una guida completa per migrare ad Appy senza downtime.

firebase
dynamic links
migration
deep linking
Leggi l’articolo

Cerchi altro? Sfoglia tutti gli argomenti su il blog di Appy.

Evita la complessità. Usa Appy.

Appy gestisce automaticamente universal links, deep linking, QR code e analytics. Nessun codice richiesto.

Guida completa agli Universal Links per iOS e Android · Appy