App Intents : comment améliorer l'expérience utilisateur de vos applications iOS ?

Nos conseils pour utiliser les App Intents d'Apple et transformer l'interaction utilisateur avec vos applications iOS. Guide complet d'implémentation et bonnes pratiques des App Intents.
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

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

Limites techniques à connaître

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

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()

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

Exemple de code :

@Parameter(title: "Localité", description: "La localité pour obtenir des informations.")
var locality: LocalityEntity 

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

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

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

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 !

Publié par Mickaël Laloum