Ajouter des fonctionnalités aux raccourcis
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les capacités dans shortcuts.xml
vous permettent de déclarer les types d'actions que les utilisateurs peuvent effectuer pour lancer votre application et effectuer directement une tâche spécifique.
Par exemple, les actions dans les applications de l'Assistant Google utilisent des capacités pour permettre aux développeurs d'étendre les fonctionnalités des applications aux intents intégrés (BII). Les utilisateurs peuvent ainsi activer et contrôler ces fonctionnalités à l'aide de commandes vocales. Une fonctionnalité se compose du nom de l'action et d'un intent
ciblant la destination dans votre application qui résout l'intention de l'utilisateur.
Définir des fonctionnalités dans shortcuts.xml
Vous définissez les éléments capability
dans un fichier de ressources shortcuts.xml
de votre projet de développement d'application Android. Pour définir un élément capability
, procédez comme suit :
- Créez une ressource
shortcuts.xml
en suivant les instructions de la section Créer des raccourcis statiques.
Incluez les informations obligatoires suivantes dans votre fonctionnalité :
Nom de la fonctionnalité : action que vous souhaitez que votre application prenne en charge. Consultez la documentation du composant pour la fonctionnalité qui nécessite des définitions de capacités. Les commandes vocales des actions dans l'application utilisent l'intent intégré Action ID
pour les noms de fonctionnalités, que vous trouverez dans la documentation de référence sur les intents intégrés. Par exemple, l'intent intégré GET_THING
liste son Action ID
comme actions.intent.GET_THING
.
Destination de l'application : destination de votre application vers laquelle l'action redirige l'utilisateur pour répondre à sa requête. Définissez les destinations de l'application à l'aide d'éléments intent
imbriqués dans capability
.
Mappages de paramètres : chaque intent
peut contenir des paramètres à transmettre en tant que données extra
de l'intention. Par exemple, chaque intent intégré d'action dans l'application inclut des champs représentant les informations que les utilisateurs fournissent souvent dans les requêtes qui déclenchent l'intent intégré.
L'exemple suivant illustre une définition de capacité dans shortcuts.xml
pour actions.intent.START_EXERCISE
, un intent intégré qui permet aux utilisateurs d'utiliser des commandes vocales avec l'Assistant pour commencer un entraînement dans une application de fitness :
<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="com.example.sampleApp"
android:targetClass="com.example.sampleApp.ExerciseActivity">
<parameter
android:name="exercise.name"
android:key="exerciseType"/>
</intent>
</capability>
</shortcuts>
Dans l'exemple précédent, l'attribut <capability>
android:name
fait référence à l'intent intégré START_EXERCISE
. Si un utilisateur appelle cet intent intégré en demandant à l'Assistant Hey Google, lance une course dans ExempleApp, l'Assistant répond à la requête de l'utilisateur à l'aide des informations fournies dans l'élément intent
imbriqué. Le intent
de cet exemple définit les informations suivantes :
android:targetPackage
définit le package d'application cible pour cet intent.
- Le champ
android:targetClass
spécifie l'activité de destination : com.example.sampleApp.ExerciseActivity
.
- L'intent
parameter
déclare la compatibilité avec un paramètre d'intent intégré exercise.name
et indique comment transmettre la valeur du paramètre (collectée auprès de l'utilisateur) en tant que données supplémentaires dans l'intent
.
Associer des raccourcis à une fonctionnalité
Une fois que vous avez défini une fonctionnalité, vous pouvez en étendre les capacités en y associant des raccourcis statiques ou dynamiques. La façon dont les raccourcis sont associés à un capability
dépend de la fonctionnalité implémentée et des mots inclus dans la requête d'un utilisateur. Par exemple, lorsqu'un utilisateur commence une course à pied dans votre application de suivi de la forme physique en demandant à l'Assistant "Hey Google, commence une course à pied dans ExempleApp". L'Assistant peut utiliser un raccourci pour lancer une instance d'un capability
qui définit une entité d'exercice "course" valide pour le paramètre exercise.name
.
Pour en savoir plus sur l'association de raccourcis aux actions dans les applications, consultez la présentation des actions dans les applications.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/21 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/21 (UTC)."],[],[],null,["# Add capabilities to shortcuts\n\nCapabilities in `shortcuts.xml` let you declare the types of actions users can\ntake to launch your app and directly perform a specific task.\n\nFor example, Google Assistant App Actions use capabilities to let developers\nextend in-app features to [built-in intents](//developers.google.com/assistant/app/intents) (BIIs), letting users activate\nand control those features using spoken commands. A capability consists of the\nname of the action and an `intent` targeting the destination in your app that\nresolves the user intent.\n\nDefine capabilities in shortcuts.xml\n------------------------------------\n\nYou define `capability` elements in a `shortcuts.xml` resource file in your\nAndroid app development project. To define a `capability` element, do the\nfollowing:\n\n1. Create a `shortcuts.xml` resource by following the instructions in [Create\n static shortcuts](//develop/ui/views/launch/shortcuts/creating-shortcuts#static).\n2. Include the following required information in your capability:\n\n - **Capability name:** the action you want your app to support. Refer to\n the component documentation for the feature that requires capability\n definitions. App Actions voice-enabled commands use the BII `Action ID`\n for capability names, which you can find in [BII reference](//developers.google.com/assistant/app/reference/built-in-intents). For example,\n the [`GET_THING`](//developers.google.com/assistant/app/reference/built-in-intents/common/get-thing) BII lists its `Action ID` as `actions.intent.GET_THING`.\n\n - **App destination:** the destination in your app the action launches to\n fulfill the user request. Define app destinations using `intent` elements\n nested within the `capability`.\n\n - **Parameter mappings:** each `intent` might contain parameters to be\n passed as `extra` data of the intent. For example, each App Actions BII\n includes fields representing information users often provide in queries that\n trigger the BII.\n\nThe following example demonstrates a capability definition in `shortcuts.xml`\nfor [`actions.intent.START_EXERCISE`](//developers.google.com/assistant/app/reference/built-in-intents/health-and-fitness/start-exercise), a BII that lets users use spoken\ncommands with Assistant to begin a workout in a fitness app: \n\n \u003cshortcuts xmlns:android=\"http://schemas.android.com/apk/res/android\"\u003e\n \u003ccapability android:name=\"actions.intent.START_EXERCISE\"\u003e\n \u003cintent\n android:action=\"android.intent.action.VIEW\"\n android:targetPackage=\"com.example.sampleApp\"\n android:targetClass=\"com.example.sampleApp.ExerciseActivity\"\u003e\n \u003cparameter\n android:name=\"exercise.name\"\n android:key=\"exerciseType\"/\u003e\n \u003c/intent\u003e\n \u003c/capability\u003e\n \u003c/shortcuts\u003e\n\nIn the preceding example, the `\u003ccapability\u003e` `android:name` attribute refers to\nthe `START_EXERCISE` BII. If a user invokes this BII by asking Assistant, *\"Hey\nGoogle, start a run in ExampleApp,\"* Assistant fulfills the user request using\ninformation provided in the nested `intent` element. The `intent` in this sample\ndefines the following details:\n\n- The `android:targetPackage` sets the target application package for this intent.\n- The `android:targetClass` field specifies the destination activity: `com.example.sampleApp.ExerciseActivity`.\n- The intent `parameter` declares support for a BII parameter [`exercise.name`](//developers.google.com/assistant/app/reference/built-in-intents/health-and-fitness/start-exercise#recommended-fields) and how to pass the parameter value---collected from the user---as extra data in the `intent`.\n\nAssociate shortcuts with a capability\n-------------------------------------\n\nOnce you define a capability, you can extend its functionality by associating\nstatic or dynamic shortcuts with it. How shortcuts are linked to a `capability`\ndepends on the feature being implemented and the actual words included in a\nuser's request. For example, when a user begins a run in your fitness tracking\napp by asking Assistant, *\"Hey Google, start a run in ExampleApp.\"* Assistant\ncan use a shortcut to launch an instance of a `capability` that defines a valid\nexercise entity of \"run\" for the `exercise.name` parameter.\n\nFor more information about associating shortcuts to App Actions, see [App\nActions overview](//developers.google.com/assistant/app)."]]