Un intent integrado es un identificador único que puedes especificar para indicarle al Asistente de Google que tu Acción puede cumplir con una categoría de usuario específica solicitudes. Estos son algunos ejemplos de consultas de los usuarios Asistente establece coincidencias con intents integrados:
- "Jugar" intent integrado: "Hey Google. Juega un juego de memoria”.
- "Obtener el horóscopo" intent integrado: "Hey Google. Consigue mi horóscopo".
Durante el descubrimiento de acciones, Asistente puede usar metadatos sobre tu acción, incluidos los intents integrados que especificaste para recomendar tu acción a los usuarios. Para minimizar los recorridos de ida y vuelta en las conversaciones, Asistente también intenta analizar los parámetros de las consultas del usuario y pasarlos a tu Action.
Para ver la lista completa de intents integrados compatibles con Asistente, haz lo siguiente: incluidos sus parámetros y ejemplos de consultas de usuario, Referencia de intents integrados.
Cómo integrar intents integrados
Según cómo estés desarrollando tu Acción, hay diferentes maneras de para integrar intents integrados.
Dialogflow
Si usas Dialogflow para crear tu acción, puedes adjuntar un intent integrado de forma gráfica desde la consola de Dialogflow.
Para adjuntar un intent integrado con Dialogflow, sigue estos pasos:
- Abre la consola de Dialogflow, selecciona tu agente y, luego, navega a Intents.
Crea o selecciona el intent que tu agente activa cuando recibe un un intent integrado específico. Abre la sección Eventos y haz clic en Agregar. Evento.
En el campo Events, escribe el nombre de un evento de intent integrado para tu agente (por ejemplo,
actions_intent_PLAY_GAME
).Haz clic en Guardar.
SDK de Actions
Si usas el SDK de Actions para compilar tu acción, debes especificar el la asignación entre los intents integrados y las acciones en tu paquete de acciones.
Para adjuntar un intent integrado con el SDK de Actions, sigue estos pasos:
- Especifica el intent integrado en el campo de nombre de tu definición de Action.
- Sube tu paquete de acciones a tu proyecto de acciones con la herramienta
gactions
, como que se describe en la Descripción general del SDK de Actions.
Por ejemplo, en el siguiente fragmento, se muestra cómo puedes agregar el CHECK_AIR_QUALITY
intent integrado:
{
"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
}
}
}
Cómo controlar los parámetros de intents integrados
Cuando se invoca tu acción a través de un intent integrado, es posible que la entrega recibir parámetros adicionales. El esquema de intents define los nombres de las parámetros y sus tipos como tipos primitivos o schema.org entidades. Para ver el esquema de los intents integrados de acción de conversación, consulta el Referencia de intents integrados.
Los parámetros para los intents integrados son opcionales. Asistente se encarga de completar el parámetros con valores si se pueden extraer de la invocación del usuario el intent integrado.
Por ejemplo, el esquema del actions.intent.CHECK_AIR_QUALITY
integrado
define cuatro parámetros opcionales:
Nombre del parámetro | Tipo |
---|---|
attributes |
Es un valor de cadena. |
location |
Un objeto schema.org/Place . |
temporalCoverage |
Un objeto schema.org/Duration . |
timeIndicator |
Una EnumeratedDuration (extensión específica de Google) |
En el siguiente fragmento de código, se muestra un ejemplo del webhook de conversación (JSON) cuando un usuario invoca tu Acción con la pregunta "¿Cuál es la calidad del aire en mañana en San Francisco?":
"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"
}
]
}
]
En este ejemplo, los parámetros toman los siguientes valores:
- El parámetro
location
contiene elschema.org/Place
. valor para "San Francisco". - El parámetro
temporalCoverage
contiene elschema.org/Duration
. el valor de la fecha de mañana en relación con la hora de la invocación. - No hay valores para los parámetros
attributes
ytimeIndicator
porque la frase de invocación del usuario no incluía dicha información.
Si usas la biblioteca cliente de Actions on Google para Node.js, haz lo siguiente: puedes recuperar el valor de los parámetros como se muestra en el siguiente fragmento:
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.
});
Cómo probar integraciones con intents integrados
Sigue estos pasos para probar tu integración:
- Abre el simulador de Actions con la acción de prueba habilitada, o bien abre Asistente en tu dispositivo.
- Di o escribe una consulta asociada con ese intent integrado. Por ejemplo: “Quiero jugar a algo”.
- En el diálogo de selección de apps que se muestra, busca la acción.
- Selecciona tu app para enviar un intent a ella.
Prácticas recomendadas para usar intents integrados
Debes seguir estas prácticas recomendadas cuando uses intents integrados:
- Asignar intents integrados a acciones específicas: Cuando un intent integrado específico
activa tu acción, envía al usuario al intent específico y
en tu Action con la menor fricción posible. Para
Por ejemplo, si tu Acción admite el intent integrado
PLAY_GAME
y recibe ese intent, debes enviar inmediatamente al usuario a la función del juego de tu Acción. Evita volver a preguntar al usuario si quiere jugar a algo. - Controla los parámetros de intents integrados: asegúrate de usar el intent integrado. valores de parámetros que Asistente envía a tu entrega. Evita volver a solicitarle esos valores.