Une fois que vous avez créé le traitement du webhook, déployez-le en production et associez-le à votre action. Les étapes suivantes vous expliquent comment configurer votre environnement à déployer sur Cloud Functions for Firebase pour l'hébergement de production. Toutefois, vous pouvez choisir n'importe quelle plate-forme d'hébergement Web compatible avec les requêtes et les réponses HTTPS pour héberger votre traitement.
Si vous avez déjà déployé votre webhook sur une plate-forme d'hébergement Web, vous pouvez passer à l'étape Connecter le webhook à votre action. Notez que les dernières étapes du processus ci-dessous diffèrent selon que vous utilisez Dialogflow ou le SDK Actions.
Déployer une application dans Cloud Functions for Firebase
- Téléchargez et installez Node.js.
Configurer et initialiser la CLI Firebase Si la commande suivante échoue avec une erreur
EACCES
, vous devrez peut-être modifier les autorisations npm.npm install -g firebase-tools
Authentifiez l'outil Firebase avec votre compte Google:
firebase login
Accédez au répertoire de votre projet d'action et initialisez Firebase. Vous serez invité à sélectionner les fonctionnalités de la CLI Firebase que vous souhaitez configurer pour votre projet Actions. Choisissez
Functions
et d'autres fonctionnalités que vous souhaitez utiliser, comme Firestore, puis appuyez sur Entrée pour confirmer et continuer:cd <cloud_function_dir> firebase init
Associez l'outil Firebase à votre projet Actions en le sélectionnant à l'aide des touches fléchées pour parcourir la liste des projets:
. Une fois le projet choisi, l'outil Firebase lance la configuration de Functions en vous demandant quel langage vous souhaitez utiliser. Utilisez les touches fléchées et appuyez sur Entrée pour continuer.
=== 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 TypeScriptChoisissez si vous souhaitez utiliser ESLint pour détecter les bugs probables et appliquer le style
Y
ouN
:? Do you want to use ESLint to catch probable bugs and enforce style? (Y/n)
Obtenez les dépendances du projet en saisissant
Y
dans l'invite:? Do you want to install dependencies with npm now? (Y/n)
Une fois la configuration terminée, un résultat semblable à celui-ci s'affiche:
✔ Firebase initialization complete!
Installez la dépendance actions-on-google:
cd <cloud_function_dir>/functions npm install actions-on-google
Obtenez les dépendances de fulfillment et déployez la fonction de fulfillment:
npm install firebase deploy --only functions
Le déploiement prend quelques minutes. Une fois l'opération terminée, un résultat semblable à celui-ci s'affiche. Vous aurez besoin de l'URL de la fonction pour entrer dans 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
Associer le webhook à votre action
Si vous utilisez Dialogflow:dans la console Dialogflow, accédez à Fulfillment, définissez le bouton Webhook sur ACTIVÉ et remplacez l'URL du champ URL par l'URL de la fonction.
Si vous utilisez le SDK Actions:créez un objet dans l'objet conversations
pour déclarer votre traitement dans votre package d'actions:
{ "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" }