Actions Builder का इस्तेमाल करके, Google Assistant के लिए कार्रवाइयाँ बनाना (लेवल 1)

1. खास जानकारी

Google Assistant डेवलपर प्लैटफ़ॉर्म की मदद से, Google Assistant की सुविधाओं को बढ़ाने के लिए सॉफ़्टवेयर बनाया जा सकता है. Google Assistant एक वर्चुअल पर्सनल असिस्टेंट है. इसकी सुविधा, स्मार्ट स्पीकर, फ़ोन, कार, टीवी, हेडफ़ोन वगैरह जैसे एक अरब से ज़्यादा डिवाइसों पर उपलब्ध है. लोग, Assistant से बातचीत करके कई काम करते हैं. जैसे, किराने का सामान खरीदना या टैक्सी बुक करना. डेवलपर के तौर पर, Assistant डेवलपर प्लैटफ़ॉर्म का इस्तेमाल करके, उपयोगकर्ताओं और तीसरे पक्ष की फ़ुलफ़िलमेंट सेवा के बीच बातचीत को आसानी से बनाया और मैनेज किया जा सकता है. इससे उपयोगकर्ताओं को बेहतर अनुभव मिलता है.

इस कोडलैब में, Google Assistant का इस्तेमाल करके ऐप्लिकेशन बनाने के लिए शुरुआती लेवल के कॉन्सेप्ट शामिल हैं. इसे पूरा करने के लिए, आपको इस प्लैटफ़ॉर्म का पहले से कोई अनुभव होने की ज़रूरत नहीं है. इस कोडलैब में, Google Assistant के लिए एक आसान ऐक्शन बनाया गया है. यह ऐक्शन, उपयोगकर्ताओं को Gryffinberg की काल्पनिक दुनिया में उनके रोमांचक सफ़र की शुरुआत में उनकी किस्मत के बारे में बताता है. Actions Builder के लेवल 2 वाले कोडलैब में, इस ऐक्शन को और बेहतर बनाया गया है. इससे उपयोगकर्ता के इनपुट के आधार पर, उसकी किस्मत के बारे में बताया जा सकता है.

आपको क्या बनाना है

इस कोडलैब में, आपको एक आसान ऐक्शन बनाने का तरीका बताया जाएगा. इसमें ये फ़ंक्शन शामिल होंगे:

  • यह उपयोगकर्ताओं को शुभकामनाओं वाला मैसेज भेजता है
  • यह कुकी, उपयोगकर्ताओं से एक सवाल पूछती है. जब उपयोगकर्ता जवाब देता है, तो आपकी कार्रवाई, उपयोगकर्ता के चुने गए विकल्प के हिसाब से जवाब देती है
  • यह सुविधा, सुझाव वाले चिप उपलब्ध कराती है. उपयोगकर्ता इन पर क्लिक करके इनपुट दे सकते हैं
  • यह कुकी, उपयोगकर्ता के लिए स्वागत मैसेज में बदलाव करती है. यह बदलाव इस आधार पर किया जाता है कि उपयोगकर्ता, लौटने वाला उपयोगकर्ता है या नहीं

इस कोडलैब को पूरा करने के बाद, आपकी पूरी की गई कार्रवाई में बातचीत का यह फ़्लो होगा:

1c1e79902bed7230.png

18ef55647b4cb52c.png

आपको क्या सीखने को मिलेगा

  • Actions Console में प्रोजेक्ट बनाने का तरीका
  • उपयोगकर्ता के ऐक्शन शुरू करने के बाद, उसे प्रॉम्प्ट कैसे भेजा जाता है
  • उपयोगकर्ता के इनपुट को प्रोसेस करने और जवाब देने का तरीका
  • कार्रवाई सिम्युलेटर में अपने ऐक्शन को टेस्ट करने का तरीका
  • Cloud Functions एडिटर का इस्तेमाल करके, फ़ुलफ़िलमेंट लागू करने का तरीका

आपको किन चीज़ों की ज़रूरत होगी

आपके एनवायरमेंट में ये टूल होने चाहिए:

  • कोई वेब ब्राउज़र, जैसे कि Google Chrome

2. सेट अप करें

यहां दिए गए सेक्शन में, डेवलपमेंट एनवायरमेंट सेट अप करने और Actions प्रोजेक्ट बनाने का तरीका बताया गया है.

Google खाते से जुड़ी अनुमतियों की सेटिंग देखना

इस कोडलैब में बनाई गई कार्रवाई को आज़माने के लिए, आपको ज़रूरी अनुमतियां चालू करनी होंगी, ताकि सिम्युलेटर आपकी कार्रवाई को ऐक्सेस कर सके. अनुमतियां चालू करने के लिए, यह तरीका अपनाएं:

  1. गतिविधि कंट्रोल पेज पर जाएं.
  2. अगर आपने पहले से साइन इन नहीं किया है, तो अपने Google खाते से साइन इन करें.
  3. ये अनुमतियां चालू करें:
  • वेब और ऐप्लिकेशन गतिविधि
  • वेब और ऐप्लिकेशन गतिविधि में जाकर, Google की सेवाएं इस्तेमाल करने वाले डिवाइसों, ऐप्लिकेशन, और साइटों पर की गई मेरी गतिविधि की जानकारी और Chrome इतिहास शामिल करें चेकबॉक्स को चुनें.

