App Intents : comment améliorer l'expérience utilisateur de vos applications iOS ?
Dans l'univers dynamique des applications mobiles, offrir une expérience utilisateur fluide et intuitive est primordial. Apple, précurseur dans ce domaine, a introduit les App Intents pour transformer la façon dont les utilisateurs interagissent avec leurs applications.
Besoin d'aide pour implémenter les App Intents ? Contactez nous !
Qu'est-ce qu'un App Intent ?
Un App Intent est un levier puissant qui permet aux utilisateurs d'accéder directement à une action spécifique au sein de votre application, sans avoir à l'ouvrir. Imaginez commander un repas via votre application de livraison favorite, simplement en utilisant Siri ou en tapant quelques mots dans Spotlight. C'est le pouvoir des App Intents : ils rendent votre application plus accessible et interactive.
Les apports indéniables des App Intents
- Expérience utilisateur améliorée : les App Intents suppriment les étapes inutiles, permettant aux utilisateurs d'effectuer des tâches rapidement et efficacement.
- Accessibilité accrue : grâce à Siri, Spotlight et l'application Raccourcis, les fonctionnalités de votre application sont à portée de main (ou de voix).
- Visibilité renforcée : en mettant en avant les actions pertinentes, les App Intents augmentent l'engagement des utilisateurs et la fréquence d'utilisation de votre application.
L'Intelligence Artificielle au service des App Intents
Avec l'arrivée d'Apple Intelligence, les App Intents deviennent encore plus puissants. Grâce à l'apprentissage automatique, votre application peut anticiper les besoins des utilisateurs et leur proposer des actions contextuelles. Par exemple, votre application de fitness pourrait suggérer une séance d'entraînement en fonction de l'heure de la journée ou des habitudes de l'utilisateur.
Conseils pour une intégration réussie des Apps Intents
- Identifiez les actions clés : commencez par déterminer les actions les plus importantes de votre application et rendez-les accessibles via des App Intents.
- Structurez vos Intents : utilisez les modèles prédéfinis par Apple (schémas d'assistant) pour une intégration plus facile et plus rapide.
- Personnalisez l'expérience : tirez parti des données contextuelles pour offrir des interactions personnalisées.
- Testez et optimisez : assurez-vous que vos App Intents fonctionnent parfaitement sur différentes interfaces et appareils.
Limites techniques à connaître
- Actions en tâche de fond : les actions effectuées par un App Intent en arrière-plan sont limitées à 30 secondes. Si une action nécessite plus de temps, préférez poursuivre l'action dans l'application elle-même.
- Suivi limité : le suivi direct des interactions via App Intents n'est pas possible.
Guide d'implémentation étape par étape
Concis, modernes et faciles à adopter, les App Intents sont un excellent moyen d'améliorer l'expérience utilisateur. Pour vous aider à démarrer, voici un guide étape par étape qui vous accompagnera tout au long du processus d'implémentation.
1. Créer votre AppIntent
- Conformité au protocole : créez une structure conforme au protocole AppIntent (ou à un protocole spécialisé pour certains comportements).
- Exécution en avant-plan : si nécessaire, définissez openAppWhenRun sur true pour que l'application s'ouvre au premier plan lors de l'exécution de l'intent.
Exemple de code :
struct OpenFavorites: AppIntent {
static var title: LocalizedStringResource = "Open Favorite Localites"
static var description = IntentDescription("Opens the app and goes to your favorite localities.")
static var openAppWhenRun: Bool = true
@MainActor
func perform() async throws -> some IntentResult {
navigationModel.selectedCollection = localityManager.favoritesCollection
return .result()
}
@Dependency
private var navigationModel: NavigationModel
@Dependency
private var localityManager: LocalityDataManager
}
2. Implémenter la méthode perform()
- Définition du comportement : cette méthode est le cœur de votre App Intent, elle définit ce qu'il fait lorsque les paramètres sont fournis.
Exemple de code :
func perform() async throws -> some IntentResult & ReturnsValue<LocalityEntity> & ProvidesDialog & ShowsSnippetView {
guard let localityData = localityManager.city(with: locality.id) else {
throw LocalityIntentError.LocalityNotFound
}
/**
You provide a custom view by conforming the return type of the `perform()` function to the `ShowsSnippetView` protocol.
*/
let snippet = LocalityInfoView(locality: localityData, includeConditions: true)
/**
This intent displays a custom view that includes the locality conditions as part of the view. The dialog includes the locality conditions when
the system can only read the response, but not display it. When the system can display the response, the dialog omits the locality
conditions.
*/
let dialog = IntentDialog(full: "The latest conditions reported for \(locality.name) indicate: \(locality.currentConditions).",
supporting: "Here's the latest information on locality conditions.")
return .result(value: locality, dialog: dialog, view: snippet)
}
3. Ajouter des paramètres à votre AppIntent
- Déclaration : utilisez l'attribut @Parameter pour déclarer les paramètres d'entrée.
- Types de paramètres : vous pouvez utiliser divers types, y compris les primitives, les collections, les types spécifiques au framework et les types personnalisés conformes au protocole AppEntity.
Exemple de code :
@Parameter(title: "Localité", description: "La localité pour obtenir des informations.")
var locality: LocalityEntity
- Obligatoires ou facultatifs : les types non optionnels sont obligatoires, utilisez requestValue(_:) pour les paramètres facultatifs.
Exemple de code :
@Parameter(title: "Code postale", description: "Le code postale de la ville")
var zipCode: String?
guard let zipCode else {
throw $zipCode.requestValue("Quel est le code postale de la ville ?")
}
4. Créer des raccourcis d'application
- Disponibilité : les App Intents sont automatiquement disponibles dans l'application Raccourcis.
- Création : créez un objet AppShortcut et fournissez-le via un AppShortcutsProvider.
Exemple de code :
let appShortcut = AppShortcut(
intent: OpenFavorites(),
phrases: ["Afficher mes localités préférées"],
shortTitle: "Localités préférées",
systemImageName: "star"
)
5. Donner des intents au système
- Découvrabilité : utilisez INInteraction.donate() pour suggérer vos intents au système, augmentant ainsi leur découvrabilité.
Exemple de code :
let intent = OpenFavorites() // Remplacez par votre intention spécifique
let interaction = INInteraction(intent: intent, response: nil)
interaction.donate(completion: nil)
6. Tester
- Validation : utilisez le simulateur ou des tests sur appareil pour valider le comportement de vos intents.
Conclusion
Les App Intents sont bien plus que de simples raccourcis ; ils sont une porte d'entrée vers une expérience utilisateur supérieure. En les intégrant intelligemment, vous pouvez non seulement améliorer l'expérience utilisateur, mais aussi augmenter l'engagement et la fidélisation.
Cela fait parti des opportunités qu'il faut vraiment exploiter, comme par exemple l'ajout de retour haptique dans vos apps, l'utilisation des lives activites, ou des widgets iOS.
Êtes-vous prêt à intégrer les App Intents dans vos projets futurs d'application mobile ? 🚀
Besoin d'aide pour implémenter les App Intents ? Contactez nous !