रोज़ के अपडेट (Dialogflow)

एक उपयोगकर्ता, जो अपने फ़ोन पर किसी कार्रवाई के रोज़ के अपडेट की सदस्यता ले रहा है

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

इन अपडेट के बारे में उपयोगकर्ता का अनुभव इस तरह है:

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

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

इस्तेमाल के उदाहरण

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

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

रोज़ाना अपडेट सेट अप करें

Dialogflow में जानें

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

  1. एजेंट का नाम डालें और सैंपल के लिए, नया Dialogflow एजेंट बनाएं.
  2. एजेंट इंपोर्ट हो जाने के बाद, एजेंट पर जाएं पर क्लिक करें.
  3. मुख्य नेविगेशन मेन्यू से, पूरा किया गया पर जाएं.
  4. इनलाइन एडिटर को चालू करें. इसके बाद, डिप्लॉय करें पर क्लिक करें. एडिटर में सैंपल कोड होता है.
  5. मुख्य नेविगेशन मेन्यू में, इंटिग्रेशन पर जाएं. इसके बाद, Google Assistant पर क्लिक करें.
  6. इसके बाद दिखने वाली मोडल विंडो में, बदलावों की ऑटो-झलक देखने की सुविधा को चालू करें. इसके बाद, ऐक्शन सिम्युलेटर खोलने के लिए, जांच करें पर क्लिक करें.
  7. नमूने की जांच करने के लिए सिम्युलेटर में, Talk to my test app डालें!
जारी रखें

अगर आपको अपनी सेट की गई कार्रवाई के किसी इंटेंट को रोज़ अपडेट करने के लिए कॉन्फ़िगर करना है, तो इन निर्देशों का पालन करें:

1. अपडेट करने का इंटेंट तैयार करना

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

Dialogflow में ट्रिगर करने वाला इंटेंट तय करने के लिए, यह तरीका अपनाएं:

  1. Dialogflow कंसोल में, इंटिग्रेशन पर क्लिक करें.
  2. Google Assistant सेक्शन में जाकर, इंटिग्रेशन सेटिंग पर क्लिक करें.
  3. डिस्कवरी > इंप्लिसिट शुरू करने की सुविधा में जाकर, इंटेंट जोड़ें पर क्लिक करें और अगर ट्रिगर करने वाला इंटेंट पहले से मौजूद नहीं है, तो उसे चुनें.
  4. अगर ऑटो-झलक सुविधा पहले से चालू नहीं है, तो बदलावों को चालू करें.
  5. बंद करें पर क्‍लिक करें.

Actions SDK टूल में, ऐक्शन पैकेज में अपडेट इंटेंट को ट्रिगर करने वाले इंटेंट के तौर पर तय करें.

2. अपडेट पाने की सुविधा चालू करें

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

  1. Actions कंसोल में, डेवलप करें > कार्रवाइयां पर जाएं.
  2. ट्रिगर करने का इंटेंट चुनें. अगर आपका इंटेंट सूची में नहीं दिखता है, तो पक्का करें कि इसे ट्रिगर करने वाले इंटेंट के तौर पर कॉन्फ़िगर किया गया हो. साथ ही, Dialogflow का Assistant इंटिग्रेशन, बदलावों की अपने-आप झलक दिखाने के लिए सेट हो.
  3. नीचे की ओर स्क्रोल करके, उपयोगकर्ता का जुड़ाव सेक्शन पर जाएं और क्या आपको उपयोगकर्ताओं को रोज़ के अपडेट देने हैं को चालू करें.
  4. कॉन्टेंट का टाइटल डालें.
  5. सेव करें पर क्लिक करें.

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

रजिस्ट्रेशन को पसंद के मुताबिक अपडेट करें (ज़रूरी नहीं)

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

हर दिन अपडेट होने वाली वैकल्पिक सुविधाओं को मैनेज करने वाली कार्रवाई के सभी उदाहरण देखने के लिए, Actions on Google के उपयोगकर्ता के जुड़ाव के सैंपल (Node.js और Java) देखें.

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