ऐक्शन प्रोजेक्ट बनाना

आपका Actions प्रोजेक्ट, आपकी कार्रवाई के लिए एक कंटेनर होता है. इस कोडलैब के लिए Actions प्रोजेक्ट बनाने के लिए, यह तरीका अपनाएं:

  1. Actions console खोलें.
  2. नया प्रोजेक्ट पर क्लिक करें.
  3. प्रोजेक्ट का नाम डालें. जैसे, actions-codelab. (यह नाम सिर्फ़ आपके इंटरनल रेफ़रंस के लिए है. बाद में, अपने प्रोजेक्ट के लिए कोई बाहरी नाम सेट किया जा सकता है.)

8cd05a84c1c0a32f.png

  1. प्रोजेक्ट बनाएं पर क्लिक करें.
  2. आपको किस तरह का ऐक्शन बनाना है? स्क्रीन पर, कस्टम कार्ड चुनें.
  3. आगे बढ़ें पर क्लिक करें.
  4. खाली प्रोजेक्ट कार्ड चुनें.
  5. बनाना शुरू करें पर क्लिक करें.

कोई बिलिंग खाता लिंक करना

अगर आपको Cloud Functions का इस्तेमाल करके, इस कोडलैब में बाद में फ़ुलफ़िलमेंट डिप्लॉय करना है, तो आपको Google Cloud में अपने प्रोजेक्ट से एक बिलिंग खाता जोड़ना होगा.

अगर आपने अपने प्रोजेक्ट से पहले से कोई बिलिंग खाता नहीं जोड़ा है, तो यह तरीका अपनाएं:

  1. Google Cloud Platform के बिलिंग पेज पर जाएं.
  2. बिलिंग खाता जोड़ें या खाता बनाएं पर क्लिक करें.
  3. पेमेंट के तरीके की जानकारी डालें.
  4. मुफ़्त में आज़माना शुरू करें या सबमिट करें और बिलिंग चालू करें पर क्लिक करें.
  5. Google Cloud Platform के बिलिंग पेज पर जाएं.
  6. मेरे प्रोजेक्ट टैब पर क्लिक करें.
  7. कोड लैब के लिए, कार्रवाइयां में जाकर, कार्रवाइयां प्रोजेक्ट के बगल में मौजूद तीन बिंदुओं पर क्लिक करें.
  8. बिलिंग बदलें पर क्लिक करें.
  9. ड्रॉप-डाउन मेन्यू में, कॉन्फ़िगर किया गया बिलिंग खाता चुनें. खाता सेट करें पर क्लिक करें.

शुल्क से बचने के लिए, इस कोडलैब के आखिर में दिए गए अपने प्रोजेक्ट को मिटाएं सेक्शन में दिया गया तरीका अपनाएं.

3. बातचीत शुरू करना

उपयोगकर्ता, इनवोकेशन की मदद से आपके ऐक्शन के साथ बातचीत शुरू करते हैं. उदाहरण के लिए, अगर आपके ऐक्शन का नाम MovieTime है, तो उपयोगकर्ता "Ok Google, MovieTime से बात करो" जैसे वाक्यांश बोलकर, आपके ऐक्शन को चालू कर सकते हैं. यहां MovieTime, दिखने वाला नाम है. अगर आपको अपने ऐक्शन को प्रोडक्शन में डिप्लॉय करना है, तो उसका डिसप्ले नेम होना ज़रूरी है. हालांकि, अपने ऐक्शन को टेस्ट करने के लिए, आपको डिसप्ले नेम तय करने की ज़रूरत नहीं है. इसके बजाय, सिम्युलेटर में "मेरे टेस्ट ऐप्लिकेशन से बात करो" वाक्यांश का इस्तेमाल करके, अपनी कार्रवाई को शुरू किया जा सकता है.

आपको मुख्य इनवोकेशन में बदलाव करना होगा, ताकि यह तय किया जा सके कि उपयोगकर्ता के आपके ऐक्शन को इनवोक करने के बाद क्या होगा.

डिफ़ॉल्ट रूप से, Actions Builder, इनवोकेशन ट्रिगर होने पर एक सामान्य प्रॉम्प्ट देता है ("मुख्य इनवोकेशन तय करके, अपनी कार्रवाई बनाना शुरू करें.").

अगले सेक्शन में, Actions console में मुख्य इनवोकेशन के लिए प्रॉम्प्ट को अपनी पसंद के मुताबिक बनाएं.

मुख्य इनवोकेशन सेट अप करना

जब कोई उपयोगकर्ता आपकी कार्रवाई शुरू करता है, तब आपकी कार्रवाई उसे वापस भेजे जाने वाले प्रॉम्प्ट में बदलाव करने के लिए, यह तरीका अपनाएं:

  1. नेविगेशन बार में, मुख्य इनवोकेशन पर क्लिक करें.

966d037e1d7914df.png

  1. कोड एडिटर में, speech फ़ील्ड (Start building your action...) में मौजूद टेक्स्ट को इस स्वागत मैसेज से बदलें: A wondrous greeting, adventurer! Welcome to the mythical land of Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you're on your way to an epic journey.
  1. सेव करें पर क्लिक करें.

