Cómo agregar objetos capability a accesos directos
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Las funciones de shortcuts.xml
te permiten declarar los tipos de acciones que los usuarios pueden realizar para iniciar tu app y ejecutar directamente una tarea específica.
Por ejemplo, las Acciones en apps de Asistente de Google usan capacidades para permitir que los desarrolladores extiendan las funciones integradas en la app a intents integrados (BII), lo que permite a los usuarios activar y controlar esas funciones con comandos por voz. Una función está compuesta por el nombre de la acción y un intent
orientado al destino en tu app, que resuelve el intent del usuario.
Cómo definir funciones en shortcuts.xml
Define elementos capability
en un archivo de recursos shortcuts.xml
en tu proyecto de desarrollo de apps para Android. Para definir un elemento capability
, haz lo siguiente:
- Para crear un recurso
shortcuts.xml
, sigue las instrucciones de Cómo crear accesos directos estáticos.
Incluye la siguiente información obligatoria en tu función:
Nombre de la función: Es la acción que quieres que admita tu app. Consulta la documentación del componente para la función que requiere definiciones de capacidad. Los comandos habilitados por voz de Acciones en apps usan el BII Action ID
para los nombres de las funciones, que puedes encontrar en la referencia de BII. Por ejemplo, el BII GET_THING
indica que su Action ID
es actions.intent.GET_THING
.
Destino de la app: Es el destino de tu app que se inicia para cumplir con la solicitud del usuario. Define los destinos de la app con los elementos intent
anidados en capability
.
Mapeos de parámetros: Cada intent
puede contener parámetros que se pasarán como datos extra
del intent. Por ejemplo, cada BII de Acciones en apps incluye campos que representan la información que los usuarios suelen proporcionar en las consultas que activan el BII.
En el siguiente ejemplo, se muestra una definición de capability en shortcuts.xml
para actions.intent.START_EXERCISE
, un BII que permite a los usuarios utilizar comandos por voz con Asistente para iniciar un entrenamiento en una app 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>
En el ejemplo anterior, el atributo <capability>
android:name
hace referencia al BII START_EXERCISE
. Si un usuario invoca este BII y le pregunta al Asistente: "Hey Google, inicia una caminata en AppDeEjemplo", Asistente completará la solicitud del usuario con la información proporcionada en el elemento intent
anidado. El intent
de este ejemplo define los siguientes detalles:
- El
android:targetPackage
establece el paquete de la aplicación de destino para este intent.
- El campo
android:targetClass
especifica la actividad de destino: com.example.sampleApp.ExerciseActivity
.
- El intent
parameter
declara la compatibilidad con un parámetro de BII exercise.name
y cómo pasar el valor del parámetro, recopilado del usuario, como datos adicionales en intent
.
Cómo asociar accesos directos con una función
Una vez que definas una capacidad, podrás extender su funcionalidad asociando accesos directos estáticos o dinámicos. La forma en que los accesos directos se vinculan a una capability
depende de la función que se implemente y de las palabras reales incluidas en la solicitud de un usuario. Por ejemplo, cuando un usuario inicia una carrera en tu app de fitness preguntándole al Asistente: "Hey Google, inicia una carrera en AppDeEjemplo". Asistente puede usar un acceso directo para iniciar una instancia de un capability
que defina una entidad de ejercicio válida de "caminata" para el parámetro exercise.name
.
Para obtener más información sobre cómo asociar accesos directos a Acciones en apps, consulta la descripción general de Acciones en apps.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-08-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-27 (UTC)"],[],[],null,["Capabilities 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\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\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)."]]