1. रजिस्ट्रेशन का प्रॉम्प्ट जोड़ें

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

नीचे दिए गए उदाहरण में, उपयोगकर्ता को हर दिन के ऐसे अपडेट की सदस्यता लेने के लिए कहा गया है जो सबसे कम अनुमानित तापमान ऑफ़र करते हैं:

Node.js
app.intent('Daily Lowest Temperature', (conv, params) => {
  const today = DAYS[new Date().getDay()];
  const lowestTemperature = lowestTemperatures[today];
  conv.ask(`The lowest temperature for today is ${lowestTemperature}`);
  conv.ask('I can send you daily updates with the lowest temperature' +
    ' of the day. Would you like that?');
  conv.ask(new Suggestions('Send daily updates'));
});
Java
@ForIntent("Daily Lowest Temperature")
public ActionResponse dailyLowestTemperature(ActionRequest request) {
  ResponseBuilder responseBuilder = getResponseBuilder(request);
  Integer lowestTemperature =
      LOWEST_TEMPERATURES.get(LocalDate.now().getDayOfWeek());
  responseBuilder
      .add("The lowest temperature for today is " +  lowestTemperature + " degrees Fahrenheit.")
      .add("I can send you daily updates with the lowest temperature of " +
          "the day. Would you like that?")
      .addSuggestions(new String[] {
          "Send daily updates"
      });
  return responseBuilder.build();
}
Dialogflow JSON

ध्यान दें कि नीचे दिया गया JSON, वेबहुक रिस्पॉन्स के बारे में बताता है.

{
  "payload": {
    "google": {
      "expectUserResponse": true,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "The lowest temperature for today is 75 degrees Fahrenheit"
            }
          },
          {
            "simpleResponse": {
              "textToSpeech": "I can send you daily updates with the lowest temperature of the day. Would you like that?"
            }
          }
        ],
        "suggestions": [
          {
            "title": "Send daily updates"
          }
        ]
      }
    }
  }
}
ऐक्शन SDK JSON

ध्यान दें कि नीचे दिया गया JSON, वेबहुक रिस्पॉन्स के बारे में बताता है.

{
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "possibleIntents": [
        {
          "intent": "actions.intent.TEXT"
        }
      ],
      "inputPrompt": {
        "richInitialPrompt": {
          "items": [
            {
              "simpleResponse": {
                "textToSpeech": "The lowest temperature for today is 75 degrees Fahrenheit"
              }
            },
            {
              "simpleResponse": {
                "textToSpeech": "I can send you daily updates with the lowest temperature of the day. Would you like that?"
              }
            }
          ],
          "suggestions": [
            {
              "title": "Send daily updates"
            }
          ]
        }
      }
    }
  ]
}

2. रजिस्ट्रेशन को अपडेट करना मैनेज करना

एक नया इंटेंट सेट अप करें, जो उपयोगकर्ता के रजिस्ट्रेशन प्रॉम्प्ट का पालन करने पर ट्रिगर होता है. इस नए इंटेंट को पूरा करने के लिए, यहां दिए गए पैरामीटर की मदद से, actions_intent_CONFIGURE_UPDATES बिल्ट-इन इंटेंट को ट्रिगर करें:

  • intent - कॉन्फ़िगर किए गए अपडेट इंटेंट पर सेट होता है.
  • frequency - "रोज़" पर सेट करें.

नीचे दिया गया कोड, "हर दिन के सबसे कम तापमान" के हिसाब से, हर दिन के अपडेट रजिस्टर करता है:

