प्रोजेक्ट बनाएं

Actions प्रोजेक्ट में आपकी सभी कार्रवाइयों को एक ही कंटेनर में पैकेज किया जाता है. आपने लोगों तक पहुंचाया मुफ़्त में इस प्रोजेक्ट को Actions on Google पर प्रकाशित करें, ताकि Google Assistant को पता चल सके कि कैसे और बातचीत वाली सुविधा को शुरू करें.

ऐक्शन प्रोजेक्ट के कॉम्पोनेंट
पहली इमेज. ऐक्शन प्रोजेक्ट का स्ट्रक्चर

अपना ऐक्शन प्रोजेक्ट बनाने के लिए, इन लो-लेवल कॉम्पोनेंट का इस्तेमाल किया जाता है:

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

  • इंटेंट ऐसे टास्क के बारे में बताता है जिसे पूरा करना है, जैसे कि कुछ उपयोगकर्ता के इनपुट या सिस्टम इवेंट को प्रोसेस करना होगा. सबसे आम तो इंटेंट उपयोगकर्ता के इंटेंट हो सकते हैं. इन इंटेंट की मदद से, आपके पास ट्रेनिंग से ऐसे वाक्यांश जिनका इस्तेमाल एनएलयू (सामान्य भाषा की समझ) के ज़रिए स्वाभाविक तौर पर किया जाता है इंजन का उपयोग करें. NLU ये वाक्यांश एक ऐसे भाषा मॉडल को ट्रेनिंग देने के लिए हैं जिसका इस्तेमाल Assistant, उपयोगकर्ता से मिलान करने के लिए करती है इनपुट. बातचीत के दौरान, अगर उपयोगकर्ता का कुछ इनपुट इंटेंट की भाषा से मेल खाता है मॉडल है, तो Assistant रनटाइम आपकी कार्रवाई को इंटेंट भेजता है, ताकि यह कर सके उसे प्रोसेस करें और उपयोगकर्ता को जवाब दें.

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

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

  • प्रॉम्प्ट का इस्तेमाल करने से, स्टैटिक या डाइनैमिक रिस्पॉन्स का पता चलता है उपयोगकर्ताओं को जवाब दें.

  • वेबहुक की मदद से, वेब सेवाओं को ज़्यादा काम सौंपे जा सकते हैं (ग्राहक को आइटम भेजना), जैसे कि डेटा की पुष्टि करना या प्रॉम्प्ट जनरेट करना. आपकी कार्रवाइयाँ JSON पर आधारित वेबहुक प्रोटोकॉल की मदद से, ग्राहक को आइटम भेजने के बारे में जानकारी दें.

  • इंटरैक्टिव कैनवस की मदद से, अपनी क्रिएटिविटी दिखाएं को ऐक्सेस किया जा सकता है. इसमें एचटीएमएल, सीएसएस, और JavaScript का इस्तेमाल करने वाले वेब ऐप्लिकेशन शामिल हैं.

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

प्रोजेक्ट डेवलप करने से पहले, आपको Actions कंसोल में एक प्रोजेक्ट बनाना होगा Google Assistant. प्रोजेक्ट बनाने के लिए:

  1. कार्रवाइयां कंसोल पर जाएं.
  2. नया प्रोजेक्ट पर क्लिक करें.
  3. अपने प्रोजेक्ट का नाम डालें और प्रोजेक्ट बनाएं पर क्लिक करें.
  4. आपको किस तरह की कार्रवाई बनानी है? स्क्रीन पर, ऐसी कैटगरी चुनें जो आपके प्रोजेक्ट को सबसे अच्छी तरह से दिखाती हो. इसके बाद, आगे बढ़ें पर क्लिक करें.
  5. आपको इसे कैसे बनाना है स्क्रीन पर, फ़ाइल बनाने का तरीका चुनें और बिल्डिंग शुरू करें पर क्लिक करें. उदाहरण के लिए, खाली जगह से शुरू करें प्रोजेक्ट या सैंपल के साथ.

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

Actions कंसोल में कार्रवाई प्रोजेक्ट बनाने के बाद, आप आपके लोकल डेवलपमेंट एनवायरमेंट में कोई प्रोजेक्ट शुरू करते हैं.

किसी मौजूदा Actions प्रोजेक्ट से, Actions SDK टूल का प्रोजेक्ट शुरू करने के लिए, यह तरीका अपनाएं यह तरीका अपनाएं:

  1. अपने लोकल फ़ाइल सिस्टम पर, Actions प्रोजेक्ट के लिए एक खाली डायरेक्ट्री बनाएं.
  2. इस खाली डायरेक्ट्री में, sdk डायरेक्ट्री बनाएं.
  3. अपने टर्मिनल की मौजूदा डायरेक्ट्री को sdk डायरेक्ट्री में बदलें.

