Implementa entregas (Dialogflow)

Una vez que hayas compilado la entrega de webhook, impleméntala en producción y conéctala. a tu Action. En los siguientes pasos, se muestra cómo configurar tu entorno a fin de implementarlos en Cloud Functions para Firebase para el hosting de producción. Sin embargo, puedes elegir cualquier plataforma de hosting web que admita solicitudes HTTPS y para alojar tu entrega.

Si ya implementaste tu webhook en una plataforma de hosting web, puedes hacer lo siguiente: ve directamente a Conecta el webhook a tu Acción. Ten en cuenta que la última los pasos del proceso que se indican a continuación difieren en función de si usas Dialogflow o SDK de Actions.

Realiza la implementación en Cloud Functions para Firebase

  1. Descarga y, luego, instala Node.js.
  2. Configura y, luego, inicializa Firebase CLI. Si el siguiente comando falla con un error EACCES, es posible que debas cambiar los permisos de npm.

    npm install -g firebase-tools
    
  3. Autentica la herramienta de Firebase con tu Cuenta de Google:

    firebase login
    
  4. Navega al directorio de tu proyecto de acción y, luego, inicializa Firebase. Serás que selecciones las funciones de Firebase CLI que quieres configurar para tu Proyecto de acciones. Elige Functions y otras funciones que quieras usar. como Firestore, luego presiona Intro para confirmar y continuar:

    cd <cloud_function_dir>
    firebase init
    
  5. Selecciona la herramienta de Firebase con tu proyecto de acciones para asociarla con las teclas de flecha para navegar por la lista de proyectos:

  6. Después de elegir el proyecto, la herramienta de Firebase inicia la configuración de Functions. y te pregunta qué idioma quieres usar. Selecciona con las teclas de flecha y presiona Intro para continuar.

    === Functions Setup
    A functions directory will be created in your project with a Node.js package pre-configured. Functions can be deployed with firebase deploy. ? What language would you like to use to write Cloud Functions? (Use arrow keys) > JavaScript TypeScript
  7. Elige si deseas usar ESLint para detectar posibles errores y aplicar estilo Escribe Y o N:

    ? Do you want to use ESLint to catch probable bugs and enforce style? (Y/n)
  8. Para obtener las dependencias del proyecto, escribe Y en el mensaje:

    ? Do you want to install dependencies with npm now? (Y/n)

    Cuando finalice la configuración, verás un resultado similar al siguiente:

    ✔  Firebase initialization complete!
  9. Instala la dependencia actions-on-google:

    cd <cloud_function_dir>/functions
    npm install actions-on-google
    
  10. Obtén las dependencias de entrega y, luego, implementa la función de entrega:

    npm install
    firebase deploy --only functions
    

    La implementación tarda unos minutos. Cuando termines, verás el resultado similares a los siguientes. Necesitarás la URL de la función para ingresar Dialogflow

    ✔  Deploy complete!
    Project Console: https://console.firebase.google.com/project/exampleproject-123/overview Function URL (cloudFunctionName): https://us-central1-exampleproject-123.cloudfunctions.net/cloudFunctionName

Conecta el webhook a tu acción

Si usas Dialogflow, haz lo siguiente: Consola de Dialogflow, ve a Fulfillment, cambia el botón Webhook a HABILITADO y reemplaza el la URL en el campo URL con la URL de función.

Si usas el SDK de Actions, crea un objeto. dentro del objeto conversations para declarar tu entrega en tu acción paquete:

{
  "actions": [
    {
      "description": "Default Welcome Intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "myFulfillmentFunction"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to myFulfillmentFunction"
          ]
        }
      }
    }
  ],
  "conversations": {
    "myFulfillmentFunction": {
      "name": "myFulfillmentFunction",
      "url": "https://us-central1-myprojectname-ab123.cloudfunctions.net/cloudFunctionName"
    }
  },
  "locale": "en"
}