Cómo agregar objetos capability a accesos directos

Las funciones de shortcuts.xml te permiten declarar los tipos de acciones que pueden realizar los usuarios. para iniciar tu app y realizar directamente una tarea específica.

Por ejemplo, las Acciones en apps de Asistente de Google usan capacidades para permitir que los desarrolladores extender las funciones integradas en la app a intents integrados (BIIs), lo que permite que los usuarios y controlarlas mediante comandos por voz. Una capability consta de nombre de la acción y una intent segmentada para el destino de tu app que resuelve la intención 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: lo siguiente:

  1. Para crear un recurso shortcuts.xml, sigue las instrucciones que se indican en Crear accesos directos estáticos.
  2. Incluye la siguiente información obligatoria en tu función:

    • Nombre de la función: Es la acción que quieres que admita la app. Consulta la documentación del componente para la función que requiere capacidades definiciones 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 BIIs. Por ejemplo: el BII GET_THING muestra su Action ID como actions.intent.GET_THING.

    • Destino de la app: Es el destino de tu app en el que se inicia la acción. completar la solicitud del usuario. Define los destinos de la app con los elementos intent anidados en capability.

    • Asignaciones de parámetros: cada intent puede contener parámetros que se pasados como datos extra del intent. Por ejemplo, cada BII de Acciones en apps incluye campos que representan información que los usuarios suelen proporcionar en las consultas que activar el BII.

En el siguiente ejemplo, se muestra una definición de función en shortcuts.xml para actions.intent.START_EXERCISE, un BII que permite a los usuarios usar la comandos 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 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 el intent.

Cómo asociar accesos directos con una función

Una vez que defines una capacidad, puedes extender su funcionalidad asociando accesos directos estáticos o dinámicos. Cómo se vinculan los accesos directos a capability depende de la función que se implemente y de las palabras incluidas en el la solicitud del usuario. Por ejemplo, cuando un usuario comienza a correr en el registro de estado físico pidiéndole a Asistente: "Hey Google, inicia una carrera en App de Ejemplo". Asistente Puedes usar un acceso directo para iniciar una instancia de un capability que defina un valor válido entidad de ejercicio de “correr” para el parámetro exercise.name.

Para obtener más información sobre cómo asociar atajos a Acciones en apps, consulta App de Descripción general de acciones.