เมื่อสร้าง Fulfillment เว็บฮุคเรียบร้อยแล้ว ก็ทำให้ใช้งานได้ในเวอร์ชันที่ใช้งานจริงและเชื่อมต่อ ลงในการดำเนินการของคุณ ขั้นตอนต่อไปนี้จะแสดงวิธีตั้งค่าสภาพแวดล้อมของคุณ เพื่อทำให้ใช้งานได้กับ Cloud Functions for Firebase สำหรับโฮสติ้งเวอร์ชันที่ใช้งานจริง อย่างไรก็ตาม คุณสามารถเลือกแพลตฟอร์มเว็บโฮสติ้งที่รองรับคำขอ HTTPS และ การตอบสนองต่อการโฮสต์การดำเนินการตามคำสั่งซื้อ
หากนำเว็บฮุคไปใช้กับแพลตฟอร์มเว็บโฮสติ้งอยู่แล้ว ให้ทำดังนี้ ข้ามไปที่เชื่อมต่อเว็บฮุคกับการดำเนินการของคุณ โปรดทราบว่าสุดท้าย ขั้นตอนในกระบวนการด้านล่างจะแตกต่างกันไปขึ้นอยู่กับว่าคุณใช้ 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 กับโปรเจ็กต์ 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)
รับทรัพยากร Dependency ของโปรเจ็กต์โดยพิมพ์
Y
ลงในพรอมต์:? Do you want to install dependencies with npm now? (Y/n)
เมื่อตั้งค่าเสร็จแล้ว คุณจะเห็นผลลัพธ์ที่คล้ายกับข้อความต่อไปนี้
✔ Firebase initialization complete!
ติดตั้งทรัพยากร Dependency actions-on-google โดยทำดังนี้
cd <cloud_function_dir>/functions npm install actions-on-google
รับทรัพยากร Dependency ของ Fulfillment และจะทำให้ฟังก์ชัน Fulfillment ใช้งานได้ด้วยคำสั่งต่อไปนี้
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
เชื่อมต่อเว็บฮุคกับการดำเนินการ
หากคุณใช้ Dialogflow: ใน คอนโซล Dialogflow ไปที่ การดำเนินการคำสั่งซื้อ สลับปุ่มเว็บฮุคเป็นเปิดใช้ และแทนที่ URL ในช่อง 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" }