सिम्युलेटर में मुख्य इनवोकेशन की जांच करना

Actions console, आपके ऐक्शन की जांच करने के लिए एक वेब टूल उपलब्ध कराता है. इसे सिम्युलेटर कहा जाता है. इंटरफ़ेस, हार्डवेयर डिवाइसों और उनकी सेटिंग की तरह काम करता है. इसलिए, आपके पास अपने ऐक्शन से इस तरह बातचीत करने का विकल्प होता है जैसे वह किसी स्मार्ट डिसप्ले, फ़ोन, स्पीकर या KaiOS पर चल रहा हो.

कार्रवाई शुरू करने पर, अब उसे आपके जोड़े गए कस्टम प्रॉम्प्ट ("A wondrous greeting, adventurer!...") के साथ जवाब देना चाहिए

सिम्युलेटर में, अपनी कार्रवाई को मुख्य तौर पर शुरू करने की सुविधा की जांच करने के लिए, यह तरीका अपनाएं:

  1. सिम्युलेटर पर जाने के लिए, सबसे ऊपर मौजूद नेविगेशन बार में जाकर जांच करें पर क्लिक करें.
  2. सिम्युलेटर में अपनी कार्रवाई शुरू करने के लिए, इनपुट फ़ील्ड में Talk to my test app टाइप करें और Enter दबाएं.

656f5736af6a5a07.png

जब आपकी कार्रवाई का मुख्य इनवोकेशन ट्रिगर होता है, तो Assistant आपके तय किए गए वेलकम मैसेज के साथ जवाब देती है. इस समय, Assistant के स्वागत करने के बाद बातचीत खत्म हो जाती है. अगले सेक्शन में, अपने ऐक्शन में बदलाव करें, ताकि बातचीत जारी रहे.

इवेंट लॉग देखना

जांच करें टैब में होने पर, दाईं ओर मौजूद पैनल में इवेंट लॉग दिखते हैं. इनमें बातचीत के इतिहास को इवेंट लॉग के तौर पर दिखाया जाता है. हर इवेंट लॉग में, बातचीत के उस मोड़ के दौरान होने वाले इवेंट दिखते हैं.

फ़िलहाल, आपकी कार्रवाई में एक इवेंट लॉग है. इसमें उपयोगकर्ता का इनपुट ("Talk to my test app") और आपकी कार्रवाई का जवाब, दोनों दिखते हैं. इस स्क्रीनशॉट में, आपके ऐक्शन का इवेंट लॉग दिखाया गया है:

443129bdcbecc593.png

इवेंट लॉग में मौजूद डाउन ऐरो पर क्लिक करने से, आपको बातचीत के उस मोड़ पर हुए इवेंट दिखेंगे. ये इवेंट, समय के हिसाब से क्रम में लगे होते हैं:

  • userInput: यह उपयोगकर्ता के इनपुट ("Talk to my test app") से मेल खाता है.
  • interactionMatch: यह आपकी कार्रवाई के मुख्य इनवोकेशन रिस्पॉन्स से मेल खाता है. इसे उपयोगकर्ता के इनपुट से ट्रिगर किया गया था. ऐरो पर क्लिक करके इस लाइन को बड़ा करने पर, आपको मुख्य इनवोकेशन (A wondrous greeting, adventurer!...) के लिए जोड़ा गया प्रॉम्प्ट दिखेगा
  • endConversation: यह Main invocation इंटेंट में चुने गए ट्रांज़िशन से मेल खाता है. फ़िलहाल, इससे बातचीत खत्म हो जाती है. (इस कोडलैब के अगले सेक्शन में, ट्रांज़िशन के बारे में ज़्यादा जानें.)

इवेंट लॉग से पता चलता है कि आपकी कार्रवाई कैसे काम कर रही है. साथ ही, अगर आपको कोई समस्या आती है, तो ये आपकी कार्रवाई को डीबग करने के लिए मददगार टूल होते हैं. किसी इवेंट की जानकारी देखने के लिए, इवेंट के नाम के बगल में मौजूद ऐरो पर क्लिक करें. यह ऐरो, यहां दिए गए स्क्रीनशॉट में दिखाया गया है:

fcc389b59af5bef1.png

4. अपनी कार्रवाई के लिए बातचीत तैयार करना

अब जब आपने यह तय कर लिया है कि उपयोगकर्ता के Action को शुरू करने के बाद क्या होगा, तो अब अपने Action की बातचीत का बाकी हिस्सा बनाया जा सकता है. इस कोडलैब को जारी रखने से पहले, इन शब्दों के बारे में जानें. इससे आपको यह समझने में मदद मिलेगी कि आपकी कार्रवाई की बातचीत कैसे काम करती है:

आपकी कार्रवाई में एक या कई सीन हो सकते हैं. हर सीन को चलाने से पहले, उसे चालू करना ज़रूरी है. (इस कोडलैब में बनाई गई कार्रवाई में सिर्फ़ एक सीन है, जिसका नाम Start है.) किसी सीन को चालू करने का सबसे सामान्य तरीका यह है कि अपनी कार्रवाई को इस तरह कॉन्फ़िगर करें कि जब कोई उपयोगकर्ता किसी सीन में उपयोगकर्ता के इंटेंट से मेल खाता हो, तो वह इंटेंट किसी दूसरे सीन पर ट्रांज़िशन को ट्रिगर करे और उसे चालू करे.

