Sur les appareils iOS, cela est réalisé par l'utilisation de schémas d'URL, qui sont des URL personnalisées qui déclenchent des actions spécifiques dans une application. Lorsqu'on est combiné à un CMS sans tête comme Directus, vous pouvez gérer dynamiquement le contenu que ces liens profonds pointent, permettant une expérience mobile évolutive et axée sur le contenu. Comprendre comment mettre en œuvre et utiliser le schéma d'URL iOS peut améliorer l'expérience utilisateur en fournissant une navigation transparente entre les pages Web et les applications mobiles, tout en maintenant le contenu centralisé et modifiable via Directus.

Qu'est-ce que le schéma d'URL iOS ?

Le schéma d'URL iOS est un protocole qui permet aux applications de communiquer entre elles en utilisant des URLs personnalisées. Chaque application peut enregistrer un ou plusieurs schémas d'URL personnalisés (par exemple, , ) dans son fichier . Lorsque le système rencontre un lien commençant par l'un de ces schémas, il lance l'application correspondante et lui transmet l'URL complète. Cela permet non seulement à l'application d'ouvrir mais aussi de naviguer vers une destination spécifique basée sur le chemin et les paramètres URL=s.

Par exemple, le schéma bien connu peut amener les utilisateurs directement sur un tweet, un profil d'utilisateur ou l'écran de composition selon le chemin annexé. De même, peut ouvrir l'application Uber avec une destination pré-remplie. Ce comportement direct-à-contenu est ce qui rend les schémas URL si précieux pour les développeurs d'applications cherchant à réduire la friction et augmenter l'engagement.

D'un point de vue technique, les schémas URL utilisent les mêmes éléments structurels que les URLs web : un schéma, un hôte, un chemin optionnel et des paramètres de requête. La différence clé est que le schéma n'est pas ou mais une chaîne personnalisée enregistrée par l'application. Cela permet au système d'exploitation d'identifier uniquement quelle application doit gérer le lien.

Comment fonctionne le lien profond avec les schémas d'URL

