Les assistants vocaux des montres permettent de réaliser des scénarios rapides et efficaces lors de vos déplacements. Les interactions vocales sur les accessoires connectés sont dynamiques. L'utilisateur peut parler à son poignet sans avoir à regarder l'appareil en attendant une réponse.
Grâce aux actions dans l'application de l'Assistant, les développeurs Android peuvent intégrer l'Assistant Google dans les applications Wear OS, ce qui permet aux utilisateurs d'accéder plus rapidement à leurs applications avec des commandes vocales comme "Hey Google, lance mon jogging sur l'appli XXX".
Limites
L'Assistant sur Wear prend en charge les interactions avec les applications multimédias et le suivi des entraînements. Pour obtenir des conseils sur l'intégration d'applications multimédias avec l'Assistant, consultez Assistant Google et applications multimédias. Les intents intégrés suivants pour les applications de santé et de remise en forme sont compatibles avec les applications Wear OS :
Fonctionnement
Les actions dans les applications permettent d'intégrer l'Assistant à votre application. Les utilisateurs peuvent ainsi accéder aux fonctionnalités de votre application rapidement par commande vocale. Lorsqu'un utilisateur indique à l'Assistant qu'il souhaite utiliser votre application, celui-ci recherche les actions dans l'application enregistrées dans la ressource shortcuts.xml
.
Les actions dans l'application sont décrites dans shortcuts.xml
avec des éléments de fonctionnalité Android.
Les éléments de fonctionnalité associent des intents intégrés, qui sont des descriptions sémantiques d'une fonctionnalité d'application, avec des instructions de traitement, telles qu'un modèle de lien profond. Lorsque vous importez votre application à l'aide de la console Google Play, Google enregistre les fonctionnalités déclarées dans shortcuts.xml
. Les utilisateurs peuvent ainsi les déclencher depuis l'Assistant.
Le schéma précédent montre un utilisateur qui met en pause son exercice dans une application autonome. Voici les étapes qui suivent :
- L'utilisateur adresse une demande vocale à l'Assistant pour l'application connectée correspondante.
- L'Assistant associe cette requête à un modèle pré-entraîné et extrait tous les paramètres de la requête compatibles avec l'intent intégré.
- Dans cet exemple, l'Assistant associe la requête à l'intent intégré
PAUSE_EXERCISE
et extrait le paramètre de nom d'exercice "randonnée". - L'application est déclenchée via sa définition de traitement
shortcuts.xml
pour cet intent intégré. - L'application gère le traitement et met l'exercice en pause.
Connectivité
Le développement des actions dans l'application varie en fonction des fonctionnalités de votre application dans l'écosystème d'appareils Android.
Partage de connexion : lorsqu'une application pour accessoire connecté dépend de l'application mobile pour toutes ses fonctionnalités, les requêtes des utilisateurs adressées à l'Assistant via la montre sont traitées sur l'appareil mobile. La logique de traitement des actions dans l'application doit être intégrée à l'application mobile pour que ce scénario fonctionne correctement.
Sans partage de connexion : lorsqu'une application pour accessoire connecté est indépendante d'une application mobile pour ses fonctionnalités, l'Assistant traite les requêtes des utilisateurs localement sur la montre. Les fonctionnalités des actions dans l'application doivent être intégrées à l'application connectée pour que ces requêtes soient traitées correctement.
Ajouter des fonctionnalités vocales à Wear
Pour intégrer des actions dans l'application Wear OS, procédez comme suit :
- Faites correspondre la fonctionnalité de l'application pour laquelle vous souhaitez activer la voix à un intent intégré approprié.
Déclarez la prise en charge des raccourcis Android dans la ressource
AndroidManifest.xml
de votre activité principale.<!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
Ajoutez un élément
<intent-filter>
au fichier AndroidManifest.xml. Cette opération permettra à l'Assistant d'utiliser des liens profonds pour se connecter au contenu de votre application.Créez des raccourcis.xml pour fournir les détails de traitement pour vos intents intégrés. Vous utiliserez des éléments de raccourci
capability
pour déclarer à l'Assistant les intents intégrés compatibles avec votre application. Pour en savoir plus, consultez la section Ajouter des fonctionnalités.Dans
shortcuts.xml
, implémentez un pour l'intent intégré de votre choix. L'exemple suivant illustre une fonctionnalité pour l'intent intégréSTART_EXERCISE
:<?xml version="1.0" encoding="utf-8"?> <!-- This is a sample shortcuts.xml --> <shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> <capability android:name="actions.intent.START_EXERCISE"> <intent android:action="android.intent.action.VIEW" android:targetPackage="YOUR_UNIQUE_APPLICATION_ID" android:targetClass="YOUR_TARGET_CLASS"> <!-- Eg. name = "Running" --> <parameter android:name="exercise.name" android:key="name"/> <!-- Eg. duration = "PT1H" --> <parameter android:name="exercise.duration" android:key="duration"/> </intent> </capability> </shortcuts>
Le cas échéant, étendez la prise en charge des variantes vocales de l'utilisateur à l'aide d'un inventaire intégré, qui représente les fonctionnalités et le contenu de votre application.
<capability android:name="actions.intent.START_EXERCISE"> <intent android:targetPackage="com.example.myapp" android:targetClass="com.example.myapp.ExerciseActivity"> <parameter android:name="exercise.name" android:key="exercise" /> </intent> </capability> <shortcut android:shortcutId="CARDIO_RUN"> <capability-binding android:key="actions.intent.START_EXERCISE"> <parameter-binding android:key="exercise.name" android:value="@array/run_names" /> </capability-bindig> </shortcut>
Mettez à jour la logique de votre application pour gérer le traitement des actions entrantes dans votre application.
//FitMainActivity.kt private fun handleIntent(data: Uri?) { var actionHandled = true val startExercise = intent?.extras?.getString(START_EXERCISE) if (startExercise != null){ val type = FitActivity.Type.find(startExercise) val arguments = Bundle().apply { putSerializable(FitTrackingFragment.PARAM_TYPE, type) } updateView(FitTrackingFragment::class.java, arguments) } else{ showDefaultView() actionHandled = false } notifyActionSuccess(actionHandled) }
Prévisualiser, tester et publier votre application
Les actions dans l'application vous permettent d'examiner et de tester votre application. Pour en savoir plus, consultez Plug-in Assistant Google pour Android Studio. Une fois que vous avez testé votre application et créé une version de test, vous pouvez demander un examen des actions dans l'application et procéder au déploiement. Consultez les bonnes pratiques suivantes pour découvrir comment traiter les erreurs courantes.
Bonnes pratiques
Pour créer une expérience utilisateur positive lors de l'intégration de votre application avec l'Assistant, suivez les bonnes pratiques ci-dessous.
Affichez un écran de confirmation correspondant ou adapté, ainsi qu'un retour haptique et un commentaire audio, pour répondre à la requête d'un utilisateur, que ce soit lorsqu'elle aboutit ou qu'une erreur se produit.
Qualité basique | Qualité améliorée | Qualité optimale |
---|---|---|
|
|
|
Erreurs et solutions courantes
Pour les cas d'erreur suivants, utilisez les messages ConfirmationActivity
d'application recommandés suivants.
Cas d'erreur | Exemple d'interaction utilisateur | Réponse de l'application |
---|---|---|
Activité déjà en cours |
"Démarre ma séance de nom de l'exercice" "Reprends ma séance de nom de l'exercice" |
Erreur d'affichage : "Activité déjà en cours" |
Aucune activité lancée | "Mets en pause/Arrête ma séance de nom de l'exercice" | Erreur d'affichage : "Aucune activité lancée" |
Non-concordance des types d'activité | "Mets en pause/Arrête ma séance de nom de l'exercice", qui est un type d'exercice différent de l'activité en cours. | Erreur d'affichage : "Le type d'activité ne correspond pas" |
Erreur de connexion | "Démarre ma séance de nom de l'exercice", lorsque l'utilisateur n'est pas connecté à l'application. | Lire le retour haptique pour alerter l'utilisateur et le rediriger vers l'écran de connexion |
Erreur d'autorisation | L'utilisateur n'est pas autorisé à démarrer l'activité demandée. | Lire le retour haptique pour alerter l'utilisateur et le rediriger vers l'écran de demande d'autorisation |
Problème de capteur | L'utilisateur a désactivé les services de localisation dans les paramètres de son appareil. |
Lire le retour haptique pour alerter les utilisateurs et afficher l'écran d'erreur du capteur Étapes suivantes facultatives :
|