אחרי שיוצרים את מילוי ההזמנות ב-webhook, פורסים אותו בסביבת הייצור ומקשרים אותו אותו לפעולה. השלבים הבאים מראים איך מגדירים את הסביבה לפרוס ב-Cloud Functions for Firebase לצורכי אירוח בסביבת ייצור. אבל, לפעמים אפשר לבחור כל פלטפורמת אירוח באינטרנט שתומכת בבקשות HTTPS לאירוח מילוי ההזמנות.
אם כבר פרסתם את התגובה לפעולה מאתר אחר (webhook) בפלטפורמת אירוח באינטרנט, אפשר מדלגים לקטע קישור התגובה לפעולה מאתר אחר (webhook) לפעולה. שימו לב שהשלב הסופי השלבים בתהליך הבאים משתנים בהתאם לאפליקציה שבה משתמשים - Dialogflow או Dialogflow SDK של פעולות.
פריסה ב-Cloud Functions for Firebase
- מורידים ומתקינים את Node.js.
מגדירים ומפעילים את ה-CLI של Firebase. אם הפקודה הבאה נכשלת עם שגיאת
EACCES
, יכול להיות שיהיה צורך לשינוי ההרשאות של NPM.npm install -g firebase-tools
מאמתים את כלי Firebase עם חשבון Google:
firebase login
עוברים לספריית הפרויקט של הפעולה ומפעילים את Firebase. תהיה לך אפשרות בקשה לבחור אילו תכונות של Firebase CLI להגדיר פרויקט פעולות. בוחרים את
Functions
ותכונות אחרות שאולי רוצים להשתמש בהן, כמו Firestore, ואז מקישים על Enter כדי לאשר ולהמשיך:cd <cloud_function_dir> firebase init
משייכים את כלי Firebase לפרויקט Actions (פעולות) על ידי בחירה בו באמצעות מקשי החיצים כדי לנווט ברשימת הפרויקטים:
אחרי שבוחרים את הפרויקט, הכלי של Firebase מתחיל את הגדרת הפונקציות. ושואלת באיזו שפה להשתמש. בחירה באמצעות מקשי החיצים מקישים על Enter כדי להמשיך.
=== 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צריך לבחור אם להשתמש ב-ESLint כדי לזהות באגים אפשריים ולאכוף את הסגנון מקלידים
Y
אוN
:? Do you want to use ESLint to catch probable bugs and enforce style? (Y/n)
כדי לקבל את יחסי התלות של הפרויקט, מקלידים
Y
בהנחיה:? Do you want to install dependencies with npm now? (Y/n)
לאחר השלמת ההגדרה, יתקבל פלט שדומה לזה:
✔ Firebase initialization complete!
מתקינים את התלות actions-on-google:
cd <cloud_function_dir>/functions npm install actions-on-google
מקבלים את יחסי התלות של מילוי ההזמנות ופורסים את פונקציית המילוי:
npm install firebase deploy --only functions
הפריסה נמשכת כמה דקות. בסיום התהליך יוצג פלט כמו שמפורט בהמשך. כדי להזין, נדרשת כתובת ה-URL של הפונקציה. 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
חיבור של ה-webhook לפעולה
אם משתמשים ב-Dialogflow: מסוף Dialogflow, יש להיכנס אל מילוי, מעבירים את המתג של תגובה לפעולה מאתר אחר (webhook) למצב מופעל ומחליפים אותו את כתובת ה-URL בשדה URL עם Function URL (כתובת ה-URL של הפונקציה).
אם משתמשים ב-Actions SDK: יצירת אובייקט
באובייקט conversations
כדי להצהיר על מילוי ההזמנה בפעולה
[חבילה]:
{ "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" }