Adicionar recursos a atalhos

Os recursos em shortcuts.xml permitem declarar os tipos de ações que os usuários podem para iniciar o app e executar uma tarefa específica diretamente.

Por exemplo, as Ações no app do Google Assistente usam recursos para permitir que os desenvolvedores estendem os recursos no app para intents integradas (BIIs, na sigla em inglês), permitindo que os usuários ativem e controlar esses recursos usando comandos falados. Uma capacidade consiste nome da ação e um intent segmentando o destino no app que que resolva a intent do usuário.

Definir recursos em atalhos.xml

Você define elementos capability em um arquivo de recurso shortcuts.xml no projeto de desenvolvimento do app Android. Para definir um elemento capability, faça o seguinte:

  1. Crie um recurso shortcuts.xml seguindo as instruções em Criar atalhos estáticos.
  2. Inclua as seguintes informações obrigatórias na capacidade:

    • Nome do recurso:a ação que você quer que seja compatível com seu app. Consulte a documentação do componente para o recurso que requer capacidade e definições. Os comandos ativados por voz das Ações no app usam a BII Action ID para nomes de recursos, que podem ser encontrados na referência da BII. Por exemplo: a BII GET_THING lista Action ID como actions.intent.GET_THING.

    • Destino do app:o destino no app para onde a ação é iniciada. atender à solicitação do usuário. Defina os destinos de aplicativos usando elementos intent aninhados dentro de capability.

    • Mapeamentos de parâmetros:cada intent pode conter parâmetros a serem transmitidos como dados extra da intent. Por exemplo, cada BII de Ações no app inclui campos que representam informações que os usuários costumam fornecer em consultas que acionar a BII.

O exemplo abaixo demonstra uma definição de recurso em shortcuts.xml. para o actions.intent.START_EXERCISE, uma BII que permite que os usuários usem Comandos com o Google Assistente para iniciar um treino em um app 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>

No exemplo anterior, o atributo <capability> android:name se refere ao BII START_EXERCISE. Se um usuário invocar essa BII pedindo ao Assistente, "Ok Google, inicie uma execução em ExampleApp", o Assistente atenderá a solicitação usando as informações fornecidas no elemento intent aninhado. O intent neste exemplo define os seguintes detalhes:

  • O android:targetPackage define o pacote do aplicativo de destino para este intent.
  • O campo android:targetClass especifica a atividade de destino: com.example.sampleApp.ExerciseActivity.
  • A intent parameter declara suporte a um parâmetro de BII. exercise.name e como transmitir o valor do parâmetro coletado do usuário, como dados extras no intent.

Associar atalhos a um recurso

Depois de definir uma capacidade, você pode estender sua funcionalidade associando atalhos estáticos ou dinâmicos com ela. Como os atalhos são vinculados a uma capability depende do recurso que está sendo implementado e das palavras incluídas em um solicitação do usuário. Por exemplo, quando um usuário inicia uma corrida no seu monitoramento de condicionamento físico dizendo ao Google Assistente: "Ok Google, começar uma corrida no AppDeExemplo". Assistente pode usar um atalho para iniciar uma instância de um capability que define um entidade de exercício de "executar" para o parâmetro exercise.name.

Para mais informações sobre como associar atalhos a Ações no app, consulte App Visão geral das ações.