Dialogflow Node.js
app.intent('Subscribe to Daily Updates', (conv) => {
  conv.ask(new RegisterUpdate({
    intent: 'Daily Lowest Temperature',
    frequency: 'DAILY',
  }));
});
कार्रवाई SDK Node.js
conv.ask(new RegisterUpdate({
  intent: 'Daily Lowest Temperature',
  frequency: 'DAILY',
}));
Dialogflow Java
@ForIntent("Subscribe to Daily Updates")
public ActionResponse subscribeToDailyUpdates(ActionRequest request) {
  ResponseBuilder responseBuilder = getResponseBuilder(request);
  return responseBuilder.add(new RegisterUpdate()
      .setIntent("Daily Lowest Temperature")
      .setFrequency("DAILY"))
      .build();
}
कार्रवाई SDK टूल जावा
ResponseBuilder responseBuilder = getResponseBuilder(request);
return responseBuilder.add(new RegisterUpdate()
    .setIntent("Daily Lowest Temperature")
    .setFrequency("DAILY"))
    .build();
Dialogflow JSON
{
  "payload": {
    "google": {
      "expectUserResponse": true,
      "systemIntent": {
        "intent": "actions.intent.REGISTER_UPDATE",
        "data": {
          "@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValueSpec",
          "intent": "Daily Lowest Temperature",
          "triggerContext": {
            "timeContext": {
              "frequency": "DAILY"
            }
          }
        }
      }
    }
  }
}
ऐक्शन SDK JSON
{
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "possibleIntents": [
        {
          "intent": "actions.intent.REGISTER_UPDATE",
          "inputValueData": {
            "@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValueSpec",
            "intent": "Daily Lowest Temperature",
            "triggerContext": {
              "timeContext": {
                "frequency": "DAILY"
              }
            }
          }
        }
      ]
    }
  ]
}

3. नतीजे मैनेज करें

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

इस चरण के निर्देश इस आधार पर अलग-अलग होते हैं कि डेवलपमेंट के लिए Dialogflow का इस्तेमाल किया जा रहा है या Actions SDK टूल का.

Dialogflow

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

  1. Dialogflow कंसोल में, नया इंटेंट बनाएं.
  2. actions_intent_REGISTER_UPDATE इवेंट जोड़ें.
  3. इंटेंट के लिए, वेबहुक फ़ुलफ़िलमेंट चालू करें.
  4. सेव करें पर क्लिक करें.
इंटेंट के लिए अपने फ़ुलफ़िलमेंट में, नतीजे के लिए registered पैरामीटर की जांच करें और उसके हिसाब से बातचीत को पिवट करें.
Dialogflow Node.js
app.intent('Confirm Daily Updates Subscription', (conv, params, registered) => {
  if (registered && registered.status === 'OK') {
    conv.close(`Ok, I'll start giving you daily updates.`);
  } else {
    conv.close(`Ok, I won't give you daily updates.`);
  }
});
Dialogflow Java
@ForIntent("Confirm Daily Updates Subscription")
public ActionResponse confirmDailyUpdatesSubscription(ActionRequest request) {
  ResponseBuilder responseBuilder = getResponseBuilder(request);
  if (request.isUpdateRegistered()) {
    responseBuilder.add("Ok, I'll start giving you daily updates.");
  } else {
    responseBuilder.add("Ok, I won't give you daily updates.");
  }
  return responseBuilder.endConversation().build();
}
Dialogflow JSON
{
  "payload": {
    "google": {
      "expectUserResponse": false,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "Ok, I'll start giving you daily updates."
            }
          }
        ]
      }
    }
  }
}
ऐक्शन SDK टूल

फ़ुलफ़िलमेंट कोड में, actions.intent.REGISTER.UPDATE बिल्ट-इन इंटेंट के लिए हैंडलिंग जोड़ें. नतीजा देखने के लिए, registered पैरामीटर की जांच करें और ज़रूरत के हिसाब से बातचीत को पिवट करें.