खाली प्रोजेक्ट के साथ शुरू करें

अगर आपको कंसोल में अभी-अभी बनाए गए खाली प्रोजेक्ट से शुरू करना है, gactions pull --project-id <my-project-id> दौड़ते हैं.

$ mkdir myAction
$ cd myAction
$ mkdir sdk
$ cd sdk
$ gactions pull --project-id my-project-id
Pulling your project files from Draft for a project id: "my-project-id"
✔ Done. You should see the files written in path/to/myAction/sdk

सैंपल प्रोजेक्ट के साथ शुरू करें

अगर आपको किसी सैंपल प्रोजेक्ट से शुरू करना है, तो gactions init <sample name> चलाएं.

$ mkdir actions-test
$ cd actions-test
$ mkdir sdk
$ cd sdk
$ gactions init question
Writing sample files for question.
✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.

प्रोजेक्ट की जानकारी तय करना

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

नाम ब्यौरा
डायरेक्ट्री की जानकारी जानकारी देता है ताकि Actions on Google आपकी प्रोजेक्ट को Assistant डायरेक्ट्री में सेव करना होगा. इसमें मेटाडेटा और कॉपीराइट उल्लंघन की शिकायत शामिल हैं आपके प्रोजेक्ट और इमेज रिसॉर्स के बारे में जानकारी.
जगह के हिसाब से टारगेटिंग उन स्थान-भाषाओं को कॉन्फ़िगर करता है जिनमें आपकी कार्रवाइयां उपलब्ध हैं.
प्लैटफ़ॉर्म की सुविधाएं उन प्लैटफ़ॉर्म को कॉन्फ़िगर करता है जिन पर आपकी कार्रवाइयां उपलब्ध हैं.
कंपनी की जानकारी आपकी कंपनी की संपर्क जानकारी दिखाती है.
ब्रैंड की पुष्टि ज़्यादा फ़ायदे पाने के लिए, अपने मालिकाना हक वाली वेबसाइट या Android ऐप्लिकेशन को कनेक्ट करें जैसे, शुरू करने के लिए रिज़र्व किए गए नाम और आपकी कार्रवाइयों में वेबसाइट को लिंक करना.
रिलीज़ आपकी कार्रवाई के लिए अलग-अलग टेस्टिंग और प्रोडक्शन रिलीज़ कॉन्फ़िगर करती है टेस्टिंग और प्रोडक्शन के लिए इस्तेमाल किए जाते हैं.
Assistant लिंक उपयोगकर्ताओं को अपनी वेब प्रॉपर्टी से आपकी कार्रवाइयाँ शुरू करने दें.

प्रोजेक्ट की जानकारी देने के लिए:

  1. sdk/settings/settings.yaml में अपने Actions प्रोजेक्ट के लिए ग्लोबल सेटिंग तय करें. सेटिंग रेफ़रंस देखें इस्तेमाल की जा सकने वाली वैल्यू के लिए दस्तावेज़.

    यहां दिया गया स्निपेट, sdk/settings/settings.yaml फ़ाइल का उदाहरण दिखाता है:

    accountLinking:
      enableAccountCreation: true
      linkingType: GOOGLE_SIGN_IN
    category: GAMES_AND_TRIVIA
    projectId: my-project-id
    ...
    

  2. उन सेटिंग को तय करें जो उपयोगकर्ता की जगह के हिसाब से अलग-अलग हो सकती हैं. उदाहरण के लिए, बोले जाने वाले वाक्यांशों की सुविधा) के लिए, sdk/settings/<locale>/settings.yaml फ़ाइल में, locale को अपनी टारगेट स्थान-भाषा से बदलना.

    LocalizedSettings देखें इस्तेमाल की जा सकने वाली वैल्यू के लिए रेफ़रंस दस्तावेज़.

    नीचे दिया गया स्निपेट, sdk/settings/en/settings.yaml फ़ाइल:

    localizedSettings:
      developerEmail: developer@developers.com
      developerName: Developer Name
      displayName: My Display Name
      fullDescription: full description of the action
      largeBannerImage: https://path/to/large/banner
      privacyPolicyUrl: http://path/to/privacy/policy
      sampleInvocations:
      - Talk to My Display Name
      shortDescription: short description of the action
      smallLogoImage: https://path/to/small/logo
      voice: female_1
    ...
    

संसाधन जोड़ें

इमेज फ़ाइलें, ऑडियो फ़ाइलें, और स्ट्रिंग जैसे संसाधन कार्रवाइयाँ प्रोजेक्ट करें और उन्हें कॉन्फ़िगरेशन फ़ाइलों से उनका रेफ़रंस दें. उदाहरण के लिए, परिभाषाएं या शर्तें) शामिल करने के लिए करते हैं.$resources