उदाहरण के लिए, मान लें कि कोई काल्पनिक कार्रवाई है, जो उपयोगकर्ता को जानवरों के बारे में जानकारी देती है. जब उपयोगकर्ता इस कार्रवाई को शुरू करता है, तो Main invocation इंटेंट मैच हो जाता है. इसके बाद, Facts नाम वाले सीन पर ट्रांज़िशन ट्रिगर हो जाता है. इस ट्रांज़िशन से Facts सीन चालू हो जाता है. इससे उपयोगकर्ता को यह प्रॉम्प्ट मिलता है: Would you like to hear a fact about cats or dogs? Facts सीन में, उपयोगकर्ता के इरादे से जुड़ा एक फ़ंक्शन होता है, जिसे Cat कहा जाता है. इसमें ट्रेनिंग के ऐसे वाक्यांश होते हैं जो उपयोगकर्ता, बिल्ली के बारे में कोई तथ्य सुनने के लिए बोल सकता है. जैसे, "मुझे बिल्ली के बारे में कोई तथ्य सुनना है." या "बिल्ली". जब उपयोगकर्ता बिल्ली के बारे में कोई जानकारी सुनने के लिए कहता है, तो Cat इंटेंट मैच हो जाता है. इसके बाद, Cat fact नाम के सीन पर ट्रांज़िशन ट्रिगर हो जाता है. Cat fact सीन चालू होता है और उपयोगकर्ता को एक प्रॉम्प्ट भेजा जाता है. इसमें बिल्ली के बारे में एक दिलचस्प जानकारी शामिल होती है.

a78f549c90c3bff6.png

पहली इमेज. Actions Builder की मदद से बनाई गई किसी कार्रवाई में, बातचीत के सामान्य टर्न का फ़्लो

सीन, इंटेंट, और ट्रांज़िशन मिलकर आपकी बातचीत का लॉजिक बनाते हैं. साथ ही, ये तय करते हैं कि उपयोगकर्ता आपकी कार्रवाई के दौरान बातचीत के अलग-अलग पाथ का इस्तेमाल कैसे कर सकता है. यहां दिए गए सेक्शन में, आपको एक सीन बनाना होता है. साथ ही, यह तय करना होता है कि उपयोगकर्ता के आपकी कार्रवाई शुरू करने के बाद, वह सीन कैसे चालू होगा.

मुख्य इनवोकेशन से सीन पर ट्रांज़िशन करना

इस सेक्शन में, Start नाम का एक नया सीन बनाया जाता है. यह सीन, उपयोगकर्ता को एक प्रॉम्प्ट भेजता है. इसमें पूछा जाता है कि क्या उसे अपनी किस्मत के बारे में जानना है. इसके अलावा, मुख्य इनवोकेशन से नए Start सीन पर ट्रांज़िशन भी जोड़ा जा सकता है.

यह सीन बनाने और इसमें ट्रांज़िशन जोड़ने के लिए, यह तरीका अपनाएं:

  1. नेविगेशन बार में, डेवलप करें पर क्लिक करें.
  2. साइड नेविगेशन बार में, मुख्य इनवोकेशन पर क्लिक करें.
  3. ट्रांज़िशन सेक्शन में, ड्रॉप-डाउन मेन्यू पर क्लिक करें और टेक्स्ट फ़ील्ड में Start टाइप करें.

29e12dff950a3bce.png

  1. जोड़ें पर क्लिक करें. इससे Start नाम का एक सीन बनता है. साथ ही, यह कार्रवाई को बताता है कि उपयोगकर्ता को वेलकम प्रॉम्प्ट देने के बाद, Start सीन पर ट्रांज़िशन करना है.
  2. सीन की सूची देखने के लिए, साइड नेविगेशन बार में सीन पर क्लिक करें.
  3. सीन में जाकर, Start सीन देखने के लिए शुरू करें पर क्लिक करें.
  4. Start सीन के On enter सेक्शन में मौजूद, + पर क्लिक करें.
  5. प्रॉम्प्ट भेजें को चुनें.
  6. speech फ़ील्ड (Enter the response that users will see or hear...) में दिए गए वाक्य को बदलकर, उपयोगकर्ता से पूछा जाने वाला सवाल लिखें: Before you continue on your quest, would you like your fortune told?

3fc95466efd476f.png

  1. सेव करें पर क्लिक करें.

जब उपयोगकर्ता Start सीन में प्रवेश करता है, तब Google Assistant उसे यह सूचना (Before you continue on your quest...) दिखाती है.

सुझाव वाले चिप जोड़ना

सुझाव वाले चिप, उपयोगकर्ता को क्लिक किए जा सकने वाले सुझाव देते हैं. आपकी कार्रवाई, उपयोगकर्ता के इनपुट के तौर पर इन सुझावों को प्रोसेस करती है. इस सेक्शन में, स्क्रीन वाले डिवाइसों पर उपयोगकर्ताओं की मदद करने के लिए सुझाव वाले चिप जोड़े जाते हैं.

