เมื่อสร้าง Fulfillment เว็บฮุคแล้ว ให้ทำให้ใช้งานได้เป็นเวอร์ชันที่ใช้งานจริงและเชื่อมต่อกับการดำเนินการของคุณ ขั้นตอนต่อไปนี้จะแสดงวิธีตั้งค่าสภาพแวดล้อมเพื่อทำให้ใช้งานได้ใน Cloud Functions for Firebase สำหรับโฮสติ้งที่ใช้งานจริง อย่างไรก็ตาม คุณเลือกแพลตฟอร์มเว็บโฮสติ้งที่รองรับคำขอ HTTPS และการตอบกลับเพื่อโฮสต์ Fulfillment ของคุณได้
หากติดตั้งใช้งานเว็บฮุคกับแพลตฟอร์มเว็บโฮสติ้งอยู่แล้ว ให้ข้ามไปที่เชื่อมต่อเว็บฮุคกับการดําเนินการ โปรดทราบว่าขั้นตอนสุดท้ายในขั้นตอนด้านล่างจะแตกต่างกันไป ขึ้นอยู่กับว่าคุณใช้ Dialogflow หรือ Actions SDK
ทำให้ใช้งานได้กับ Cloud Functions for Firebase
- ดาวน์โหลดและติดตั้ง Node.js
ตั้งค่าและเริ่มต้น Firebase CLI หากคำสั่งต่อไปนี้ไม่สำเร็จโดยมีข้อผิดพลาด
EACCES
คุณอาจต้องเปลี่ยนสิทธิ์ npmnpm install -g firebase-tools
ตรวจสอบสิทธิ์เครื่องมือ Firebase ด้วยบัญชี Google
firebase login
ไปที่ไดเรกทอรีโปรเจ็กต์การดำเนินการแล้วเริ่มต้น Firebase ระบบจะขอให้คุณเลือกฟีเจอร์ Firebase CLI ที่ต้องการตั้งค่าสำหรับโปรเจ็กต์ Actions เลือก
Functions
และฟีเจอร์อื่นๆ ที่คุณอาจต้องการใช้ เช่น Firestore แล้วกด Enter เพื่อยืนยันและดำเนินการต่อcd <cloud_function_dir> firebase init
เชื่อมโยงเครื่องมือ Firebase กับโปรเจ็กต์การดำเนินการของคุณโดยเลือกเครื่องมือดังกล่าวโดยใช้ปุ่มลูกศรเพื่อไปยังรายการโปรเจ็กต์ ดังนี้
หลังจากเลือกโปรเจ็กต์ เครื่องมือ 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)
รับทรัพยากร Dependency ของโปรเจ็กต์โดยพิมพ์
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
รับทรัพยากร Dependency ของ Fulfillment และทำให้ฟังก์ชัน Fulfillment ใช้งานได้ด้วยคำสั่งต่อไปนี้
npm install firebase deploy --only functions
การทำให้ใช้งานได้จะใช้เวลา 2-3 นาที เมื่อเสร็จสิ้น คุณจะเห็นเอาต์พุต ที่คล้ายกับตัวอย่างต่อไปนี้ คุณจะต้องมี 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
เชื่อมต่อเว็บฮุคกับการดำเนินการของคุณ
หากคุณใช้ Dialogflow: ในคอนโซล Dialogflow ให้ไปที่Fulfillment สลับปุ่มเว็บฮุคเป็นเปิดใช้งาน แล้วแทนที่ URL ในช่อง URL ด้วย URL ของฟังก์ชัน
หากใช้ Actions SDK: ให้สร้างออบเจ็กต์ภายในออบเจ็กต์ conversations
เพื่อประกาศ Fulfillment ในแพ็กเกจ Action ดังนี้
{ "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" }