प्रोजेक्ट के संसाधन resources/ में सेव किए जाते हैं. साथ ही, हर तरह का संसाधन ने डायरेक्ट्री में एक फ़ोल्डर असाइन किया.

संसाधन में स्थानीय भाषा के हिसाब से फ़ोल्डर बनाकर, संसाधनों को स्थानीय भाषा में बदला जा सकता है लिखें, उदाहरण के लिए आप अपनी स्ट्रिंग के स्पैनिश वर्शन resources/strings/es/<filename>.yaml.

इमेज

इमेज फ़ाइलें resources/images/ में सेव की गई हैं और आपके पास उनका रेफ़रंस देने का विकल्प है $resources.images.<name of the image file without file extension> के साथ. ये फ़ाइल एक्सटेंशन इस्तेमाल किए जा सकते हैं:

  • gif
  • png
  • jpg
  • jpeg

उदाहरण के लिए, अगर छोटे लोगो का अंग्रेज़ी वर्शन बड़े बैनर का resources/images/en/square.png और अंग्रेज़ी वर्शन है resources/images/en/landscape.jpg में सेव की गई, पिछले उदाहरण से sdk/settings/en/settings.yaml ऐसा हो जाएगा:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: Developer Name
  displayName: My Display Name
  fullDescription: full description of the action

  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: http://path/to/privacy/policy
  sampleInvocations:
  - Talk to My Display Name
  shortDescription: short description of the action

  smallLogoImage: $resources.images.square
  voice: female_1
...

ऑडियो फ़ाइलें

ऑडियो फ़ाइलें resources/audio/ में सेव की जाती हैं और आपके पास उनका रेफ़रंस देने का विकल्प होता है $resources.audio.<name of the audio file without file extension> के साथ.

ये फ़ाइल एक्सटेंशन इस्तेमाल किए जा सकते हैं:

  • mp3
  • mpeg

उदाहरण के लिए, प्रॉम्प्ट से ऑडियो रिकॉर्डिंग का रेफ़रंस दिया जा सकता है:

candidates:
  - first_simple:
      variants:
        - speech: your speech response
    content:
      media:
        mediaType: audio
        mediaObjects:
          - name: media name
            description: media description
            url: $resources.audio.intro

स्ट्रिंग

स्ट्रिंग को resources/strings/ में .yaml फ़ाइलों के तौर पर सेव किया जाता है. हर फ़ाइल में यह शामिल है: स्ट्रिंग कुंजियों और उनसे जुड़ी वैल्यू का मैप, जो सिंगल स्ट्रिंग या लिस्ट हो सकते हैं . नीचे दी गई वैल्यू का रेफ़रंस देने के लिए, $resources.strings.<name of the image file without file extension>.<key> अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है या सूची से रैंडम वैल्यू पाने के लिए, और $resources.strings.<name of the image file without file extension>.<key>.<numerical index> डालें.

उदाहरण के लिए, स्ट्रिंग को स्थानीय भाषा के अनुसार बनाने के लिए रिसॉर्स स्ट्रिंग का इस्तेमाल करके, पिछले उदाहरण से sdk/settings/en/settings.yaml यह बन सकता है:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: $resources.strings.appinfo.developerName
  displayName: $resources.strings.appinfo.displayName
  fullDescription: $resources.strings.appinfo.fullDescription
  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl
  sampleInvocations:
  - $resources.strings.invocations.sample
  shortDescription: $resources.strings.appinfo.shortDescription
  smallLogoImage: $resources.images.square
  voice: female_1
...

सिम्युलेटर में प्रोजेक्ट की जांच करें

Actions कंसोल में एक सिम्युलेटर मौजूद है, जिससे आप अपनी कार्रवाइयों की झलक देख सकते हैं. कॉन्टेंट बनाने सिम्युलेटर से आप डीबग की जानकारी देख सकते हैं, डिवाइस की क्षमताएं सेट कर सकते हैं, और बहुत कुछ.

तीसरी इमेज. सिम्युलेटर के मुख्य हिस्से: (1) उपयोगकर्ता का इनपुट, (2) डिवाइस व्यू, (3) विकल्प और सेटिंग, और (4) बातचीत का लॉग.

किसी प्रोजेक्ट की जांच करने के लिए:

  1. अपनी कार्रवाई को "झलक" पर डिप्लॉय करने के लिए, gactions deploy preview चलाएं और चालू करें की जांच कर रहे हैं.
  2. सिम्युलेटर को ऐक्सेस करने के लिए, कमांड आउटपुट में यूआरएल खोलें.
$ gactions deploy preview
Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview