BAM

Les App Clips iOS : une expérience utilisateur plus rapide et plus fluide

86 % des adultes américains se font livrer leur dîner chez eux au moins une fois par mois (Gloria Food, 2023). Et Yelp est déterminé à les aider à y parvenir plus rapidement et plus facilement. Imaginez-vous. Vous sortez d’une dure journée de réunions, votre ventre crie famine. Vous ouvrez votre frigidaire, plein d’espoir … sauf qu’il est vide. Désespoir. Votre regard s’illumine : quelle bonne occasion de commander ! Sauf que c’est déjà la troisième fois cette semaine … Un restaurant alors ? Cela fait une éternité que vous n’y êtes pas allé(e). Vous voulez évidemment quelque chose de bon, mais aussi quelque chose qui soit proche de chez vous. Vous ouvrez Maps et recherchez des restaurants. Joe's Shanghai a l'air très bien. Vous ouvrez les détails du restaurant sur Maps pour connaître les horaires, sauf que surprise, on vous propose de commander dans ce restaurant directement via Yelp. Vous cliquez sur “Commander”. Encore une surprise, l'application Yelp, que vous n'avez même pas téléchargée, s'ouvre, vous permet de commander et de payer votre repas. En 2-3 clics, le tour est joué, même pas besoin de créer de compte ! Sans le savoir, vous venez d'utiliser votre premier App Clip.

Les App Clips, qu’est-ce que c’est ?

Les App Clips d'Apple sont une fonctionnalité introduite avec iOS 14, qui permet aux utilisateurs d'accéder rapidement à une partie spécifique d'une application, sans avoir à l’installer intégralement sur leur appareil. Ces versions allégées des applications se concentrent sur une fonctionnalité précise, comme commander un repas, louer un vélo ou payer un stationnement. Elles sont conçues pour être utilisées de manière ponctuelle ou occasionnelle.

Grâce à leur taille réduite (entre 10 et 50Mo), les App Clips assurent un chargement rapide et une utilisation fluide. Ils sont étroitement intégrés aux services Apple, tels qu'Apple Pay ce qui permet des transactions rapides et sécurisées et une expérience utilisateur simplifiée.

On peut découvrir et accéder aux App Clips de différentes manières, notamment via des QR codes ou des App Clips codes, des tags NFC, des liens partagés via iMessage ou Safari. Ils peuvent même apparaître dans les suggestions de Siri en fonction de votre localisation !

Lorsque l’App Clip est installé, il est également possible pour le développeur d’envoyer des notifications à l’utilisateur dans les 8h sans autorisation supplémentaire - pour vous prévenir qu’il est temps de libérer votre place de parking par exemple !

Les App Clips offrent une excellente occasion de mettre en évidence la valeur de votre application et d'encourager les utilisateurs à la télécharger pour bénéficier d'une expérience plus complète !

Tester les App Clips in real life

Si vous voulez tester la fluidité et la rapidité d’un App Clip vous-même, vous pouvez :

  • demander à un proche de vous partager une vidéo TikTok via iMessage. L’App Clip est automatiquement proposé pour la lecture de la vidéo.
  • vous rendre sur le site de Meetup via Safari et tenter de booker un évènement. L’App Clip est automatiquement proposé lorsque vous tentez de vous inscrire.

2 précautions avant de faire le test :

  • demander à un proche de vous partager une vidéo TikTok via iMessage. L’App Clip est automatiquement proposé pour la lecture de la vidéo.
  • assurez-vous que votre OS est à jour (iOS 14 minimum)
  • désinstallez l’application concernée, sinon celle-ci s’ouvrira à la place de l’App Clip !

Enfin, vous pouvez cliquer sur ce lien pour voir la magie opérer en vidéo, grâce à la démo Exxon Mobile (paiement à une pompe à essence).

Tiktok & Meet-Up

Côté Tech : comment configurer un App Clip sur votre projet?

Création

Pour créer un App Clip, vous devez ajouter une nouvelle target App Clip à votre projet Xcode. Cette target partage certaines ressources avec votre application parente, telles que les catalogues d’assets et les fichiers Swift.

Association avec l'application parente

Des entitlements doivent être définis pour garantir que l'App Clip et l'application parente communiquent de manière sécurisée.

  • ++code>com.apple.developer.associated-appclip-app-identifiers++/code> est une entitlement de l'application parente utilisée pour spécifier le(s) identifiant(s) de bundle des App Clip associés qui sont autorisés à communiquer avec notre application. Cette autorisation est requise pour que l'App Clip puisse accéder à certaines API, telles que la Keychain, qui sont partagées avec l'application parente. Elle est ajoutée par Xcode lors du processus d'archivage.
  • ++code>com.apple.developer.parent-application-identifiers++/code> est un entitlement de l'App Clip utilisé pour spécifier le(s) identifiant(s) de bundle des applications parentes avec lesquelles l'App Clip est associé.
  • ++code>com.apple.developer.on-demand-install-capable++/code> est un entitlement de notre App Clip qui identifie le bundle en tant qu'App Clip. Elle est ajoutée au moment de la signature, c'est pourquoi elle n'apparaît pas dans le fichier ++code>.entitlements++/code> de l'App Clip.

À cette étape, vous pouvez créer et déployer votre App Clip. Cependant, il n'est pas encore prêt pour la production.

Domaines associés

Pour permettre l'invocation de votre App Clip à partir de différentes sources, telles que des codes QR, des tags NFC ou des bannières d'application Safari, vous devez utiliser des universal links. Pour rendre ces liens fonctionnels, votre site web doit fournir les bonnes métadonnées pour que Safari puisse valider l’URL et ouvrir le bon App Clip associé. Vous devrez donc configurer des domaines associés avec votre application, en hébergeant le fichier ++code>apple-app-site-association++/code> sur votre serveur.