Start सीन के प्रॉम्ट में सुझाव वाले चिप जोड़ने के लिए, यह तरीका अपनाएं:

  1. Start सीन में, सुझाव पर क्लिक करें. इस कार्रवाई से, एक सुझाव वाला चिप जुड़ जाता है.
  2. title फ़ील्ड में, Suggested Response को 'Yes' से बदलें.
  3. उसी फ़ॉर्मैट का इस्तेमाल करके, 'No' नाम का सुझाव चिप मैन्युअल तरीके से जोड़ें. आपका कोड, इस स्निपेट की तरह दिखना चाहिए:
    suggestions:
      - title: 'Yes'
      - title: 'No'
  1. सेव करें पर क्लिक करें.

2d13c2ada791ec26.png

सिम्युलेटर में अपने ऐक्शन की जांच करना

इस समय, आपकी कार्रवाई को मुख्य इनवोकेशन से Start सीन पर ट्रांज़िशन करना चाहिए. साथ ही, उपयोगकर्ता से पूछना चाहिए कि क्या उसे अपनी किस्मत के बारे में जानना है. सुझाव वाले चिप, सिम्युलेट किए गए डिसप्ले में भी दिखने चाहिए.

सिम्युलेटर में अपनी कार्रवाई की जांच करने के लिए, यह तरीका अपनाएं:

  1. नेविगेशन बार में, टेस्ट करें पर क्लिक करें. इससे आपको सिम्युलेटर पर ले जाया जाएगा.
  2. सिम्युलेटर में अपनी कार्रवाई की जांच करने के लिए, इनपुट फ़ील्ड में Talk to my test app टाइप करें और Enter दबाएं. आपकी कार्रवाई को Main invocation प्रॉम्प्ट और जोड़े गए Start सीन प्रॉम्प्ट, "Before you continue on your quest, would you like your fortune told?" के साथ जवाब देना चाहिए.

इस इंटरैक्शन को इस स्क्रीनशॉट में दिखाया गया है:

3c2013ebb2da886a.png

  1. प्रॉम्प्ट का जवाब देने के लिए, Yes या No सुझाव वाले चिप पर क्लिक करें. (इनपुट फ़ील्ड में "हाँ" या "नहीं" भी कहा जा सकता है या Yes या No डाला जा सकता है.)

प्रॉम्प्ट का जवाब देने पर, आपकी कार्रवाई एक मैसेज के साथ जवाब देती है. इसमें बताया जाता है कि वह आपके इनपुट को नहीं समझ पा रही है: "माफ़ करें, मुझे समझ में नहीं आया. क्या फिर से कोशिश की जा सकती है?" आपने अब तक अपने ऐक्शन को "हाँ" या "नहीं" इनपुट को समझने और जवाब देने के लिए कॉन्फ़िगर नहीं किया है. इसलिए, आपका ऐक्शन आपके इनपुट को NO_MATCH इंटेंट से मैच करता है.

डिफ़ॉल्ट रूप से, NO_MATCH सिस्टम इंटेंट सामान्य जवाब देता है. हालांकि, इन जवाबों को अपनी पसंद के मुताबिक बनाया जा सकता है. इससे उपयोगकर्ता को यह पता चलेगा कि आपको उसकी बात समझ नहीं आई. जब Assistant, उपयोगकर्ता के इनपुट से तीन बार मैच नहीं कर पाती है, तो वह आपके ऐक्शन के साथ उपयोगकर्ता की बातचीत को खत्म कर देती है.

yes और no इंटेंट जोड़ना

अब उपयोगकर्ता, आपके ऐक्शन के सवाल का जवाब दे सकते हैं. इसलिए, आपके पास अपने ऐक्शन को कॉन्फ़िगर करने का विकल्प है, ताकि उपयोगकर्ताओं के जवाबों ("हाँ" या "नहीं") को समझा जा सके. यहां दिए गए सेक्शन में, उपयोगकर्ता के इंटेंट बनाए जाते हैं. ये इंटेंट तब मैच होते हैं, जब उपयोगकर्ता "हां" या "नहीं" कहता है. साथ ही, इन इंटेंट को Start सीन में जोड़ा जाता है.

yes इंटेंट बनाएं

yes इंटेंट बनाने के लिए, यह तरीका अपनाएं:

  1. नेविगेशन बार में, डेवलप करें पर क्लिक करें.
  2. इरादों की सूची खोलने के लिए, नेविगेशन बार में कस्टम इंटेंट पर क्लिक करें.
  3. इरादों की सूची के आखिर में, + (प्लस का निशान) पर क्लिक करें.
  4. नए इंटेंट yes को नाम दें और Enter दबाएं.
  5. yes इंटेंट पेज खोलने के लिए, yes इंटेंट पर क्लिक करें.
  6. ट्रेनिंग फ़्रेज़ जोड़ें सेक्शन में, फ़्रेज़ डालें टेक्स्ट बॉक्स पर क्लिक करें और ये फ़्रेज़ डालें:
  • Yes
  • Y
  • I would
  • Tell me

98440276cb9e7de8.png

  1. सेव करें पर क्लिक करें.

Start सीन में yes इंटेंट जोड़ें

अब कार्रवाई यह समझ सकती है कि उपयोगकर्ता "हाँ" कहने के लिए क्या कह रहा है. yes सीन में yes उपयोगकर्ता के इरादे को जोड़ा जा सकता है, क्योंकि उपयोगकर्ता Start प्रॉम्प्ट ("अपनी क्वेस्ट जारी रखने से पहले, क्या आपको अपनी किस्मत के बारे में जानना है?") का जवाब दे रहा है.Start

