Las instrucciones definen la manera en que tu Acción proporciona respuestas a los usuarios y cómo la Acción le solicita continuar. A medida que creas tu acción, puedes agregar instrucciones a y a varios lugares dentro de las escenas. Las instrucciones pueden ser tan simples como de texto o de voz, o pueden ser más complejas y tener contenido enriquecido, como tarjetas, imágenes y tablas.
Tipos de respuesta
Para cada instrucción, seleccionas entre una variedad de tipos de respuestas atractivas para Asistente para presentarles a los usuarios:
- Respuestas simples: Las respuestas simples toman la forma de una burbuja de chat visualmente. y usar el lenguaje de marcado de síntesis de voz (SSML) y el sonido de la computadora. Las respuestas simples son las únicas admitidas en todos los tipos de dispositivos.
- Respuestas enriquecidas: Las respuestas enriquecidas contienen elementos visuales o funcionales que para mejorar las interacciones de los usuarios con tus Acciones. Con las respuestas enriquecidas, también puedes mostrar datos tabulares o reproducir contenido de audio de formato más largo.
- Respuestas de selección visual: Las respuestas de selección visual proporcionan una sencilla para que los usuarios elijan entre las múltiples opciones diferenciada por su título o por una imagen.
- Respuestas multimedia: Las respuestas multimedia permiten que tus acciones reproduzcan audio de forma más larga. que SSML y proporcionar un componente visual con controles multimedia.
- Interactive Canvas: Interactive Canvas renderiza las respuestas en pantalla completa. web y funciones como una app web interactiva que el Asistente envía como un respuesta al usuario en la conversación. Canvas usa una instrucción un poco diferente para adaptarse a la flexibilidad adicional de estándares web como HTML, CSS y JavaScript:
Cada uno de estos tipos de respuesta usa el mismo formato de instrucción base y tiene acceso a con las mismas funciones generales que se describen a continuación.
Formato de una instrucción
En tu proyecto de Acciones, puedes definir instrucciones en formato YAML o JSON. Cada puede contener hasta dos respuestas simples y, opcionalmente, puedes definir respuesta. Las respuestas se definen de las siguientes maneras:
first_simple
: Es la respuesta inicial de texto o voz (simple) para enviar al usuario.content
: Contenido complementario de respuesta enriquecida para enviar después de respuestas simples.last_simple
Es la respuesta final de texto o voz (simple) para enviar al usuario.canvas
: Hace referencia a una app web que se integra en Interactive Canvas.
De forma predeterminada, las instrucciones se adjuntan entre sí en el orden anterior en una instrucción. en la fila. Para que el usuario pueda responder, Asistente le presenta todas las instrucciones. en la cola de mensajes.
Además, puedes proporcionar flexibilidad a las instrucciones con las siguientes funciones:
- Candidatos: Los candidatos te permiten definir las respuestas en función de una las capacidades del dispositivo del usuario. Por ejemplo, puedes hacer que Asistente muestre contenido enriquecido respuestas solo cuando un usuario interactúe con tu Acción en una pantalla dispositivo.
- Variantes: Las variantes son variaciones alternativas de un solo mensaje. Por ejemplo, puedes hacer que Asistente elija entre cinco opciones variantes del mensaje cada vez que un usuario invoca tu acción.
- Sugerencias: Estas sugerencias brindan usuarios con capacidad de visualización. dispositivos con chips de sugerencias cuando Asistente muestra el mensaje.
Una instrucción predeterminada usa un candidato, una variante y una respuesta first_simple
.
Candidatos
En una instrucción, el objeto candidates
te permite definir respuestas basadas en una
las capacidades del dispositivo del usuario. Por ejemplo, puedes hacer que Asistente muestre contenido enriquecido
respuestas solo cuando un usuario interactúe con tu Acción en una pantalla
dispositivo. Para definir los tipos de dispositivos en los que el Asistente puede devolver un candidato, usa
la propiedad selector
del objeto candidates
.
En el siguiente ejemplo, la propiedad selector
contiene la capacidad del dispositivo.
información. Las instrucciones establecidas en la primera opción se envían a los usuarios en un dispositivo.
que puede renderizar respuestas enriquecidas. El segundo candidato contiene instrucciones para
para los usuarios que solo pueden recibir
respuestas de texto y voz.
YAML
candidates: - selector: surface_capabilities: capabilities: - RICH_RESPONSE first_simple: variants: - speech: Here's a simple message. content: card: title: Image card title text: Some details about the image image: url: 'https://www.example.com/image/' - first_simple: variants: - speech: Text explains what the image might have shown in more detail.
JSON
{ "candidates": [{ "selector": { "surface_capabilities": { "capabilities": ["RICH_RESPONSE"] } }, "first_simple": { "variants": [{ "speech": "Here's a simple message." }] }, "content": { "card": { "title": "Image card title", "text": "Some details about the image", "image": { "url": "https://www.example.com/image/" } } } }, { "first_simple": { "variants": [{ "speech": "Text explains what the image might have shown in more detail." }] } }] }
Puedes proporcionar uno o más requisitos de capacidad para un candidato determinado. El La siguiente lista describe cada uno de los requisitos de capacidad disponibles:
SPEECH
: El dispositivo puede hablarle al usuario a través de texto a voz o SSML.RICH_RESPONSE
: El dispositivo puede mostrar respuestas enriquecidas, como tarjetas, listas y en diferentes tipos de tablas particionadas.LONG_FORM_AUDIO
: El dispositivo puede reproducir contenido multimedia de audio de formato largo, como música y podcasts.INTERACTIVE_CANVAS
: El dispositivo puede mostrar una respuesta de Interactive Canvas.WEB_LINK
: El dispositivo puede usar vínculos web en respuestas enriquecidas para abrir un navegador web.HOME_STORAGE
: El dispositivo puede almacenar datos y acceder a ellos desde el almacenamiento de la casa.
Variantes
Las variantes proporcionan una manera de definir varias versiones de una respuesta. Cuando Asistente envía la instrucción a un usuario, se elige una de las variantes al azar. Como mejor en el diseño de conversaciones, ofrece a los usuarios respuestas alternativas cuando conversan con tu Acción.
Por ejemplo, proporciona diferentes variantes del mensaje de bienvenida para que los usuarios no escuchen el misma respuesta cada vez que invocan la acción:
YAML
candidates: - first_simple: variants: - speech: Hello. - speech: Hi there. - speech: Welcome.
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Hello." },{ "speech": "Hi there." },{ "speech": "Welcome." }] } }] }
Sugerencias
![Ejemplo de chips de sugerencias en una pantalla inteligente](https://developers.google.cn/static/assistant/conversational/images/smart-display/chips.png?authuser=0000&hl=es)
Las sugerencias proporcionan chips de sugerencias a los usuarios que tienen dispositivos con capacidad de visualización. Asistente mostrará el mensaje. Usa chips de sugerencias para dar pistas sobre las respuestas de los usuarios continuar o reorientar la conversación. Cuando se presiona, un chip de sugerencias muestra el muestra el texto a la conversación textualmente, como si el usuario lo hubiera escrito.
Puedes tener un máximo de 8 sugerencias en una sola instrucción, cada una con un máximo con 25 caracteres de texto simple.
Para agregar una sugerencia, proporciona un objeto Suggestion
que contenga cada
en un campo title
separado. Cada título debe ser único entre el conjunto
de chips de sugerencias. En Actions Builder, este objeto se representa en YAML y
JSON como suggestions
.
Por ejemplo, puedes indicar "Sí". y "No" sugerencias junto a una pregunta:
YAML
candidates: - first_simple: variants: - speech: 'Welcome, do you want to play a game?' suggestions: - title: 'Yes' - title: 'No'
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Welcome, do you want to play a game?" }] }, "suggestions": [{ "title": "Yes" }, { "title": "No" }] }] }