A partir d’iOS 16.4, vous pouvez également invoquer votre default App Clip Experience à partir d’un lien par défaut généré par Apple. Ce lien ne requière pas la configuration précédente.

Configuration de l’expérience

Pour personnaliser l'interface utilisateur et le comportement de l'App Clip, ainsi que toutes les actions ou intentions personnalisées qui y sont associées, vous pouvez configurer une expérience App Clip sur App Store Connect.

Test

Les App Clips peuvent être testés localement à l'aide de Xcode. Un schéma est créé lorsque vous générez la target de l’App Clip. Utilisez ce schéma pour créer et tester votre App Clip localement.

Déploiement

Cependant, toutes les plates-formes de distribution ne prennent pas en charge les App Clips. Pour tester votre App Clip dans un environnement iso production, vous devez la télécharger sur TestFlight.

Ouverture d’un App Clip depuis TestFlight

Validation

Les App Clips s'accompagnent cependant de certaines contraintes. Voici 3 limitations qui pourraient avoir un impact significatif sur vos plans :

  • La taille de l'App Clip doit être inférieure à
    - 10 Mo pour iOS 15 et antérieur
    - 15 Mo pour iOS 16
    - 15 Mo pour iOS 17 lorsque l’App Clip est invoqué depuis un lien physique (QRCode, NFC)
    - 50 Mo pour iOS 17 lorsque l’App Clip est invoqué depuis un lien digital (iMessage, Siri, lien dans l’application notes…)
  • Tous les frameworks et API natifs ne sont pas disponibles.
  • Votre App Clip et votre application doivent prendre en charge les mêmes types d'appareils. (Par exemple, votre application ne peut pas prendre en charge à la fois les iPhones et les iPads si votre App Clip ne prend en charge que les iPads).

App Clip dans le monde multiplateforme

Les App Clips peuvent être intégrés dans une application Flutter ou React Native et implémentés de manière native. Cependant, il est fortement recommandé de partager le code entre l'application et l'App Clip pour éviter de ré-implémenter toute la logique applicative et l'interface utilisateur en Swift.

React Native

Le système de rendu React Native peut être utilisé dans un App Clip. En 2021, Shopify a expérimenté ça et la résumé dans cet article. Si vous recherchez un article détaillé sur la façon de configurer un App Clip en React Native, vous pouvez consulter cet article d’Addaptor.

En résumé, pour que cela fonctionne, vous devez :

  • Ajouter vos dépendances iOS React Native à votre cible à l'intérieur de votre ++code>Podfile++/code>
  • Faire en sorte que votre ++code>AppDelegate++/code> implémente ++code>RCTAppDelegate++/code>. Cela initialisera et configurera l'environnement React Native, y compris la définition du moduleName pour le composant React Native principal, la fourniture de propriétés initiales et la détermination de l'URL du bundle JavaScript.
  • Ajouter de nouvelles phases de génération dans votre cible pour démarrer le packager et regrouper le code JavaScript de votre App Clip
  • En option, créer un nouveau point d'entrée JavaScript pour avoir un comportement différent entre votre App et votre App Clip

Et cela devrait fonctionner ! Cependant, cela présente quelques inconvénients :

  • La taille d'un App Clip vide généré à partir de la cli react-native@0.71.7 est déjà d'environ 7 Mo sur les 10 Mo de limite pour iOS 15. Une optimisation possible consiste à désactiver Hermes sur l'App Clip, ce qui peut réduire la taille d'environ 3 Mo. Néanmoins, vous devrez continuellement faire attention à la taille de votre App Clip si vous souhaitez supporter les anciennes versions d’iOS.
  • Toutes les dépendances natives de React Native sont intégrées par défaut. Vous pourrez cependant les sélectionner manuellement pour réduire encore la taille.
  • Toutes les nouvelles dépendances natives utilisées dans votre application principale et dans votre App Clip doivent être ajoutées aux deux cibles. Si vous oubliez d'en ajouter une, cela peut entraîner des bugs.

Flutter

Le système de rendu Flutter peut être utilisé dans un App Clip, comme expliqué dans la documentation officielle. Cependant, cette approche présente un inconvénient majeur : les dépendances Flutter sont trop lourdes. Même un App Clip vide prend environ 12 Mo, ce qui dépasse la limite de 10 Mo. Plus d'informations sur ce problème peuvent être trouvées ici : https://github.com/flutter/flutter/issues/71098. La nouvelle limite de 50Mo pour les invocations digitales va néanmoins permettre de débloquer la situation à mesure que les possesseurs d’iPhone migrent vers iOS 17.

Vers une adoption plus large des App Clips en France

En somme, les App Clips ont le potentiel de révolutionner la manière dont nous interagissons avec nos applications mobiles. Ils permettent une expérience utilisateur plus rapide, plus fluide et moins encombrante en supprimant la nécessité de télécharger une application complète pour accomplir une tâche spécifique. Leurs applications sont vastes, allant de la commande de repas à la réservation de places de concert, en passant par le paiement du stationnement.

Cependant, malgré leur potentiel indéniable, les App Clips sont encore peu utilisés en France. Alors que la technologie continue de se développer et de s'améliorer, il ne fait aucun doute que leur adoption et leur utilisation deviendront de plus en plus courantes. Le moment est donc idéal pour commencer à explorer le potentiel des App Clips.

Product Owner ?

Rejoins nos équipes