Un proyecto de Actions empaqueta todas tus acciones en un solo contenedor. Publicas este proyecto en Actions on Google para que Asistente de Google sepa cómo descubrir e invocar tus experiencias de conversación.
Usarás los siguientes componentes de bajo nivel para compilar tu proyecto de Actions:
En Configuración y recursos, se definen los metadatos y recursos del proyecto, como los íconos. Google usa esta información para publicar tus acciones en el directorio de Asistente, de modo que los usuarios puedan descubrirlas e invocarlas.
Los intents representan una tarea que se debe realizar, como una entrada del usuario o un evento del sistema que necesita procesamiento. El tipo de intent más común que usarás son los intents de usuario. Estos intents te permiten declarar frases de entrenamiento que el motor de CLN (comprensión del lenguaje natural) expande de forma natural para incluir muchas más frases similares. La CLN usa la agregación de estas frases para entrenar un modelo de lenguaje que el Asistente usa a fin de que coincida con las entradas del usuario. Durante una conversación, si alguna entrada del usuario coincide con el modelo de lenguaje del intent, el tiempo de ejecución de Asistente envía el intent a tu acción, de modo que pueda procesarlo y responder al usuario.
Los tipos te permiten extraer datos estructurados de las entradas del usuario. Mediante la anotación de frases de entrenamiento con tipos, la CLN puede extraer datos estructurados y relevantes por ti para que no tengas que analizar las entradas abiertas.
Los escenas procesan intents y son los ejecutores lógicos principales de tus acciones. Pueden completar espacios, evaluar la lógica condicional, mostrar mensajes al usuario y hasta llamar a servicios web externos para llevar a cabo la lógica empresarial. En combinación con intents, las escenas te brindan una manera eficaz de detectar entradas de usuarios específicos o eventos del sistema, además de llevar a cabo la lógica correspondiente.
Los mensajes definen las respuestas estáticas o dinámicas que utilizas para responder a los usuarios.
Los webhooks te permiten delegar trabajo adicional a los servicios web (entrega), como validar datos o generar mensajes. Tus acciones se comunican con la entrega a través de un protocolo de webhook basado en JSON.
Interactive Canvas te permite crear experiencias enriquecidas y envolventes con apps web que usan HTML, CSS y JavaScript.
Cómo crear un proyecto
Debes crear un proyecto en la Consola de Actions antes de desarrollar contenido para Asistente de Google. Para crear un proyecto, sigue estos pasos:
- Ve a la Consola de Actions.
- Haz clic en Proyecto nuevo.
- Ingresa un nombre para tu proyecto y haz clic en Crear proyecto.
- En la pantalla What kind of Action do you want to build?, selecciona la categoría que mejor represente tu proyecto y haz clic en Next.
- En la pantalla How do you want to build it, selecciona una forma de compilar y haz clic en Start build. Por ejemplo, puedes comenzar con un proyecto vacío o con una muestra.
Crea un proyecto del SDK de Actions local
Una vez que hayas creado un proyecto de Actions en la Consola de Actions, puedes inicializar un proyecto en el entorno de desarrollo local.
Para inicializar un proyecto del SDK de Actions desde un proyecto existente, sigue estos pasos:
- Crea un directorio vacío para el proyecto de Actions en tu sistema de archivos local.
- En este directorio vacío, crea un directorio
sdk
. - Cambia el directorio de trabajo al directorio
sdk
en la terminal.
Comienza con un proyecto vacío
Si quieres comenzar desde el proyecto vacío que acabas de crear en la consola, ejecuta gactions pull --project-id <my-project-id>
.
$ mkdir myAction $ cd myAction $ mkdir sdk $ cd sdk $ gactions pull --project-id my-project-id Pulling your project files from Draft for a project id: "my-project-id" ✔ Done. You should see the files written in path/to/myAction/sdk
Comienza con un proyecto de muestra
Si quieres comenzar desde un proyecto de muestra, ejecuta gactions init <sample name>
.
$ mkdir actions-test $ cd actions-test $ mkdir sdk $ cd sdk $ gactions init question Writing sample files for question. ✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.
Definir la información del proyecto
La configuración y los recursos del proyecto definen información sobre el proyecto, como la compatibilidad de funciones y superficies, las configuraciones regionales compatibles, el nombre visible, la descripción, los logotipos y mucho más. En la siguiente tabla, se describen las configuraciones y los recursos principales que proporcionas. Actions on Google usa esta información para implementar y publicar tu proyecto en el directorio de Asistente.
Nombre | Descripción |
---|---|
Información del directorio | Proporciona información para que Actions on Google pueda publicar tu proyecto en el directorio de Asistente. Incluye metadatos y descripciones sobre tu proyecto y recursos de imagen para logotipos e imágenes de banner. |
Segmentación geográfica | Configura las configuraciones regionales en las que están disponibles tus acciones. |
Funciones de superficie | Configura las plataformas en las que están disponibles tus acciones. |
Datos de la empresa | Especifica la información de contacto de su empresa. |
Verificación de marca | Conecta un sitio web o una app para Android de tu propiedad a fin de obtener beneficios adicionales, como nombres de invocaciones reservados y vínculos a sitios web dentro de tus acciones. |
Lanzamiento | Configura diferentes versiones de prueba y producción para tu acción de prueba y producción. |
Vínculos de Asistente | Permite que los usuarios invoquen tus acciones desde tus propiedades web. |
Para definir la información del proyecto:
Define la configuración global para tu proyecto de acciones en
sdk/settings/settings.yaml
. Consulta la documentación de referencia de Configuración para conocer los valores admitidos.En el siguiente fragmento, se muestra un archivo
sdk/settings/settings.yaml
de ejemplo:accountLinking: enableAccountCreation: true linkingType: GOOGLE_SIGN_IN category: GAMES_AND_TRIVIA projectId: my-project-id ...
Define la configuración que puede variar según la configuración regional del usuario (por ejemplo, frases de invocación en diferentes idiomas) en un archivo
sdk/settings/<locale>/settings.yaml
y reemplaza la configuración regional por tu configuración regional de destino.Consulta la documentación de referencia de LocalizedSettings para conocer los valores admitidos.
El siguiente fragmento es un ejemplo de la configuración en inglés definido en un archivo
sdk/settings/en/settings.yaml
:localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: https://path/to/large/banner privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: https://path/to/small/logo voice: female_1 ...
Agrega recursos
Puedes almacenar recursos como archivos de imagen, archivos de audio y strings en tu proyecto de Actions y hacer referencia a ellos desde archivos de configuración (por ejemplo, definiciones o condiciones de mensajes) con la variable $resources
definida por el sistema.
Los recursos del proyecto se almacenan en resources/
, y a cada tipo de recurso se le asigna una carpeta en el directorio.
Para localizar recursos, crea carpetas específicas de la configuración regional en la carpeta del tipo de recurso; por ejemplo, puedes almacenar versiones en español de las strings en resources/strings/es/<filename>.yaml
.
Imágenes
Los archivos de imagen se almacenan en resources/images/
, y puedes hacer referencia a ellos con $resources.images.<name of the image file without file extension>
.
Las extensiones de archivo permitidas son las siguientes:
gif
png
jpg
jpeg
Por ejemplo, si la versión en inglés del pequeño logotipo se guarda en resources/images/en/square.png
y la versión en inglés del banner grande se guarda en resources/images/en/landscape.jpg
respectivamente, sdk/settings/en/settings.yaml
del ejemplo anterior sería:
localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: $resources.images.landscape privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: $resources.images.square voice: female_1 ...
Archivos de audio
Los archivos de audio se almacenan en resources/audio/
y puedes hacer referencia a ellos con $resources.audio.<name of the audio file without file extension>
.
Las extensiones de archivo permitidas son las siguientes:
mp3
mpeg
Por ejemplo, puedes hacer referencia a grabaciones de audio a partir de mensajes:
candidates: - first_simple: variants: - speech: your speech response content: media: mediaType: audio mediaObjects: - name: media name description: media description url: $resources.audio.intro
Strings
Las strings se almacenan en resources/strings/
como archivos .yaml
. Cada archivo contiene un mapa de claves de string y valores asociados, que pueden ser strings individuales o listas de strings. Puedes hacer referencia a los valores con $resources.strings.<name of the image file without file extension>.<key>
para valores de string única o con el fin de obtener un valor aleatorio de una lista, y $resources.strings.<name of the image file without file extension>.<key>.<numerical index>
para un valor de string específico dentro de una lista.
Por ejemplo, si usas strings de recursos para la localización de strings, sdk/settings/en/settings.yaml
del ejemplo anterior podría convertirse en:
localizedSettings: developerEmail: developer@developers.com developerName: $resources.strings.appinfo.developerName displayName: $resources.strings.appinfo.displayName fullDescription: $resources.strings.appinfo.fullDescription largeBannerImage: $resources.images.landscape privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl sampleInvocations: - $resources.strings.invocations.sample shortDescription: $resources.strings.appinfo.shortDescription smallLogoImage: $resources.images.square voice: female_1 ...
Prueba proyectos en el simulador
La Consola de Actions proporciona un simulador para obtener una vista previa de las acciones. El simulador te permite ver información de depuración, establecer las capacidades del dispositivo, simular la configuración regional y mucho más.

Para probar un proyecto, haz lo siguiente:
- Ejecuta
gactions deploy preview
para implementar tu acción en la vista previa y habilitar las pruebas en el simulador. - Abre la URL en el resultado del comando para acceder al simulador.
$ gactions deploy preview Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes. Sending configuration files Waiting for server to respond. ✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview