वेबहुक फ़ुलफ़िलमेंट बनाने के बाद, उसे प्रोडक्शन में डिप्लॉय करें और अपनी सेट की गई कार्रवाई से कनेक्ट करें. प्रोडक्शन होस्टिंग के लिए, Firebase के लिए Cloud Functions पर डिप्लॉय करने के लिए, एनवायरमेंट को सेट अप करने का तरीका यहां बताया गया है. हालांकि, आपके पास ऐसा कोई भी वेब होस्टिंग प्लैटफ़ॉर्म चुनने का विकल्प है जो एचटीटीपीएस अनुरोधों और रिस्पॉन्स के साथ काम करता हो. ऐसा करके, फ़ुलफ़िलमेंट को होस्ट किया जा सकता है.
अगर आपने पहले ही अपने वेबहुक को किसी वेब होस्टिंग प्लैटफ़ॉर्म पर डिप्लॉय कर दिया है, तो वेबहुक को अपनी सेट की गई कार्रवाई से कनेक्ट करें पर जाएं. ध्यान दें कि नीचे दी गई प्रोसेस के आखिरी चरण इस आधार पर अलग-अलग होते हैं कि आपने Dialogflow या ऐक्शन SDK टूल का इस्तेमाल किया है या नहीं.
Firebase के लिए Cloud Functions पर डिप्लॉय करें
- Node.js को डाउनलोड और इंस्टॉल करें.
Firebase सीएलआई को सेट अप और शुरू करें. अगर यह निर्देश
EACCES
की गड़बड़ी की वजह से काम नहीं करता, तो आपको एनपीएम से जुड़ी अनुमतियां बदलनी पड़ सकती हैं.npm install -g firebase-tools
अपने Google खाते से Firebase टूल की पुष्टि करें:
firebase login
अपनी ऐक्शन प्रोजेक्ट डायरेक्ट्री पर जाएं और Firebase शुरू करें. आपसे Firebase सीएलआई की उन सुविधाओं को चुनने के लिए कहा जाएगा जिन्हें आपको अपने 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)
प्रॉम्प्ट में
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
डिप्लॉयमेंट में कुछ मिनट लगते हैं. पूरा होने के बाद, आपको इनके जैसा आउटपुट दिखेगा. 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 पर जाएं, तो वेबहुक बटन को चालू करें पर टॉगल करें. इसके बाद, यूआरएल फ़ील्ड में मौजूद यूआरएल को अपने फ़ंक्शन यूआरएल से बदलें.
अगर कार्रवाई 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" }