Uma intent integrada é um identificador exclusivo que você pode especificar para informar Google Assistente para que sua Ação possa atender a uma categoria específica de usuários solicitações. Por exemplo, aqui estão alguns exemplos de consultas de usuários que o Google Assistente faz a correspondência com intents integradas:
- "Jogar" intent integrada: "Ok Google. Jogue um jogo da memória"
- "Acesse o horóscopo" intent integrada: "Ok Google. Confira meu horóscopo"
Durante a descoberta de ações, o Google Assistente pode usar metadados sobre sua ação, incluindo as intents integradas que você especificou; para recomendar sua Ação aos usuários. Para minimizar as idas e vindas de conversas, o Assistente também tenta verificar os parâmetros das consultas dos usuários e passá-los para sua ação.
Para ver a lista completa de intents integradas com suporte ao Google Assistente, incluindo os parâmetros e exemplos de consultas do usuário, consulte a Referência de intents integradas.
Integrar intents integradas
Dependendo de como você está criando sua ação, há diferentes maneiras de integrar intents integradas.
Dialogflow
Se você estiver usando o Dialogflow para criar sua ação, poderá anexar uma intent integrada graficamente no console do Dialogflow.
Para anexar uma intent integrada ao Dialogflow, siga estas etapas:
- Abra o console do Dialogflow, selecione seu agente e navegue até a Intents.
- Crie ou selecione a intent que o agente aciona ao receber uma uma intent integrada específica. Abra a seção Eventos e clique em Adicionar Evento.   - Figura 1. Adicionar um evento do Dialogflow ao console do Dialogflow. 
- No campo Eventos, digite o nome de um evento de intent integrada ao seu agente (por exemplo, - actions_intent_PLAY_GAME).  - Figura 2. anexar uma intent integrada ao agente no console do Dialogflow. 
- Clique em Salvar. 
SDK do Actions
Se você estiver usando o SDK do Actions para criar sua ação, especifique o mapeamento entre intents integradas e ações no pacote de ações.
Para anexar uma intent integrada com o SDK do Actions, siga estas etapas:
- Especifique a intent integrada no campo "Nome" da sua definição de Ação.
- Faça upload do pacote de ações para o projeto do Actions usando a ferramenta gactions, conforme descritos na visão geral do SDK do Actions.
Por exemplo, o snippet a seguir mostra como adicionar o CHECK_AIR_QUALITY
intent integrada:
{
   "actions":[
      {
         "description":"Default Welcome Intent",
         "name":"MAIN",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.MAIN"
         }
      },
      {
         "description":"Check Air Quality",
         "name":"CHECK_AIR_QUALITY",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.CHECK_AIR_QUALITY"
         }
      }
   ],
   "conversations":{
      "conversation_1":{
         "name":"conversation_1",
         "url":"https://example.com/fulfillment",
         "fulfillmentApiVersion":2
      }
   }
}
Processar parâmetros de intent integrados
Quando sua ação é invocada por uma intent integrada, seu fulfillment pode para receber parâmetros adicionais. O esquema de intent define os nomes parâmetros e os tipos deles como tipos primitivos ou o schema.org entidades. Para visualizar o esquema das intents integradas da ação de conversa, consulte o Referência de intents integradas.
Os parâmetros das intents integradas são opcionais. O Google Assistente cuida de preencher parâmetros com valores se puderem ser extraídos da invocação do usuário a intent integrada.
Por exemplo, o esquema do actions.intent.CHECK_AIR_QUALITY integrado
define quatro parâmetros opcionais:
| Nome do parâmetro | Tipo | 
|---|---|
| attributes | Um valor de string. | 
| location | Um objeto schema.org/Place. | 
| temporalCoverage | Um objeto schema.org/Duration. | 
| timeIndicator | Uma EnumeratedDuration(extensão específica do Google). | 
O snippet de código a seguir mostra um exemplo do webhook de conversa (JSON) quando um usuário invoca sua ação dizendo "Qual é a qualidade do ar em São Francisco amanhã?":
"inputs":[
      {
         "intent":"actions.intent.CHECK_AIR_QUALITY",
         "rawInputs":[
            {
               "inputType":"VOICE",
               "query":"what is the air quality in san francisco tomorrow"
            }
         ],
         "arguments":[
            {
               "name":"location",
               "structuredValue":{
                  "geo":{
                     "longitude":-122.41941550000001,
                     "latitude":37.7749295
                  },
                  "@context":"https://schema.org",
                  "@type":"Place",
                  "name":"san francisco"
               }
            },
            {
               "name":"temporalCoverage",
               "rawText":"2018-04-25",
               "textValue":"2018-04-25"
            }
         ]
      }
   ]
Neste exemplo, os parâmetros assumem os seguintes valores:
- O parâmetro locationcontém oschema.org/Place. para "São Francisco".
- O parâmetro temporalCoveragecontém oschema.org/Duration. valor da data de amanhã em relação ao horário da invocação.
- Não há valores para os parâmetros attributesetimeIndicator. porque a frase de invocação do usuário não inclui essas informações.
Se você usa a biblioteca de cliente do Actions on Google para Node.js, você pode recuperar o valor dos parâmetros, conforme mostrado no snippet a seguir:
app.intent('actions.intent.CHECK_AIR_QUALITY', (conv) => {
  const attributes = conv.arguments.get('attributes');
  const location = conv.arguments.get('location');
  const temporal_coverage = conv.arguments.get('temporalCoverage');
  Const time_indicator = conv.arguments.get('timeIndicator')
  // Your Action logic. If you need to use any of the parameter values,
  // you should check first that it is defined. Arguments.get returns
  // undefined if it can't find a value for a parameter.
});
Testar integrações com intents integradas
Siga estas etapas para testar a integração:
- Abra o simulador do Actions com a ação de teste ativada ou o Assistente no seu dispositivo.
- Fale ou digite uma consulta associada a essa intent integrada. Por exemplo: "Eu quero jogar."
- Na caixa de diálogo mostrada de seleção do app, encontre sua ação.
- Selecione seu app para enviar uma intent a ele.
|   de uma frase de intent integrada. |   | 
Práticas recomendadas para usar intents integradas
Siga estas práticas recomendadas ao usar intents integradas:
- Mapear intents integradas para ações específicas: quando uma intent integrada específica
acionar sua ação, direcionar o usuário à intent específica e
na sua ação com o mínimo de atrito possível. Para
exemplo, se a ação oferecer suporte à intent integrada PLAY_GAMEe recebe essa intent, você deve enviar o usuário imediatamente ao recurso do jogo da sua ação. Evite perguntar novamente ao usuário se ele quer jogar.
- Processar parâmetros de intent integrada: use a intent integrada. valores de parâmetros que o Assistente envia para seu fulfillment. Evite solicitar esses valores novamente ao usuário.
