← Retour au blog

Guide complet des Universal Links

Tout ce que vous devez savoir sur les universal links, deep links et app links pour iOS et Android

10 octobre 202512 min de lectureTutoriel

Comment fonctionnent les Universal Links

Le processus implique trois composants clés :

1

Fichier Apple App Site Association (AASA)

Un fichier JSON hébergé sur votre domaine à /.well-known/apple-app-site-association qui indique à iOS quelles apps peuvent gérer votre domaine.

2

Configuration de l’app

Votre app doit être configurée pour gérer des domaines et patterns d’URL spécifiques via entitlements (iOS) ou intent filters (Android).

3

Code de gestion des URL

Votre app implémente du code pour recevoir l’URL du deep link et naviguer vers le bon écran ou contenu.

Implémentation des Universal Links sur iOS

Étape 1 : Créer le fichier AASA

Créez un fichier nommé apple-app-site-association (sans extension) avec cette structure : apple-app-site-association

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

Important

Le fichier doit être servi en HTTPS avec un certificat SSL valide. Il doit aussi renvoyer le header Content-Type: application/json.

Étape 2 : Configurer votre app iOS

Dans Xcode, ajoutez la capability Associated Domains avec votre domaine :

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

Étape 3 : Gérer l’URL dans votre 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
}

Implémentation des App Links sur Android

Étape 1 : Créer assetlinks.json

Hébergez ce fichier sur 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"
    ]
  }
}]

Étape 2 : Mettre à jour 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>

Étape 3 : Gérer 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)
    }
}

Bonnes pratiques et pièges courants

À faire

  • Utilisez toujours HTTPS pour votre domaine
  • Testez sur de vrais appareils, pas seulement sur simulateurs
  • Prévoyez des URLs fallback pour les utilisateurs web
  • Ajoutez un tracking analytics complet
  • Gérez correctement les cas limites
  • Gardez vos fichiers AASA/assetlinks à jour

À éviter

  • N’utilisez pas de redirections pour les fichiers AASA/assetlinks
  • N’oubliez pas de valider la syntaxe JSON
  • Ne hardcodez pas la logique de navigation de l’app
  • Ne supposez pas que l’app sera toujours installée
  • Ne sautez pas les tests sur différentes versions d’OS

Test et débogage

Tests iOS

  • 1. Utilisez le validateur AASA d’Apple
  • 2. Testez les liens dans Notes, Messages ou Mail
  • 3. Vérifiez les logs dans Xcode Console
  • 4. Vérifiez l’association de domaine dans Réglages → Developer

Tests Android

  • 1. Utilisez adb shell am start -a android.intent.action.VIEW -d "your-url"
  • 2. Testez dans Chrome, Gmail et applications de messagerie
  • 3. Vérifiez le statut avec adb shell dumpsys package domain-preferred-apps
  • 4. Surveillez les erreurs dans logcat

Analytics et attribution

Une analytics correcte est essentielle pour comprendre les performances de vos universal links. Suivez ces métriques :

  • CTR par canal
  • Taux d’ouverture app vs taux de fallback web
  • Coût d’acquisition par canal
  • Taux de conversion des contenus deep-linkés
  • Temps jusqu’à la première action après deep link
  • Performance par plateforme (iOS vs Android)

Conseil pro

Utilisez une plateforme de smart links comme Appy pour gérer automatiquement les universal links, suivre les analytics et fournir des fallbacks. Vous économisez des semaines de développement et obtenez une infrastructure enterprise.

Essayer Appy gratuitement

Conclusion

Les universal links sont essentiels pour les apps mobiles modernes. Ils offrent un UX fluide, améliorent l’attribution et fonctionnent de manière fiable entre plateformes. Même si l’implémentation demande de l’attention, les bénéfices le justifient.

Commencez par les bases, testez soigneusement, puis améliorez selon les données réelles. Et si vous voulez éviter la complexité, utilisez une plateforme comme Appy qui gère cela automatiquement.

Ressources Appy associées

Découvrez les outils Appy pour universal links, deep links et QR codes afin d’accélérer la croissance des apps mobiles.

Continuer à explorer

Guide
Oct 8, 2025
8 min de lecture

Deep Linking vs Universal Links : comparaison complète

Comprenez les différences clés entre deep links et universal links, quand utiliser chaque approche et comment les implémenter correctement.

deep linking
universal links
comparison
mobile apps
Lire l’article
Dépannage
Mar 7, 2026
11 min de lecture

Universal Links ouvrent Safari ? Corrigez AASA, App Links, redirections et headers

Workflow pratique pour corriger les universal links et app links qui ouvrent le navigateur au lieu de l’app.

universal links
app links
aasa
assetlinks
Lire l’article
Migration
Oct 5, 2025
7 min de lecture

Arrêt de Firebase Dynamic Links : guide complet de migration vers Appy

Firebase Dynamic Links ferme. Voici un guide complet pour migrer vers Appy sans interruption de service.

firebase
dynamic links
migration
deep linking
Lire l’article

Vous cherchez autre chose ? Parcourez tous les sujets sur le blog Appy.

Évitez la complexité. Utilisez Appy.

Appy gère automatiquement universal links, deep linking, QR codes et analytics. Sans code.

Guide complet des Universal Links pour iOS et Android · Appy