Start सीन में उपयोगकर्ता के इस इंटेंट को जोड़ने के लिए, यह तरीका अपनाएं:

  1. नेविगेशन बार में, शुरू करें सीन पर क्लिक करें.
  2. उपयोगकर्ता के इरादे को समझना के बगल में मौजूद, Start सीन में + (प्लस का निशान) पर क्लिक करें.
  3. इन्टेंट ड्रॉप-डाउन मेन्यू में, हां चुनें.

681928e3d71abdbf.png

  1. प्रॉम्प्ट भेजें पर क्लिक करें और speech फ़ील्ड में यह टेक्स्ट डालें: Your future depends on the aid you choose to use for your quest. Choose wisely! Farewell, stranger.

आपके एडिटर में मौजूद कोड, इस स्निपेट की तरह दिखना चाहिए:

candidates:
  - first_simple:
      variants:
        - speech: >-
            Your future depends on the aid you choose to use for your quest. Choose
            wisely! Farewell, stranger.
  1. ट्रांज़िशन सेक्शन में, ड्रॉप-डाउन मेन्यू पर क्लिक करें और बातचीत खत्म करें चुनें.
  2. सेव करें पर क्लिक करें.

सिम्युलेटर में yes इंटेंट की जांच करना

इस समय, आपका ऐक्शन यह समझ जाता है कि उपयोगकर्ता को अपनी किस्मत के बारे में कब जानना है. इसके बाद, वह सही जवाब देता है.

सिम्युलेटर में इस इंटेंट को टेस्ट करने के लिए, यह तरीका अपनाएं:

  1. नेविगेशन बार में, टेस्ट करें पर क्लिक करें.
  2. सिम्युलेटर में अपनी कार्रवाई की जांच करने के लिए, इनपुट फ़ील्ड में Talk to my test app टाइप करें और Enter दबाएं.
  3. इनपुट फ़ील्ड में Yes लिखें और Enter दबाएं. इसके अलावा, हां सुझाव वाले चिप पर क्लिक करें.

f131998710d8ffd8.png

आपका ऐक्शन, उपयोगकर्ता को जवाब देता है और बताता है कि उसका भाग्य, चुनी गई मदद पर निर्भर करता है. इसके बाद, आपकी कार्रवाई सेशन को खत्म कर देती है, क्योंकि आपने yes इंटेंट के लिए End conversation ट्रांज़िशन चुना था.

no इंटेंट बनाएं

अब आपको no इंटेंट बनाना होगा, ताकि जब उपयोगकर्ता को अपनी किस्मत के बारे में नहीं जानना हो, तो उसे समझा जा सके और जवाब दिया जा सके. इस इंटेंट को बनाने के लिए, यह तरीका अपनाएं:

  1. नेविगेशन बार में, डेवलप करें पर क्लिक करें.
  2. इरादों की सूची खोलने के लिए, नेविगेशन बार में कस्टम इंटेंट पर क्लिक करें.
  3. इरादों की सूची के आखिर में, + (प्लस का निशान) पर क्लिक करें.
  4. नए इंटेंट no को नाम दें और Enter दबाएं.
  5. **no** इन्टेंट पेज खोलने के लिए, नहीं पर क्लिक करें.
  6. ट्रेनिंग फ़्रेज़ जोड़ें सेक्शन में, फ़्रेज़ डालें टेक्स्ट बॉक्स पर क्लिक करें और ये फ़्रेज़ डालें:
  • No
  • N
  • I don't want
  • nope

2e7b8fd57eac94c5.png

  1. सेव करें पर क्लिक करें.

Start सीन में no इंटेंट जोड़ें

अब कार्रवाई यह समझ सकती है कि उपयोगकर्ता "नहीं" या "नहीं" से मिलता-जुलता कोई जवाब दे रहा है. जैसे, "नहीं". आपको Start सीन में no उपयोगकर्ता का इरादा जोड़ना होगा, क्योंकि उपयोगकर्ता Start प्रॉम्प्ट ("आगे बढ़ने से पहले, क्या आपको अपनी किस्मत के बारे में जानना है?") का जवाब दे रहा है.

Start सीन के लिए यह इंटेंट जोड़ने के लिए, यह तरीका अपनाएं:

  1. नेविगेशन बार में, शुरू करें सीन पर क्लिक करें.
  2. User intent handling के बगल में मौजूद Start सीन में, + (प्लस का निशान) पर क्लिक करें.
  3. इरादा सेक्शन में, ड्रॉप-डाउन मेन्यू में जाकर नहीं चुनें.

4aa558abdecb3121.png

  1. प्रॉम्प्ट भेजें पर क्लिक करें.
  2. speech फ़ील्ड को इस टेक्स्ट से अपडेट करें: I understand, stranger. Best of luck on your quest! Farewell.

आपके एडिटर में मौजूद कोड, इस स्निपेट की तरह दिखना चाहिए:

 candidates:
  - first_simple:
      variants:
        - speech: >-
             I understand, stranger. Best of luck on your quest! Farewell.
  1. ट्रांज़िशन सेक्शन में, ड्रॉप-डाउन मेन्यू से बातचीत खत्म करें चुनें.
  2. सेव करें पर क्लिक करें.

