Universal links, app links et deep links : les différences

Deep link, universal link, app link, trois termes qui reviennent dans toutes les discussions sur le mobile marketing, souvent utilisés comme synonymes par des personnes qui veulent dire des choses différentes. Ce n'est pas juste une question de vocabulaire : confondre les trois peut conduire à implémenter la mauvaise solution et rater des comportements attendus sur iOS ou Android. Voici les définitions précises et la logique qui permet de choisir.

Deep link : le terme générique

Un deep link (ou lien profond) désigne n'importe quel lien qui ouvre une app sur un écran spécifique plutôt que sur l'écran d'accueil. C'est le terme générique, il englobe les deux types plus spécifiques (universal links et app links) ainsi que les anciens URL schemes.

Les URL schemes (monapp://produit/123) étaient la première implémentation des deep links. Ils fonctionnent encore, mais présentent un problème majeur : si l'app n'est pas installée, l'URL scheme produit une erreur, pas une redirection vers l'App Store. C'est ce problème que les universal links et app links ont résolu.

Universal links (iOS) et App Links (Android) : les différences

CritèreUniversal Links (iOS)App Links (Android)
PlateformeiOS 9+Android 6+
Fichier de vérificationapple-app-site-associationassetlinks.json
Hébergement requisHTTPS sur le domaine cibleHTTPS sur le domaine cible
Fallback si app absenteWeb browserWeb browser
Fonctionnement sans internet✗ Non✗ Non
Bypass utilisateur possibleVia pression longueVia paramètres

Universal links (iOS) fonctionnent ainsi : Apple associe votre app à un domaine via le fichier apple-app-site-association hébergé sur le domaine HTTPS. Quand un utilisateur iOS clique sur un lien de ce domaine, iOS vérifie cette association et ouvre l'app directement si elle est installée, sans passer par Safari. Si l'app n'est pas installée, le lien s'ouvre dans le navigateur normalement.

App Links (Android) suivent le même principe avec un fichier assetlinks.json hébergé sur le domaine. Android vérifie l'association et ouvre l'app si elle est installée. Même comportement de fallback vers le navigateur si l'app est absente.

La vraie différence avec les URL schemes :

les universal links et app links utilisent des URLs HTTPS standards, le même lien fonctionne dans un navigateur ET ouvre l'app. Pas de protocole custom, pas d'erreur si l'app est absente. C'est pour ça que Firebase Dynamic Links les utilisait comme couche sous-jacente.

Lequel utiliser : et pourquoi pas les deux

En pratique, une implémentation correcte de deep linking pour une app mobile nécessite les deux : universal links pour iOS et app links pour Android. Ce sont des systèmes distincts, avec des fichiers de vérification différents, hébergés sur votre domaine.

Les plateformes de deep linking comme frqr.app gèrent cette dualité, elles créent une URL unique qui déclenche le bon comportement sur chaque plateforme, en gérant les fichiers de vérification et la logique de routing côté serveur.

L'implémentation 'maison' sans outil tiers est possible mais demande de maintenir les deux fichiers de vérification, gérer les cas limites (app en arrière-plan, version ancienne installée, WebView dans une autre app), et traiter le deferred deep linking (ouvrir le bon contenu après installation). C'est plusieurs semaines de développement selon la complexité de l'app.

Articles liés

frqr.app, Deep links iOS et Android en une URL

Un lien qui s'adapte à iOS et Android automatiquement

frqr.app gère les universal links iOS et app links Android depuis une interface unique, sans maintenir les fichiers de vérification à la main.

FAQ

Un deep link peut-il fonctionner si l'app n'est pas installée ?

Les URL schemes classiques échouent si l'app est absente. En revanche, les universal links (iOS) et app links (Android) redirigent automatiquement vers le navigateur si l'app n'est pas installée, c'est l'un de leurs avantages clés. Le deferred deep linking va plus loin : il 'mémorise' le contexte du lien pendant l'installation et redirige l'utilisateur vers le bon écran après l'avoir installée depuis les stores.

Peut-on utiliser un seul système pour iOS et Android ?

Universal links et app links sont deux systèmes distincts, propres à chaque OS. Une plateforme de deep linking (comme frqr.app, Branch ou Airbridge) expose une URL unique qui déclenche le bon comportement sur chaque plateforme : vous partagez un seul lien dans vos campagnes, quelle que soit la plateforme de l'utilisateur.

Deep link est le terme générique. Universal links (iOS) et app links (Android) sont les implémentations modernes qui fonctionnent sans URL scheme et avec fallback navigateur. Les deux sont nécessaires pour une app cross-platform.

Les plateformes comme frqr.app gèrent cette complexité côté serveur, ce qui évite de maintenir deux systèmes distincts dans la codebase.

Universal link : ce qu'il faut retenir

Pour aller plus loin : À propos des deep links (Android Developers).

À lire aussi


Article précédent
Article suivant