ऐक्शन SDK Node.js
app.intent('actions.intent.REGISTER_UPDATE', (conv, params, registered) => {
  if (registered && registered.status === 'OK') {
    conv.close(`Ok, I'll start giving you daily updates.`);
  } else {
    conv.close(`Ok, I won't give you daily updates.`);
  }
});
कार्रवाई SDK टूल जावा
@ForIntent("actions.intent.REGISTER_UPDATE")
public ActionResponse confirmDailyUpdatesSubscription(ActionRequest request) {
  ResponseBuilder responseBuilder = getResponseBuilder(request);
  if (request.isUpdateRegistered()) {
    responseBuilder.add("Ok, I'll start giving you daily updates.");
  } else {
    responseBuilder.add("Ok, I won't give you daily updates.");
  }
  return responseBuilder.endConversation().build();
}
ऐक्शन SDK JSON
{
  "expectUserResponse": false,
  "finalResponse": {
    "richResponse": {
      "items": [
        {
          "simpleResponse": {
            "textToSpeech": "Ok, I'll start giving you daily updates."
          }
        }
      ]
    }
  }
}

अपडेट को अपने हिसाब से बनाएं (ज़रूरी नहीं)

अपने अपडेट इंटेंट को पसंद के मुताबिक बनाने के लिए, जब उपयोगकर्ता रोज़ के अपडेट रजिस्टर करें, तब कस्टम पैरामीटर जोड़ें. अपडेट करने का इंटेंट पूरा होने पर, उस उपयोगकर्ता के रोज़ के अपडेट को पसंद के मुताबिक बनाने के लिए इन पैरामीटर का रेफ़रंस दें.

इस सुविधा के निर्देश इस आधार पर अलग-अलग होते हैं कि आपने डेवलपमेंट के लिए Dialogflow का इस्तेमाल किया है या Actions SDK टूल का.

Dialogflow

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

  1. Dialogflow कंसोल में, एक नई इकाई बनाएं.
  2. कुछ ऐसी एंट्री और समानार्थी शब्द जोड़ें जो आपके पैरामीटर के लिए काम के हों.
  3. सेव करें पर क्लिक करें. इसके बाद, अपडेट इंटेंट खोलें.
  4. कार्रवाइयां और पैरामीटर सेक्शन में, actions.intent.CONFIGURE_UPDATES को इवेंट के तौर पर सेट करें. उसी सेक्शन में, नई इकाई के टाइप वाला पैरामीटर जोड़ें.
  5. "रजिस्ट्रेशन अपडेट करें" इंटेंट खोलें, जो CONFIGURE_UPDATES बिल्ट-इन इंटेंट को मैनेज करता है.
  6. कार्रवाइयां और पैरामीटर सेक्शन में, एक ज़रूरी पैरामीटर जोड़ें. साथ ही, उसके टाइप को पहले बनाई गई इकाई के लिए सेट करें.
  7. यहां दिए गए कॉन्टेंट के साथ arguments ऑब्जेक्ट को शामिल करने के लिए, अपने रजिस्ट्रेशन इंटेंट के फ़ुलफ़िलमेंट कोड को अपडेट करें:
    • name - Dialogflow में कॉन्फ़िगर किए गए आपके पैरामीटर का नाम.
    • textValue - आपके पैरामीटर की वैल्यू.

यह कोड, पैरामीटर की वैल्यू को पढ़ता है और इसका इस्तेमाल रजिस्ट्रेशन को अपडेट करने के अनुरोध में करता है:

