Guide sur la création de liens profonds iOS
Ce guide vous aide à choisir la stratégie de création de liens profonds la mieux adaptée à votre application iOS, en fonction du canal de communication que vous utilisez et de votre recours ou non à un fournisseur de liens tiers tel que Branch.
Pour plus de détails sur l’implémentation, consultez Création de liens profonds. Pour la résolution des problèmes, consultez Résolution des problèmes de création de liens profonds.
Choisir un type de lien
Il existe trois méthodes pour gérer les liens provenant des messages Braze dans votre application iOS. Chacune fonctionne différemment et convient à différents canaux et cas d’utilisation.
| Type de lien | Exemple | Idéal pour | S’ouvre sans application installée ? |
|---|---|---|---|
| Schéma personnalisé | myapp://products/123 |
Notifications push, messages in-app, Content Cards | Non — le lien échoue |
| Lien universel | https://myapp.com/products/123 |
E-mails, SMS, canaux avec suivi des clics | Oui — bascule vers le web |
| Ouvrir l’URL web dans l’application | Toute URL https:// |
Affichage de contenu web dans une WebView modale | N/A — s’affiche dans la WebView |
Liens profonds avec schéma personnalisé
Les liens profonds avec schéma personnalisé (par exemple, myapp://products/123) ouvrent votre application directement sur un écran spécifique. Il s’agit de l’option la plus simple pour les canaux où les liens ne sont pas modifiés par un tiers.
Utilisez des liens profonds avec schéma personnalisé lorsque :
- Vous envoyez des notifications push, des messages in-app ou des Content Cards
- Le lien n’a pas besoin de fonctionner si l’application n’est pas installée
- Vous n’avez pas besoin du suivi des clics (encapsulation des liens par l’ESP pour les e-mails)
N’utilisez pas de liens profonds avec schéma personnalisé lorsque :
- Vous envoyez des e-mails — les ESP encapsulent les liens pour le suivi des clics, ce qui casse les schémas personnalisés
- Vous avez besoin que le lien redirige vers une page web si l’application n’est pas installée
Liens universels
Les liens universels (par exemple, https://myapp.com/products/123) sont des URL HTTPS standard qu’iOS peut rediriger vers votre application au lieu de les ouvrir dans un navigateur. Ils nécessitent une configuration côté serveur (un fichier AASA) et une configuration côté application (autorisation de domaines associés).
Utilisez les liens universels lorsque :
- Vous envoyez des e-mails. Votre ESP encapsule les liens pour le suivi des clics, les liens doivent donc être en HTTPS.
- Vous envoyez des SMS ou utilisez d’autres canaux où les liens sont encapsulés ou raccourcis.
- Vous avez besoin que le lien redirige vers une page web lorsque l’application n’est pas installée.
- Vous utilisez un fournisseur de liens tiers tel que Branch ou AppsFlyer.
N’utilisez pas de liens universels lorsque :
- Vous n’avez besoin que de liens profonds depuis des notifications push, des messages in-app ou des Content Cards. Les schémas personnalisés sont plus simples.
« Ouvrir l’URL web dans l’application »
Cette option ouvre une page web dans une WebView modale au sein de votre application. Tout est géré par le SDK Braze via Braze.WebViewController — vous n’avez pas besoin d’écrire de code de gestion des URL.
Utilisez « Ouvrir l’URL web dans l’application » lorsque :
- Vous souhaitez afficher une page web (telle qu’une promotion ou un article) sans quitter votre application.
- L’URL est une page web HTTPS standard, et non un lien profond vers un écran spécifique de l’application.
N’utilisez pas « Ouvrir l’URL web dans l’application » lorsque :
- Vous devez naviguer vers une vue spécifique dans votre application. Utilisez plutôt un schéma personnalisé ou un lien universel.
- La page web nécessite une authentification ou comporte des en-têtes de politique de sécurité du contenu qui empêchent l’intégration.
Ce dont vous avez besoin pour chaque type de lien
Liens profonds avec schéma personnalisé
| Prérequis | Détails |
|---|---|
| Fichier AASA | Non requis |
Info.plist |
Enregistrez votre schéma sous CFBundleURLTypes et ajoutez-le à LSApplicationQueriesSchemes |
| Méthode déléguée de l’application | Implémentez application(_:open:options:) pour analyser l’URL et naviguer |
| Configuration du SDK Braze | Aucune — le SDK ouvre les URL avec schéma personnalisé par défaut |
Liens universels
| Prérequis | Détails |
|---|---|
| Fichier AASA | Requis — hébergez-le à l’adresse https://yourdomain.com/.well-known/apple-app-site-association |
| Domaines associés | Ajoutez applinks:yourdomain.com dans Xcode sous Signing & Capabilities |
| Méthode déléguée de l’application | Implémentez application(_:continue:restorationHandler:) pour gérer NSUserActivity |
| Configuration du SDK Braze | Définissez configuration.forwardUniversalLinks = true |
| BrazeDelegate (facultatif) | Implémentez braze(_:shouldOpenURL:) pour un routage personnalisé (par exemple, Branch) |

Si vous envoyez des e-mails via Braze, votre ESP (SendGrid, SparkPost ou Amazon SES) encapsule les liens dans un domaine de suivi des clics. Vous devez héberger le fichier AASA sur votre domaine de suivi des clics également, et pas uniquement sur votre domaine principal. Pour une configuration complète, consultez Liens universels et App Links.
« Ouvrir l’URL web dans l’application »
| Prérequis | Détails |
|---|---|
| Fichier AASA | Non requis |
| Méthode déléguée de l’application | Non requis — le SDK gère cela automatiquement |
| Configuration du SDK Braze | Aucune — sélectionnez Open Web URL Inside App dans l’éditeur de Campaign |
Quand avez-vous besoin d’un fichier AASA
Un fichier Apple App Site Association (AASA) n’est requis que lorsque vous utilisez des liens universels. Il indique à iOS quelles URL votre application peut gérer.
Vous avez besoin d’un fichier AASA lorsque :
- Vous envoyez des liens profonds dans des campagnes par e-mail (car les ESP encapsulent les liens dans des URL HTTPS de suivi des clics).
- Vous envoyez des liens profonds dans des campagnes SMS (car les liens peuvent être raccourcis en URL HTTPS).
- Vous utilisez Branch, AppsFlyer ou un autre fournisseur de liens (car ils utilisent leurs propres domaines HTTPS).
- Vous utilisez des liens universels depuis des notifications push, des messages in-app ou des Content Cards (moins courant, mais possible avec
forwardUniversalLinks = true).
Vous n’avez pas besoin d’un fichier AASA lorsque :
- Vous n’utilisez que des liens profonds avec schéma personnalisé (par exemple,
myapp://) depuis des notifications push, des messages in-app ou des Content Cards. - Vous utilisez l’option Open Web URL Inside App.
Pour les instructions de configuration AASA, consultez Liens universels et App Links.
Quand avez-vous besoin de code applicatif pour gérer les liens
La méthode déléguée que vous implémentez dépend du type de lien que vous utilisez :
| Méthode déléguée | Gère | Quand l’implémenter |
|---|---|---|
application(_:open:options:) |
Liens profonds avec schéma personnalisé (myapp://) |
Vous utilisez des liens profonds avec schéma personnalisé depuis n’importe quel canal |
application(_:continue:restorationHandler:) |
Liens universels (https://) |
Vous utilisez des liens universels depuis des e-mails, des SMS ou avec forwardUniversalLinks = true |
BrazeDelegate.braze(_:shouldOpenURL:) |
Toutes les URL ouvertes par le SDK | Vous avez besoin d’une logique de routage personnalisée (par exemple, Branch, traitement conditionnel, analytique) |

Si vous utilisez un fournisseur de liens tiers tel que Branch, implémentez BrazeDelegate.braze(_:shouldOpenURL:) pour intercepter les URL et les transmettre au SDK du fournisseur. Consultez Branch pour la création de liens profonds pour un exemple complet.
Utiliser Branch avec Braze
Si vous utilisez Branch comme fournisseur de liens, votre configuration nécessite quelques étapes supplémentaires par rapport à une configuration de lien universel standard :
- SDK Branch : intégrez le SDK Branch en suivant la documentation de Branch.
- Domaines associés : ajoutez votre domaine Branch (par exemple,
applinks:yourapp.app.link) dans Xcode sous Signing & Capabilities. - BrazeDelegate : implémentez
braze(_:shouldOpenURL:)pour router les liens Branch vers le SDK Branch au lieu de laisser Braze les gérer directement. - Transfert des liens universels : définissez
configuration.forwardUniversalLinks = truedans la configuration du SDK Braze.
Pour plus de détails sur l’implémentation et des conseils de débogage, consultez Branch pour la création de liens profonds.