La liaison profonde avec les schémas d'URL iOS implique la construction d'une URL qui indique à l'application où aller exactement. La structure typique est :

  • Siècle:[ L'identificateur du protocole personnalisé (p. ex. )
  • Host:[ Une chaîne de caractères semblable à un domaine qui identifie la zone cible (p. ex. , )
  • Path:[ Un ou plusieurs composants de chemin pour spécifier la ressource exacte (p. ex. ])
  • Paramètres: Interroger les paires de valeurs clés qui passent le contexte supplémentaire (par exemple, )

Lorsqu'un utilisateur tape un tel lien sur un appareil iOS, le système vérifie si une application installée a enregistré le schéma. Si oui, il lance l'application et remet l'URL à la méthode de délégation de l'application. L'application analyse ensuite l'URL et navigue vers la vue ou l'écran correspondant. Si aucune application n'est enregistrée, le système peut revenir au navigateur Web par défaut, mais seulement si le lien utilise un lien universel (plus tard).

Pour que le lien profond fonctionne de façon fiable, les développeurs doivent s'assurer que la structure de l'URL est cohérente à la fois dans le contenu web qui héberge les liens et dans la logique de routage de l'application. C'est là qu'un système de gestion de contenu comme Directus peut aider en stockant les URLs canoniques ou les ID qui conduisent la navigation de l'application.

Liens universels vs. Schémas d'URL personnalisés

Apple a introduit Universal Links dans iOS 9 comme une alternative plus sûre et transparente aux schémas d'URL personnalisés. Universal Links utilise des URLs HTTP/HTTPS standard (par exemple, ) et nécessite une validation côté serveur via un fichier . Lorsqu'un utilisateur tape sur un Universal Link, iOS vérifie le fichier, ouvre l'application directement si elle est installée, et ne laisse aucune redirection du navigateur. Si l'application n'est pas installée, le lien s'ouvre dans Safari comme site Web normal.

Les schémas d'URL personnalisés, en revanche, ont quelques inconvénients : ils peuvent être en conflit avec d'autres applications (deux applications pourraient enregistrer le même schéma), ils ne se replient pas gracieusement (le système montre une erreur si l'application est manquante), et ils peuvent être détournés par des applications malveillantes. Malgré ces limitations, les schémas d'URL personnalisés sont encore largement utilisés, en particulier pour les liens profonds dans une application unique ou pour la communication inter-app lorsque Liens Universels ne sont pas pris en charge.

Pour les applications de production, Apple recommande d'utiliser Universal Links comme mécanisme principal de liaison profonde et de revenir à des schémas URL personnalisés pour le support historique ou des cas d'utilisation spécifiques.

Intégration de liens profonds avec le contenu Directus

Directus est un CMS sans tête qui fournit une API flexible pour la gestion du contenu. Lorsque vous construisez une application iOS qui utilise un lien profond, vous pouvez utiliser Directus pour stocker les mappages entre les chemins d'URL et les éléments de contenu. Par exemple, chaque article ou produit de Directus peut avoir un champ ou qui devient partie intégrante de l'URL du lien profond.

Voici comment fonctionne une intégration typique:

  1. Définit les collections de contenu dans Directus (p. ex. , .
  2. Ajouter des champs[ comme , , – la limace est souvent utilisée dans le sentier de liaison profonde.
  3. Construisez l'URL du lien profond dynamiquement sur le front-end web ou le serveur en utilisant l'API Directus pour récupérer l'élément.
  4. Enregistrez le schéma d'URL dans l'application iOS (par exemple, .
  5. Parcourez le lien à l'intérieur de l'application et appelez l'API Directus pour récupérer le contenu complet de la limace donnée.

Ce modèle garantit que lorsqu'un éditeur de contenu met à jour un article dans Directus, le lien profond pointe automatiquement vers la dernière version – pas de chemins codés en dur.

Récupération du contenu de Directus pour les liens profonds

Pour illustrer, supposons que vous ayez une collection Directus avec un champ . Lorsque vous construisez une page Web qui se connecte à l'application iOS, vous généreriez une balise d'ancrage comme:

<a href="directusapp://article/how-to-deep-link">Read in App</a>

Dans l'application iOS, après avoir reçu l'URL, vous extraireiez la limace et vous demanderiez :

https://your-directus-project.example.com/items/articles?filter[slug][_eq]=how-to-deep-link

La réponse API contient les données complètes de l'article, que vous utilisez ensuite pour remplir la vue. Cela découple l'application du contenu codé en dur et rend le lien profond vraiment dynamique.

Directus prend également en charge les champs relationnels, de sorte que vous pourriez avoir un lien profond vers un profil d'utilisateur spécifique ou une collection connexe. Par exemple, pourrait récupérer l'utilisateur de la collection et afficher leurs détails.

Construire des URLs de liens profonds dans le contenu Web

Lorsque vous générez des liens profonds depuis votre interface web, vous avez généralement deux choix : créer les URL manuellement en utilisant le schéma personnalisé de l'application, ou utiliser des Liens universels. Avec Universal Links, l'URL est simplement l'URL du site Web public (par exemple ). Le système iOS gère automatiquement la redirection basée sur le fichier . Cela est souvent préféré parce que cela fonctionne même si l'utilisateur n'a pas l'application, et il évite l'erreur -"Cannot Open Page" que les schémas personnalisés déclenchent.

Pour mettre en œuvre Universal Links avec Directus, vous devez :

  • Hôte le fichier JSON à la racine de votre domaine (par exemple, .
  • Assurez-vous que votre API Directus et votre interface web s'exécutent sur le même domaine, ou configurez le fichier d'association sur le domaine web.
  • Dans l'application iOS, activez --Domaines associés - dans l'onglet Capacités de Xcode et ajoutez le domaine (par exemple ].
  • Gérer les Liens Universels entrants dans la méthode de délégation.

En utilisant Universal Links, vous obtenez une expérience robuste et sécurisée de connexion profonde qui respecte le contexte de l'utilisateur. La flexibilité Directus signifie que vous pouvez gérer le contenu de ces liens de manière centralisée, mettre à jour les limaces, titres, ou même rediriger les anciens liens vers un nouveau contenu sans toucher à l'application.

Implémentation de schémas URL personnalisés dans votre application iOS

Pour commencer avec les schémas URL personnalisés dans un projet Xcode, ouvrez votre application et ajoutez une clé appelée . Sous cela, créez un dictionnaire avec un (habituellement votre identifiant de paquet apps) et un tableau de contenant votre schéma personnalisé (par exemple, .

Ensuite, implémentez la méthode dans votre (ou l'équivalent du cycle de vie SwiftUI). Cette méthode reçoit l'URL et vous pouvez analyser ses composants. Une implémentation typique ressemble à:

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
 let scheme = url.scheme // "directusapp"
 let host = url.host // "article"
 let path = url.path // "/how-to-deep-link"
 let params = url.queryParameters // ["ref": "campaign"]

 // Handle routing based on host and path
 if host == "article" {
 let slug = path.dropFirst() // remove leading "/"
 navigateToArticle(withSlug: String(slug))
 } else if host == "product" {
 // ...
 }
 return true
}

Ce code snippet suppose que vous avez une extension pour extraire les paramètres de requête en tant que dictionnaire. Avec la limace extraite, vous pouvez appeler votre client de l'API Directus pour récupérer l'élément de contenu et pousser le contrôleur de vue approprié.

Manipulation des chutes avec grâce

Comme les schémas URL personnalisés ne proposent pas de repli intégré, vous devez en implémenter un manuellement. Une approche commune est d'utiliser une redirection JavaScript ou un contrôle côté serveur. Par exemple, sur votre site Web, vous pouvez détecter l'appareil utilisateur et essayer d'ouvrir le lien de schéma personnalisé. Si elle échoue (c.-à-d. que l'application n'est pas installée), vous pouvez rediriger l'utilisateur vers l'App Store ou vers une version web mobile du contenu.

Une technique consiste à utiliser le truc avec un minuteur:

<script>
 window.location = "directusapp://article/how-to-deep-link";
 setTimeout(function() {
 window.location = "https://apps.apple.com/your-app-id";
 }, 500);
</script>

Une méthode plus robuste consiste à utiliser l'approche pour iOS ou à intégrer un service de liaison profonde tiers comme Branch ou Firebase Dynamic Links. Lorsque vous utilisez Directus, vous pouvez aussi stocker l'URL de l'App Store dans une collection de systèmes et le récupérer dynamiquement pour le retour.

Meilleures pratiques pour lier profondément les applications à puissance directe

Pour créer un système de liaison profond avec Directus, suivez les directives suivantes :

  • Keep URLs human-readable. Utilisez des limaces au lieu d'ID opaques lorsque possible. Par exemple, est plus significatif que . Les limaces peuvent être générées par Directus avec des crochets ou des extensions.
  • Pour les schémas URL personnalisés, un retour à la version web ou à l'App Store est essentiel. Pour les Liens Universels, le retour est automatique (Safari).
  • Utiliser l'analyse Suivre les liens profonds s'ouvre dans Directus en enregistrant l'URL ou en utilisant une collection dédiée pour enregistrer les liens qui sont tapés.
  • Test sur les appareils réels.] Les tests de simulation ne peuvent pas reproduire complètement le comportement Universal Link. Test sur les appareils physiques utilisant différentes versions iOS.
  • Sécurisez votre schéma. Utilisez Universal Links sur des schémas personnalisés lorsque possible pour empêcher le squattage de schéma. Si vous devez utiliser un schéma personnalisé, le rendre unique – ajoutez votre entreprise à un domaine inversé, par exemple .
  • Cas de bord à poignée Si l'API Directus renvoie une erreur (p. ex., la limace n'existe plus), affichez un écran d'erreur amical ou redirigez vers un écran d'accueil dans l'application.

En adhérant à ces pratiques, vous vous assurez que les utilisateurs qui tapent sur un lien profond ont une expérience en douceur, qu'ils aient l'application installée ou non.

Test et débogage Liens profonds

Déboguer des liens profonds peut être difficile car le système cache souvent des fichiers d'association ou échoue silencieusement. Voici quelques conseils :

  • Utilisez le journal de console.Dans Xcode, définissez un point d'arrêt dans vos méthodes de délégation ou ajoutez pour voir quelles URL sont passées.
  • Simulez des liens depuis Safari. Vous pouvez tester des schémas d'URL personnalisés en tapant directement dans la barre d'adresse Safari. Pour Universal Links, vous devez héberger le fichier d'association et tester à partir d'un domaine réel.
  • Valider votre fichier app-app-site-association. Apple fournit un outil dans la console Apple Developer pour vérifier le fichier. Vous pouvez également utiliser des validateurs en ligne comme Branch=s AASA Validator.
  • Vérifiez les journaux de serveur.] Si vous utilisez Directus comme moteur de recherche, assurez-vous que le paramètre de votre API pour récupérer du contenu est accessible et retourne les données attendues. Utilisez des outils comme Postman pour simuler les requêtes.
  • Remettre le cache de l'appareil en mémoire. iOS cache le fichier d'association de manière agressive. Vous pouvez forcer une mise à jour en redémarrant l'appareil ou en basculeant en mode avion.

Pour un test approfondi, créez une liste de contrôle qui couvre à la fois les scénarios d'application installés et désinstallés, différentes versions iOS et divers formats de liens (avec et sans paramètres).

Conclusion

En combinant des schémas d'URL iOS pour un lien profond avec un CMS sans tête comme Directus, crée un système puissant et flexible pour la livraison de contenu directement aux utilisateurs dans votre application mobile. En centralisant la gestion de contenu dans Directus, vous pouvez mettre à jour les destinations de liens profonds, ajouter de nouveaux chemins et suivre l'engagement sans jamais reconstruire l'application. Que vous choisissiez des schémas d'URL personnalisés ou des Liens universels – et idéalement les deux – le résultat est un pont sans faille entre les expériences web et mobiles. Commencez par enregistrer un schéma, analyser les URL entrantes et les connecter à votre API Directus. Avec une mise en œuvre et des tests minutieux, le lien profond peut augmenter considérablement la rétention et la conversion des utilisateurs en réduisant les étapes nécessaires pour consommer votre contenu.

Pour plus de détails, consultez Apples documentation officielle sur les liens profonds, le documentation direct sur la CMS, et ce tutoriel Raywenderlich sur les liens universels pour des exemples d'implémentation étape par étape.