Dialogflow Node.js
app.intent('setup_update', (conv) => {
  conv.ask(new RegisterUpdate({
    intent: 'update_of_the_day',
    arguments: [
      {
        name: 'category',
        textValue: 'Daily_lowest_temperature',
      },
    ],
    frequency: 'DAILY',
  }));
});
Dialogflow Java
@ForIntent("setup_update")
public ActionResponse setupUpdate2(ActionRequest request) {
  List<Argument> args =
      Arrays.asList(
          new Argument()
              .setName("category")
              .setTextValue(request.getParameter("category").toString()));
  return getResponseBuilder(request)
      .add(new RegisterUpdate().setIntent("intent_name").setArguments(args).setFrequency("DAILY"))
      .build();
}
Dialogflow JSON
{
  "payload": {
    "google": {
      "expectUserResponse": true,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "PLACEHOLDER"
            }
          }
        ]
      },
      "userStorage": "{\"data\":{}}",
      "systemIntent": {
        "intent": "actions.intent.REGISTER_UPDATE",
        "data": {
          "@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValueSpec",
          "intent": "update_of_the_day",
          "arguments": [
            {
              "name": "category",
              "textValue": "Daily_lowest_temperature"
            }
          ],
          "triggerContext": {
            "timeContext": {
              "frequency": "DAILY"
            }
          }
        }
      }
    }
  },
  "outputContexts": [
    {
      "name": "/contexts/_actions_on_google",
      "lifespanCount": 99,
      "parameters": {
        "data": "{}"
      }
    }
  ]
}
ऐक्शन SDK टूल

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

  1. उपयोगकर्ता से ऐसी जानकारी मांगें जिसका इस्तेमाल आपको मनमुताबिक बनाने के लिए करना है.
  2. आपके "अपडेट रजिस्ट्रेशन" इंटेंट के लिए फ़ुलफ़िलमेंट कोड में, जो CONFIGURE UPDATES को हैंडल करता है उसमें एक arguments ऑब्जेक्ट शामिल होता है, जिसमें यह कॉन्टेंट होता है:
    • name - आपके तर्क के लिए एक नाम.
    • textValue - उपयोगकर्ता से मिली जानकारी, जिसे तर्क के तौर पर पास किया जाना है.

यह कोड, रजिस्ट्रेशन को अपडेट करने के अनुरोध के साथ तर्क भेजता है:

ऐक्शन SDK Node.js
app.intent('actions.intent.TEXT', (conv) => {
  if (conv.input.raw === 'Send daily') {
    conv.ask(new RegisterUpdate({
      intent: 'update_of_the_day',
      arguments: [
        {
          name: 'category',
          textValue: 'Daily_lowest_temperature',
        },
      ],
      frequency: 'DAILY',
    }));
  }
});
कार्रवाई SDK टूल जावा
@ForIntent("actions.intent.CONFIGURE_UPDATES")
public ActionResponse configureUpdatesActionsSdk(ActionRequest request) {
  List<Argument> args =
      Arrays.asList(
          new Argument()
              .setName("category")
              .setTextValue(request.getParameter("category").toString()));
  return getResponseBuilder(request)
      .add(new RegisterUpdate().setIntent("intent_name").setArguments(args).setFrequency("DAILY"))
      .build();
}

@ForIntent("actions.intent.TEXT")
public ActionResponse text(ActionRequest request) {
  ResponseBuilder rb = getResponseBuilder(request);
  String input = request.getRawInput().getQuery();
  if (input.equals("DAILY_NOTIFICATION_SUGGESTION")) {
    rb.add("For which category do you want to receive daily updates?");
  } else {
    rb.add("Sorry, I didn't get that. Please try again later").endConversation();
  }
  return rb.build();
}
ऐक्शन SDK JSON
{
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "inputPrompt": {
        "richInitialPrompt": {
          "items": [
            {
              "simpleResponse": {
                "textToSpeech": "PLACEHOLDER"
              }
            }
          ]
        }
      },
      "possibleIntents": [
        {
          "intent": "actions.intent.REGISTER_UPDATE",
          "inputValueData": {
            "@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValueSpec",
            "intent": "update_of_the_day",
            "arguments": [
              {
                "name": "category",
                "textValue": "Daily_lowest_temperature"
              }
            ],
            "triggerContext": {
              "timeContext": {
                "frequency": "DAILY"
              }
            }
          }
        }
      ]
    }
  ],
  "conversationToken": "{\"data\":{}}",
  "userStorage": "{\"data\":{}}"
}

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

हर दिन के अपडेट टेस्ट करें

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