सिम्युलेटर में no इंटेंट की जांच करना

इस समय, आपकी कार्रवाई यह समझ जाती है कि उपयोगकर्ता को अपनी किस्मत के बारे में नहीं जानना है. इसलिए, वह सही जवाब देती है.

सिम्युलेटर में इस इंटेंट को टेस्ट करने के लिए, यह तरीका अपनाएं:

  1. नेविगेशन बार में, टेस्ट करें पर क्लिक करें.
  2. इनपुट फ़ील्ड में Talk to my test app लिखें और Enter दबाएं.
  3. इनपुट फ़ील्ड में No लिखें और Enter दबाएं. इसके अलावा, नहीं सुझाव वाले चिप पर क्लिक करें.

c0c8b04066577eb2.png

उपयोगकर्ता को उसकी किस्मत के बारे में बताने के बजाय, आपका ऐक्शन उसे उसकी यात्रा के लिए शुभकामनाएं देता है. इसके बाद, आपकी कार्रवाई सेशन को खत्म कर देती है, क्योंकि आपने no इंटेंट के लिए End conversation ट्रांज़िशन चुना था.

5. ऑर्डर पूरा करने की सुविधा लागू करना

फ़िलहाल, आपकी कार्रवाई के जवाब स्टैटिक हैं. जब प्रॉम्प्ट वाला कोई सीन चालू होता है, तो आपकी कार्रवाई हर बार एक ही प्रॉम्प्ट भेजती है. इस सेक्शन में, फ़ुलफ़िलमेंट लागू किया जाता है. इसमें, बातचीत के दौरान डाइनैमिक जवाब जनरेट करने का लॉजिक होता है.

आपका फ़ुलफ़िलमेंट यह पता लगाता है कि उपयोगकर्ता, लौटने वाला उपयोगकर्ता है या नया उपयोगकर्ता. साथ ही, यह लौटने वाले उपयोगकर्ताओं के लिए, ऐक्शन के ग्रीटिंग मैसेज में बदलाव करता है. दोबारा आने वाले उपयोगकर्ताओं के लिए, स्वागत संदेश छोटा कर दिया जाता है. साथ ही, इसमें उपयोगकर्ता के दोबारा आने की बात भी शामिल होती है: "आपका स्वागत है, एडवेंचरर! ग्रिफ़िनबर्ग की काल्पनिक दुनिया में आपका फिर से स्वागत है!"

इस कोडलैब के लिए, Actions console में Cloud Functions editor का इस्तेमाल करें. इससे आपको फ़ुलफ़िलमेंट कोड में बदलाव करने और उसे डिप्लॉय करने में मदद मिलेगी.

आपकी कार्रवाई, वेबहुक को ट्रिगर कर सकती है. ये वेबहुक, आपको किसी इवेंट के पूरा होने की सूचना देते हैं. यह इवेंट, कार्रवाई शुरू होने के दौरान या सीन के कुछ खास हिस्सों के एक्ज़ीक्यूट होने के दौरान होता है. जब कोई वेबुक ट्रिगर होता है, तो आपकी कार्रवाई, JSON पेलोड के साथ एक अनुरोध भेजती है. यह अनुरोध, इवेंट को प्रोसेस करने के लिए इस्तेमाल किए जाने वाले हैंडलर के नाम के साथ, फ़ुलफ़िलमेंट को भेजा जाता है. यह हैंडलर, कुछ लॉजिक को लागू करता है और उससे जुड़ा JSON रिस्पॉन्स दिखाता है.

फ़ुलफ़िलमेंट की सुविधा सेट अप करना

अब इनलाइन एडिटर में जाकर, फ़ुलफ़िलमेंट में बदलाव किया जा सकता है. इससे, आपके ऐक्शन को शुरू करने वाले नए और पुराने उपयोगकर्ताओं के लिए अलग-अलग प्रॉम्प्ट जनरेट किए जा सकेंगे.

इस लॉजिक को फ़ुलफ़िलमेंट में जोड़ने के लिए, यह तरीका अपनाएं:

  1. नेविगेशन बार में, डेवलप करें पर क्लिक करें.
  2. नेविगेशन बार में, वेबहुक टैब पर क्लिक करें.
  3. इनलाइन Cloud Functions चेकबॉक्स चुनें.
  4. पुष्टि करें पर क्लिक करें. index.js और package.json फ़ाइलों के लिए, बॉयलरप्लेट कोड अपने-आप जुड़ जाता है.

d4702f1de6404285.png

  1. index.js के कॉन्टेंट की जगह यह कोड डालें:

index.js

const { conversation } = require('@assistant/conversation');
const functions = require('firebase-functions');

const app = conversation({debug: true});

app.handle('greeting', conv => {
 let message = 'A wondrous greeting, adventurer! Welcome back to the mythical land of Gryffinberg!';
 if (!conv.user.lastSeenTime) {
   message = 'Welcome to the mythical land of  Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you\'re on your way to an epic journey.';
 }
 conv.add(message);
});


exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
  1. फ़ुलफ़िलमेंट सेव करें पर क्लिक करें.
  2. Deploy Fulfillment पर क्लिक करें.

