Dopo aver creato il fulfillment webhook, esegui il deployment in produzione e connettilo all'Azione. I passaggi seguenti mostrano come configurare l'ambiente per il deployment in Cloud Functions for Firebase per l'hosting di produzione. Tuttavia, puoi scegliere qualsiasi piattaforma di hosting web che supporti richieste e risposte HTTPS per ospitare il fulfillment.
Se hai già eseguito il deployment del webhook su una piattaforma di hosting web, puoi passare a Collegare il webhook all'Azione. Tieni presente che i passaggi finali della procedura seguente variano a seconda che utilizzi Dialogflow o l'SDK Actions.
Esegui il deployment in Cloud Functions for Firebase
- Scarica e installa Node.js.
Configura e inizializza l'interfaccia a riga di comando di Firebase. Se il comando seguente non va a buon fine e viene restituito un errore
EACCES
, potresti dover modificare le autorizzazioni npm.npm install -g firebase-tools
Autentica lo strumento Firebase con il tuo Account Google:
firebase login
Vai alla directory del progetto Azione e inizializza Firebase. Ti verrà chiesto di selezionare le funzionalità dell'interfaccia a riga di comando di Firebase da configurare per il progetto Actions. Scegli
Functions
e altre funzionalità che potresti voler utilizzare, come Firestore, quindi premi Invio per confermare e continuare:cd <cloud_function_dir> firebase init
Associa lo strumento Firebase al progetto Actions selezionandolo con i tasti freccia per spostarti nell'elenco dei progetti:
. Dopo aver scelto il progetto, lo strumento Firebase avvia la configurazione di Functions e ti chiede quale lingua usare. Selezionalo con i tasti freccia e premi Invio per continuare.
=== 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 TypeScriptScegli se vuoi utilizzare ESLint per individuare probabili bug e applicare la digitazione dello stile
Y
oN
:? Do you want to use ESLint to catch probable bugs and enforce style? (Y/n)
Ottieni le dipendenze del progetto digitando
Y
nel prompt:? Do you want to install dependencies with npm now? (Y/n)
Una volta completata la configurazione, verrà visualizzato un output simile al seguente:
✔ Firebase initialization complete!
Installa la dipendenza actions-on-google:
cd <cloud_function_dir>/functions npm install actions-on-google
Recupera le dipendenze di fulfillment ed esegui il deployment della funzione di fulfillment:
npm install firebase deploy --only functions
Il deployment richiede alcuni minuti. Al termine, visualizzerai un output simile al seguente. Sarà necessario l'URL della funzione da inserire in 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
Collega il webhook all'azione
Se utilizzi Dialogflow: nella console Dialogflow, vai a Fulfillment, imposta il pulsante Webhook su ATTIVATO e sostituisci l'URL nel campo URL con l'URL funzione.
Se utilizzi l'SDK Actions: crea un oggetto
all'interno dell'oggetto conversations
per dichiarare il fulfillment nel pacchetto
Azione:
{ "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" }