1. Descripción general
La plataforma para desarrolladores de Asistente de Google te permite crear software que extienden la funcionalidad de este asistente personal virtual en más de 1,000 millones de dispositivos, como bocinas inteligentes, teléfonos, vehículos, TVs, auriculares y muchos más. Los usuarios interactúan con Asistente mediante conversaciones para completar tareas, como comprar alimentos o reservar un viaje. Como desarrollador, puedes usar la plataforma para desarrolladores de Asistente a fin de crear y administrar fácilmente experiencias de conversación interesantes y eficaces entre los usuarios y tu propio servicio externo.
Este codelab abarca conceptos de nivel intermedio para desarrollar con Asistente de Google y se basa en la acción creada en el codelab de nivel 1. Te recomendamos que completes el codelab de nivel 1 antes de comenzar este.
La acción que compilarás en ese codelab les dice a los usuarios la fortuna para su misión en una tierra mítica, Gryffinberg, en función de la ayuda que elijan.
Qué crearás
En este codelab, compilarás una acción conversacional sofisticada que realiza lo siguiente:
- Recopila datos del usuario y, según el valor, modifica los mensajes conversacionales.
- Responde con preguntas de seguimiento para continuar con la conversación.
- Crea un bucle de juego para que un usuario pueda interactuar con la acción nuevamente después de recibir la fortuna.
Antes de comenzar a compilar, puedes interactuar con la acción publicada en tu dispositivo compatible con el Asistente de Google cuando dices "Hey Google, habla con Fate y Fortune". La ruta predeterminada a través de esta acción para un usuario recurrente se ve en la siguiente interacción:
Qué aprenderás
- Cómo usar espacios para recopilar datos del usuario
- Cómo usar condiciones para agregar lógica a una escena
- Cómo agregar un bucle de juego
- Cómo agregar una ruta de acceso de asistencia
Requisitos
Estos son algunos requisitos del codelab:
- Un navegador web, como Google Chrome
- Un proyecto completo de acciones del codelab de nivel 1 ( Cómo crear acciones para Asistente de Google con Actions Builder de nivel 1)
Conocimientos de JavaScript (ES6), (aunque no es obligatorio) para comprender el código de entregas de este codelab
2. Continúa con la compilación de la interfaz de conversación
En el primer codelab, creaste una acción de conversación simple con una sola escena, Start
.
En este codelab, extenderás la conversación de tu Acción. En las siguientes secciones, configurarás tu acción para que realice lo siguiente:
- Pasar a una nueva escena de
Fortune
cuando el usuario quiera escuchar su fortuna - Preguntar al usuario qué ayuda desea elegir para su viaje
- Ofrecer una predicción personalizada según la elección del usuario
Crea la escena Fortune
En esta sección, crearás la escena Fortune
y definirás cómo el usuario llegará a ella durante la conversación.
Para crear una nueva escena llamada Fortune
, sigue estos pasos:
- Abre el proyecto de acciones del codelab de nivel 1.
- Haz clic en Develop, en la barra de navegación.
- En Scenes, haz clic en la escena Start.
- Haz clic en el intent yes (el cuadro When yes is matched) para abrir las opciones.
- Borra Send prompts para quitar la solicitud.
- En la sección Transition, haz clic en el menú desplegable, haz clic en el cuadro de texto y escribe
Fortune
. - Haz clic en Agregar. Esto creará una nueva escena llamada
Fortune
. También agrega una transición de la escenaStart
a la escenaFortune
cuando el usuario quiera escuchar su fortuna.
Define la lógica de conversación para la escena Fortune
.
En este codelab, configurarás tu escena Fortune
para preguntarle al usuario: "What do you choose to help you on your quest (¿Qué eliges como ayuda para tu aventura?): dragon (dragón), translator (traductor) or a compass (brújula)?". Puedes usar una función llamada slot filling (relleno de espacios) para recopilar la información necesaria del usuario antes de continuar.
Tu acción proporciona fortunas para tres tipos de ayuda: dragon (dragón), translator (traductor) o compass (brújula). Para configurar tu acción a fin de que identifique estas tres opciones en la entrada de un usuario, debes crear un type.
Puedes usar tipos dentro de la etapa de relleno del espacio de una escena para definir la información que desees obtener del usuario. Cuando el motor de CLN detecta una coincidencia para el espacio en la entrada del usuario, extrae el espacio como parámetro escrito para que puedas realizar la lógica correspondiente en una escena.
Crea el tipo available_options
En esta sección, crearás un nuevo tipo llamado available_options
, que especifica las tres opciones (dragon, translator o compass) que los usuarios pueden elegir como respuesta al mensaje. También puedes definir algunos sinónimos para estas opciones en caso de que un usuario diga algo similar. En una sección posterior, agregarás el tipo available_options
a un espacio para especificar que deseas obtener la elección del usuario.
Para crear el tipo available_options
, sigue estos pasos:
- En la barra de navegación, haz clic en Types.
- Haz clic en el signo + (más), escribe
available_options
y presionaEnter
. - Haz clic en
available_options
para abrir las opciones.
Los tipos se configuran como pares clave-valor de información, en los que la clave es el nombre del tipo y los valores son sinónimos de esa clave. Cuando defines la clave, esta se agrega automáticamente como un valor.
Para agregar las tres opciones que el usuario puede elegir, sigue los pasos que se detallan a continuación:
- Desplázate hasta la sección Agregar entradas.
- En el campo New entry, escribe
dragon
y presionaEnter
. Esta acción crea una clavedragon
. - Escribe
hydra
en el campo Add values y presionaEnter
para agregarlo como valor (sinónimo). Luego, repite este paso para el valorlizard
. - Agrega el resto de las claves y los valores correspondientes:
translator | translator
,communicator
,machine
,decoder
,translate
compass | compass
,direction
,guide
- Haz clic en Guardar.
Tu acción ahora entiende que el available_options
puede ser dragon (dragón), translator (traductor) y compass (brújula), y también puede reconocer algunos sinónimos correspondientes.
Configura el relleno de espacios
Luego, debes configurar el relleno de espacios en la escena Fortune
. Para configurar la lógica de relleno de espacios, haz lo siguiente:
- En la barra de navegación, en Scenes, haz clic en Fortune.
- En la escena
Fortune
, haz clic en + (signo más) para Slot filling. - En el campo Enter slot name, agrega
chosenOptions
como nombre del espacio. - En la lista desplegable Select type, selecciona
available_options
como el tipo de espacio. - Selecciona la casilla de verificación This slot is required.
- Selecciona Send prompts y agrega los siguientes mensajes y chips de sugerencia:
candidates:
- first_simple:
variants:
- speech: >-
What do you choose to help you on your quest, a dragon, a
translator, or a compass?
suggestions:
- title: 'Dragon'
- title: 'Translator'
- title: 'Compass'
- Haz clic en Guardar.
De esta manera, habrás agregado el tipo de available_options
al espacio, que le indica a tu acción qué información debe recopilar del usuario (la ayuda de su preferencia) antes de continuar. También habrás configurado un mensaje dentro del espacio, que se agrega a la cola de mensajes cuando el usuario llega a la etapa de relleno de la escena.
Ten en cuenta que, cuando le asignaste el nombre chosenOptions
al espacio, el campo Customize slot value writeback se actualiza con el mismo nombre ($session.params.chosenOptions
). Puedes acceder a este parámetro mediante ese nombre en Actions Builder y en tu entrega a través de la biblioteca cliente.
Configura la condición scene.slots.status == "FINAL"
Cuando agregas un espacio, la condición scene.slots.status == "FINAL"
se agrega automáticamente a la lista de condiciones.
La condición scene.slots.status == "FINAL"
verifica que se complete el llenado de espacios. Cuando se rellenan todos los espacios, la condición puede activar un webhook, pasar a una escena nueva o agregar mensajes a la cola.
En esta sección, configurarás scene.slots.status == "FINAL"
para que se agregue un mensaje a la cola de mensajes cuando se llenen los espacios.
Para agregar este mensaje a la condición FINAL
, sigue estos pasos:
- Haz clic en
scene.slots.status == "FINAL"
para abrir la ventana de opciones. - Selecciona Send prompts y agrega el siguiente mensaje:
candidates:
- first_simple:
variants:
- speech: You picked $session.params.chosenOptions.
- Haz clic en Guardar.
Prueba tu acción en el simulador
En este punto, habrás definido las opciones que el usuario debería seleccionar para rellenar el espacio. Después de obtener esta información del usuario, tu acción debe proporcionar un mensaje que haga referencia a la opción específica que este eligió.
Para probar tu acción, sigue estos pasos:
- En la barra de navegación, haz clic en Test.
- Escribe
Talk to my test app
o haz clic en la opción, en el campo Input, y presionaEnter
. - Escribe
Yes
en el campo Input y presionaEnter
. (También puedes hacer clic en el chip de sugerencias Yes).
- Escribe o di
dragon
, o bien haz clic en la opción. Deberías recibir el mensaje "You picked dragon" (seleccionaste el dragón).
En la próxima sección, podrás personalizar los mensajes para cada ayuda que el usuario pueda seleccionar.
Personaliza los mensajes con condiciones
En esta sección, agregarás condiciones para cada opción que el usuario pueda elegir, así como un mensaje personalizado para cada condición.
Personaliza la fortuna de dragon
Para actualizar la condición y personalizar el mensaje cuando un usuario seleccione "dragon" (dragón), sigue estos pasos:
- Haz clic en Develop, en la barra de navegación.
- En la barra de navegación, haz clic en la escena Fortune.
- Haz clic en
scene.slots.status == "FINAL"
para abrir la ventana de opciones. - Actualiza la declaración de condición a
scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon"
. - Selecciona Send prompts.
- Actualiza el mensaje con la siguiente fortuna en el editor de código:
candidates:
- first_simple:
variants:
- speech: >-
The people of Gryffinberg will be awestruck by the beauty and power
of the ancient dragon. Much to your dismay, the townspeople fall
into dispute over who will receive the honor of riding the dragon
first. You return home from your quest without everlasting glory or
a dragon.
- Haz clic en Guardar.
Ahora, cuando un usuario diga "dragon" o algo similar, tu acción proporcionará una predicción basada en esa selección. A continuación, agrega las dos selecciones restantes.
Personaliza la fortuna de translator
Para agregar la condición y personalizar el mensaje cuando un usuario seleccione "translator" (traductor), sigue estos pasos:
- Haz clic en el signo + (signo más) junto a Condition.
- Agrega
scene.slots.status == "FINAL" && session.params.chosenOptions == "translator"
al campo else if. - Selecciona Send prompts.
- Agrega el siguiente mensaje en el editor de código:
candidates:
- first_simple:
variants:
- speech: >-
With the help of the translator, the rival factions in Gryffinberg
are finally able to communicate with each other and resolve their
disputes. You will complete your quest to restore peace in the town.
The translator will be used on many subsequent journeys across the
earth. After its work is done, it retires honorably to a premier
location in the Gryffinberg History Museum.
- Haz clic en Guardar.
Personaliza la fortuna de compass
Para agregar la condición y personalizar el mensaje cuando un usuario seleccione "compass" (brújula), sigue estos pasos:
- Haz clic en el signo + (signo más) junto a Condition.
- Agrega
scene.slots.status == "FINAL" && session.params.chosenOptions == "compass"
al cuadro de texto else if. - Selecciona Send prompts.
- Agrega el siguiente mensaje en el editor de código:
candidates:
- first_simple:
variants:
- speech: >-
The compass will help you find the mystical and ancient Library of
Gryffinberg. Among its infinite stacks of dusty books, you find one
entitled "Wisdom of the Ages". By the time you've read the
50,000-page tome, the townspeople have forgotten their problems. You
will write a second edition of "Wisdom of the Ages", but have
limited commercial success.
- Haz clic en Guardar.
Prueba tu acción en el simulador
En este punto, tu acción debería mostrar una fortuna personalizada para el usuario según la opción que este seleccione.
Para probar tu acción, sigue estos pasos:
- En la barra de navegación, haz clic en Test.
- Escribe
Talk to my test app
en el campo Input y presionaEnter
. - Escribe
Yes
en el campo Input y presionaEnter
. También puedes hacer clic en el chip de sugerencia Yes. - Escribe o di
Translator
, o bien haz clic en la opción.
Deberías obtener la fortuna correspondiente para la opción "translator" (traductor).
3. Agrega un bucle de juego
En esta sección, configurarás tu acción para que el usuario pueda seleccionar otra opción y escuchar una fortuna diferente después de hacerlo. Este cambio es similar al mensaje "Do you want to play again? (¿quieres volver a jugar?)" que se muestra al final de un juego. Para compilar este bucle, puedes volver a usar los intents yes
y no
creados anteriormente y agregarlos a una nueva escena llamada Again
.
Crea la escena Again
En esta sección, crearás una nueva escena Again
y agregarás un mensaje en el que se le pregunte al usuario si desea seleccionar una opción diferente.
Para crear la escena Again
, sigue estos pasos:
- Haz clic en Develop, en la barra de navegación.
- Haz clic en el signo + (signo más) en Escenas.
- Escribe
Again
y presionaEnter
. - Haz clic en la escena
Again
en la barra de navegación. - Haz clic en el signo + (signo más) junto a On enter.
- Selecciona Send prompts y agrega los siguientes mensajes de solicitud y sugerencias:
candidates:
- first_simple:
variants:
- speech: >-
That is what I see for you. Would you like to choose a different option and
explore another future?
suggestions:
- title: 'Yes'
- title: 'No'
- Haz clic en Guardar.
Agrega la transición de Fortune
a la escena Again
Después de que el usuario reciba su fortuna, la conversación deberá pasar a la nueva escena Again
.
Para agregar una transición de la escena Fortune
a la escena Again
, sigue estos pasos:
- Haz clic en la escena Fortune.
- Haz clic en la primera condición (
scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon"
) para abrir la ventana de opciones. - Desplázate y selecciona
Again
en Transición. - Haz clic en Guardar.
- Haz clic en la segunda condición para abrir la ventana de opciones.
- Desplázate y selecciona
Again
en Transición. - Haz clic en Guardar.
- Haz clic en la tercera condición para abrir la ventana de opciones.
- Desplázate y selecciona
Again
en Transición. - Haz clic en Guardar.
Prueba tu acción en el simulador
En este punto, tu acción debería proporcionar al usuario el siguiente mensaje después de que reciba su fortuna: "That is what I see for you. Would you like to choose a different option and explore another future? (Eso es lo que veo para ti. ¿Te gustaría elegir una opción diferente y explorar otro futuro?)".
Para probar tu acción, sigue estos pasos:
- En la barra de navegación, haz clic en Test.
- Escribe
Talk to my test app
en el campo Input y presionaEnter
. - Escribe
Yes
en el campo Input y presionaEnter
. También puedes hacer clic en el chip de sugerencia Yes. - Escribe o di
dragon
, o bien haz clic en la opción.
Deberías recibir la fortuna para la opción dragon (dragón) y el mensaje Again
.
Agrega intents y realiza la transición a la escena Again
En esta sección, agregarás intents yes
y no
a la escena Again
para que tu acción comprenda si el usuario desea seleccionar una nueva opción o no. También debes agregar las transiciones adecuadas para los intents yes
y no
. El intent yes
pasa a la escena Fortune
, mientras que no
pasa a la escena del sistema End conversation
.
Para agregar intents y transiciones a la escena Again
, sigue estos pasos:
- Haz clic en Develop, en la barra de navegación.
- Haz clic en la escena
Again
. - Haz clic en el signo + (signo más) junto a User intent handling.
- Selecciona yes en el menú desplegable de intents.
- Selecciona
Fortune
en el menú desplegable Transition. - Haz clic en Guardar.
- Haz clic en el signo + (signo más) junto a User intent handling.
- Selecciona no en el menú desplegable de intents.
- Selecciona End conversation en el menú desplegable Transition.
- Selecciona Send prompts y agrega el siguiente mensaje en el editor de código:
candidates:
- first_simple:
variants:
- speech: >-
It pleases me that you are satisfied with your choice. Best of luck on your quest. Farewell.
- Haz clic en Guardar.
Prueba tu acción en el simulador
Ahora tu acción debería comprender si el usuario desea seleccionar una opción nueva o finalizar la conversación.
Para probar el intent yes
, sigue estos pasos:
- En la barra de navegación, haz clic en Test.
- Escribe
Talk to my test app
en el campo Input y presionaEnter
. - Escribe
Yes
en el campo Input y presionaEnter
. También puedes hacer clic en el chip de sugerencia Yes. - Escribe o di una opción, o bien haz clic en ella.
- Escribe
Yes
en el campo Input y presionaEnter
.
Deberías recibir el mensaje: "What do you choose to help you on your quest, a dragon, a translator, or a compass? (¿Qué eliges para ayudarte en tu misión: un dragón, un traductor o una brújula?)".
Para probar el intent no
, sigue estos pasos:
- Escribe o di una opción, o bien haz clic en ella.
- Escribe
No
en el campo de entrada y presionaEnter
.
Deberías recibir el mensaje End conversation
: "Me gustaría que te complazca tu elección. (Me gusta que te complazca tu elección. Mucha suerte en tu misión. Que la suerte te acompañe)".
4. Agrega una ruta de asistencia
Así, habrás creado la ruta principal que realizarán la mayoría de los usuarios en tu acción. Sin embargo, el usuario podría responder al mensaje de la escena Fortune
,¿qué eliges para ayudarte en tu misión: un dragón, un traductor o una brújula? con una opción distinta de las disponibles.
En esta sección, configurarás tu acción para que entienda cuándo un usuario elige (magia) y dinero, y le pida al usuario que seleccione una de las tres opciones originales cuando elija una de estas opciones. Para configurar esta lógica, debes crear una nueva type
que contenga estas otras opciones y un nuevo intent, other_option
, que se detecte cuando un usuario diga una de estas opciones. También debes anotar frases de entrenamiento dentro del intent other_option
para identificar y extraer parámetros de intent.
Cuando el motor de procesamiento de lenguaje natural (CLN) de Asistente detecta una coincidencia de parámetros en la entrada del usuario, extrae el valor como parámetro escrito para que puedas realizar la lógica con una escena. En este codelab, configurarás tu acción para extraer la ayuda que el usuario elige y hacer referencia a esa opción en un mensaje.
Crea el tipo unavailable_options
Ahora puedes crear un tipo unavailable_options
que contenga una variedad de opciones para que tu acción pueda identificar esos datos en una entrada del usuario.
Para crear el tipo unavailable_options
, sigue estos pasos:
- Haz clic en Develop, en la barra de navegación.
- Haz clic en el signo + (signo más) en Types.
- Escribe
unavailable_options
y presionaEnter
. - Haz clic en
unavailable_options
para abrir las opciones. - Ingresa las siguientes entradas y los valores correspondientes en la sección Add entries:
|
|
|
|
|
|
|
|
La tabla de pares clave-valor debería tener el siguiente aspecto:
- Haz clic en Guardar.
Crea el intent other_option
A continuación, crearás un intent llamado other_option
y agregarás frases de entrenamiento que incluyan las opciones del tipo unavailable_options
. La coincidencia con este intent se establece cuando el usuario selecciona una opción incluida en el tipo unavailable_options
.
Para crear y configurar el intent other_option
, sigue estos pasos:
- Haga clic en el signo + (signo más), en Intents personalizados.
- Escribe
other_option
y presionaEnter
. - Haz clic en
other_option
para abrir la ventana. - Agrega las siguientes frases de entrenamiento y presiona
Enter
después de cada una:
I want to use spells
I really really want to use a phone
magic!
cash
I want to ride a horse
- En la sección Add intent parameters, actualiza el nombre del parámetro a
chosenUnavailableOption
. - Haz clic en Guardar.
A medida que ingresas las frases de entrenamiento, Actions Builder reconoce las palabras spells
, phone
, magic
, cash
y horse
del tipo unavailable_options
y destaca (anota) automáticamente esas palabras. Luego, agrega automáticamente un parámetro de intent en la sección Add intent parameters, como se muestra en la siguiente imagen.
El parámetro de intent te permite extraer el nombre de la opción y usarla en un mensaje.
Agrega el intent other_option
a la escena Fortune
Ahora tienes un intent, other_option
, que puede controlar la acción de un usuario de especificar una opción que no se encuentre entre las originales. En esta sección, agregarás el intent other_option
a la escena Fortune
. Puedes usar el parámetro de intent para personalizar el mensaje según las entradas del usuario.
Para agregar el intent other_option
a la escena Fortune
, sigue estos pasos:
- Haz clic en la escena Fortune.
- Haz clic en el signo + (signo más) junto a User intent handling.
- Selecciona
other_option
en el menú desplegable del intent. - Selecciona Send prompts y agrega el siguiente mensaje:
candidates:
- first_simple:
variants:
- speech: >-
I have seen the future and a $intent.params.chosenUnavailableOption.original
will not aid you on your journey.
La expresión $intent.params.chosenUnavailableOption
hace referencia al objeto del parámetro del intent y $intent.params.chosenUnavailableOption.original
se refiere al valor de ese objeto. original property
hace referencia a la entrada sin procesar que especifica el usuario.
- Haz clic en Guardar.
Cuando un usuario dice una opción que aparece en el tipo unavailable_options
durante la escena Fortune
, se produce una coincidencia con el intent other_option
y este agrega un mensaje a la cola de mensajes. Debido a que no hay una transición especificada, el bucle de ejecución de escena continúa reevaluando la etapa de condiciones. Luego, el espacio chosenOptions
agrega el mensaje a la lista de mensajes de la cola, y esta se entrega al usuario.
Prueba tu acción en el simulador
Tu acción debería responder de manera apropiada cuando un usuario seleccione una de las opciones enumeradas en el tipo unavailable_options
y especificar la ayuda que seleccionó el usuario. Luego, la acción debe solicitarle al usuario que elija una de las opciones originales: dragon (dragón), translator (traductor) o compass (brújula).
Para probar tu acción en el simulador, sigue estos pasos:
- En la barra de navegación, haz clic en Test.
- Escribe
Talk to my test app
en el campo Input y presionaEnter
. - Escribe
Yes
en el campo Input y presionaEnter
. También puedes hacer clic en el chip de sugerencia Yes. - Escribe
magic
en el campo Input y presionaEnter
.
Tal vez notes que el mensaje no parece correcto cuando el usuario elige "magic" (magia) debido al artículo "a" (una) que se encuentra antes de la opción. Resolveremos este problema en las siguientes secciones.
Agrega el controlador unavailable_options
Para colocar el artículo "a" (un/una) antes de las opciones adecuadas del tipo unavailable_options
, puedes configurar un controlador de eventos en tu lógica de entrega para comprobar si la opción que elige el usuario necesita estar precedida por un artículo "a". En primer lugar, debes configurar tu acción para llamar al controlador en la consola.
Para agregar el controlador unavailable_options
, sigue estos pasos:
- Haz clic en Develop, en la barra de navegación.
- Haz clic en la escena
Fortune
. - En User intent handling, haz clic en When other_option is matched para abrir la ventana.
- Desmarca la casilla de verificación Send prompts.
- Seleccione la casilla de verificación Call your webhook.
- Ingresa
unavailable_options
en el cuadro de texto del controlador del evento.
- Haz clic en Save.
Actualiza y, luego, implementa la entrega
Ahora que configuraste tu acción para que llame al controlador de eventos unavailable_options
, puedes actualizar el controlador en tu entrega e implementarlo.
Para actualizar la entrega, sigue estos pasos:
- Haz clic en Webhook, en la barra de navegación.
- Agrega el siguiente código al controlador
greeting
:
app.handle('unavailable_options', conv => {
const option = conv.intent.params.chosenUnavailableOption.original;
const optionKey = conv.intent.params.chosenUnavailableOption.resolved;
let message = 'I have seen the future and ';
if(optionsNeedA.has(optionKey)){
message = message + 'a ';
}
message = message + `${option} will not aid you on your journey. `;
conv.add(message);
});
- Agrega el siguiente código a
const app = conversation();
:
const optionsNeedA = new Set();
optionsNeedA.add('horse').add('phone');
- Haz clic en Save Fulfillment.
- Haz clic en Deploy Fulfillment. Cuando se complete la implementación, verás un mensaje sobre tu editor que indicará que la implementación de tu Cloud Function está actualizada.
Comprende el código
El controlador unavailable_options
hace lo siguiente:
- Obtiene datos
option
del objetoconv
y asignaoption
a la propiedadoriginal
, que es la entrada sin procesar del usuario. - Asigna
optionKey
a la propiedadresolved
, que es la clave para el tipounavailable_options
. - Verifica si
optionKey
es una de las opciones que necesitan un artículo "a" (un/una). Si es así, construye el mensaje con el artículo. - Agrega el mensaje a través de
conv.add(message)
.
Prueba tu acción en el simulador
Tu acción ahora debería ajustar el mensaje según si la opción del usuario del tipo unavailable_options
requiere un artículo "a" antepuesto.
Para probar tu acción, sigue estos pasos:
- En la barra de navegación, haz clic en Test.
- Escribe
Talk to my test app
o haz clic en la opción, en el campo Input, y presionaEnter
. - Escribe
Yes
en el campo Input y presionaEnter
. También puedes hacer clic en el chip de sugerencia Yes. - Escribe
magic
en el campo Input y presionaEnter
. - Escribe
horse
en el campo Input y presionaEnter
.
Tu acción debería agregar el artículo "a" (un) antes de la opción "horse" (caballo), mientras que no debe hacerlo para la opción "magic" (magia).
Cómo limpiar tu proyecto (recomendado)
A fin de evitar incurrir en posibles cargos, te recomendamos quitar los proyectos que no quieras usar. Para borrar los proyectos que creaste en este codelab, sigue estos pasos:
- Si quieres borrar el proyecto de la nube y los recursos, completa los pasos indicados en la sección Cómo apagar (borrar) proyectos.
- Opcional: Para quitar tu proyecto de inmediato de la Consola de Actions, consulta Cómo borrar un proyecto. Si no sigues este paso, se quitará automáticamente el proyecto después de alrededor de 30 días.
5. ¡Felicitaciones!
Ya aprendiste las habilidades intermedias necesarias para crear Acciones para Asistente de Google.
Temas que se abordaron
- Cómo desarrollar acciones conversacionales con la biblioteca de entregas de Node.js
- Cómo usar espacios para recopilar datos del usuario
- Cómo usar condiciones para agregar lógica a una escena
- Cómo agregar un bucle de juego
- Cómo agregar una ruta de acceso de asistencia
Más información
Explora estos recursos para obtener más información sobre la compilación de acciones para Asistente de Google:
- Documentación sobre el desarrollo de acciones para Asistente de Google
- Página de GitHub de Actions on Google con código de muestra y bibliotecas
- La comunidad de Reddit oficial para desarrolladores que trabajan con Asistente de Google
- Lineamientos sobre el diseño de conversaciones para conocer las prácticas recomendadas y los lineamientos relacionados con las acciones de conversación
Sigue a @ActionsOnGoogle en Twitter para mantenerte al tanto de los anuncios más recientes y enviar tuits a #AoGDevs para compartir tu compilación.
Encuesta de opinión
Antes de irte, completa una breve encuesta sobre tu experiencia.