Cloud Functions को आपका फ़ुलफ़िलमेंट उपलब्ध कराने और उसे डिप्लॉय करने में कुछ मिनट लगेंगे. आपको कोड एडिटर के ऊपर, Cloud Function deployment in progress... मैसेज दिखेगा. कोड को सही तरीके से डिप्लॉय करने पर, मैसेज अपडेट होकर Your Cloud Function deployment is up to date हो जाता है.

कोड को समझना

आपका फ़ुलफ़िलमेंट, Node.js के लिए Actions on Google Fulfillment लाइब्रेरी का इस्तेमाल करता है. यह Google Assistant से मिले एचटीटीपी अनुरोधों का जवाब देता है.

पिछले कोड स्निपेट में, आपने greeting हैंडलर को तय किया है. यह हैंडलर, lastSeenTime प्रॉपर्टी की जांच करके यह पता लगाता है कि उपयोगकर्ता ने पहले कभी इस ऐक्शन पर विज़िट किया है या नहीं. अगर lastSeenTime को तय नहीं किया गया है, तो इसका मतलब है कि उपयोगकर्ता नया है. ऐसे में, greeting हैंडलर नए उपयोगकर्ता का स्वागत करता है.

वेबहुक को ट्रिगर करने के लिए, मुख्य इनवोकेशन को अपडेट करना

अब जब आपने greeting फ़ंक्शन तय कर लिया है, तो अपने मुख्य इनवोकेशन इंटेंट में greeting इवेंट हैंडलर को कॉन्फ़िगर किया जा सकता है. इससे आपकी कार्रवाई को पता चल जाएगा कि उपयोगकर्ता के आपकी कार्रवाई को शुरू करने पर, इस फ़ंक्शन को कॉल करना है.

नए greeting हैंडलर को कॉल करने के लिए, अपनी कार्रवाई को कॉन्फ़िगर करने के लिए यह तरीका अपनाएं:

  1. नेविगेशन बार में, मुख्य इनवोकेशन पर क्लिक करें.
  2. प्रॉम्प्ट भेजें से चुने हुए का निशान हटाएं.
  3. अपने वेबुक को कॉल करें चेकबॉक्स चुनें.
  4. टेक्स्ट बॉक्स में greeting जोड़ें.

a803afe4f7375a97.png

  1. सेव करें पर क्लिक करें.

सिम्युलेटर में अपडेट किए गए मुख्य इनवोकेशन की जांच करना

सिम्युलेटर में अपनी कार्रवाई की जांच करने के लिए, यह तरीका अपनाएं:

  1. नेविगेशन बार में, टेस्ट करें पर क्लिक करें. इससे आपको सिम्युलेटर पर ले जाया जाएगा.
  2. इनपुट फ़ील्ड में Talk to my test app लिखें और Enter दबाएं.

आपने इस कोडलैब में पहले ही अपने ऐक्शन की जांच कर ली है. इसलिए, आप नए उपयोगकर्ता नहीं हैं. इसलिए, आपको अभिवादन का छोटा वर्शन मिलेगा: "अद्भुत अभिवादन, एडवेंचरर! ग्रिफ़िनबर्ग की पौराणिक धरती पर आपका फिर से स्वागत है!..."

अपने प्रोजेक्ट को क्लीन अप करना [सुझाया गया]

संभावित शुल्क से बचने के लिए, हमारा सुझाव है कि आप उन प्रोजेक्ट को हटा दें जिनका आपको इस्तेमाल नहीं करना है. इस कोडलैब में बनाए गए प्रोजेक्ट मिटाने के लिए, यह तरीका अपनाएं:

  1. क्लाउड प्रोजेक्ट और संसाधन मिटाने के लिए, प्रोजेक्ट बंद करना (मिटाना) सेक्शन में दिया गया तरीका अपनाएं.
  1. ज़रूरी नहीं: अगर आपको Actions Console से अपना प्रोजेक्ट तुरंत हटाना है, तो प्रोजेक्ट मिटाना सेक्शन में दिए गए चरणों को पूरा करें. अगर आपने यह चरण पूरा नहीं किया, तो आपका प्रोजेक्ट करीब 30 दिनों के बाद अपने-आप हट जाएगा.

6. बधाई हो!

आपको Google Assistant के लिए ऐक्शन बनाने के बारे में बुनियादी जानकारी हो.

आपने क्या कवर किया

  • Actions Console की मदद से, Actions प्रोजेक्ट सेट अप करने का तरीका
  • मुख्य इनवोकेशन में प्रॉम्प्ट जोड़ने का तरीका, ताकि उपयोगकर्ता आपके ऐक्शन से बातचीत शुरू कर सकें
  • सीन, इंटेंट, ट्रांज़िशन, सुझाव वाले चिप, और फ़ुलफ़िलमेंट की मदद से बातचीत वाला इंटरफ़ेस बनाने का तरीका
  • कार्रवाइयों के सिम्युलेटर की मदद से, अपनी कार्रवाई की जांच कैसे करें

ज़्यादा जानें

Google Assistant के लिए ऐक्शन बनाने के बारे में ज़्यादा जानने के लिए, इन संसाधनों का इस्तेमाल करें:

राय जानने के लिए सर्वे

जाने से पहले, कृपया अपने अनुभव के बारे में एक छोटा सा सर्वे भरें.