उपयोगकर्ता के इंटरैक्शन की जानकारी पाना और उनका जवाब देना

इस पेज पर बताया गया है कि आपका Google Chat ऐप्लिकेशन, उपयोगकर्ता के इंटरैक्शन को कैसे रिसीव और रिस्पॉन्स कर सकता है. इन्हें Google Chat ऐप्लिकेशन के इंटरैक्शन इवेंट भी कहा जाता है.

इस पेज पर, इन कामों को करने का तरीका बताया गया है:

  • इंटरैक्शन इवेंट पाने के लिए, अपने Chat ऐप्लिकेशन को कॉन्फ़िगर करें.
  • अपने इन्फ़्रास्ट्रक्चर पर इंटरैक्शन इवेंट प्रोसेस करें.
  • अगर ठीक लगे, तो इंटरैक्शन इवेंट का जवाब दें.

ज़रूरी शर्तें

Google Chat ऐप्लिकेशन, जिसमें इंटरैक्टिव सुविधाएं चालू हों. कोई इंटरैक्टिव Chat ऐप्लिकेशन बनाने के लिए, आपको जिस ऐप्लिकेशन आर्किटेक्चर का इस्तेमाल करना है उसके आधार पर इनमें से कोई एक क्विकस्टार्ट पूरा करें:

इंटरैक्शन इवेंट के टाइप

Google Chat ऐप्लिकेशन के साथ इंटरैक्शन का इवेंट, किसी Chat ऐप्लिकेशन को इस्तेमाल करने या उससे इंटरैक्ट करने के लिए उपयोगकर्ता की किसी भी कार्रवाई को दिखाता है. जैसे, किसी Chat ऐप्लिकेशन को @टैग करना या उसे स्पेस में जोड़ना.

जब उपयोगकर्ता किसी Chat ऐप्लिकेशन से इंटरैक्ट करते हैं, तो Google Chat, Chat ऐप्लिकेशन को इंटरैक्शन इवेंट भेजता है. इसे Chat API में Event टाइप के तौर पर दिखाया जाता है. Chat ऐप्लिकेशन, इंटरैक्शन को प्रोसेस करने के लिए इवेंट का इस्तेमाल कर सकता है. साथ ही, वह मैसेज के ज़रिए जवाब दे सकता है.

Google Chat हर तरह के उपयोगकर्ता इंटरैक्शन के लिए एक अलग तरह का इंटरैक्शन इवेंट भेजता है. इससे आपके Chat ऐप्लिकेशन को हर तरह के इवेंट को मैनेज करने में मदद मिलती है. इंटरैक्शन इवेंट के टाइप को eventType ऑब्जेक्ट का इस्तेमाल करके दिखाया जाता है.

उदाहरण के लिए, Google Chat, इवेंट टाइप ADDED_TO_SPACE का इस्तेमाल ऐसे किसी भी इंटरैक्शन के लिए करता है जिसमें कोई उपयोगकर्ता, Chat ऐप्लिकेशन को किसी स्पेस में जोड़ता है. इससे Chat ऐप्लिकेशन, स्पेस में वेलकम मैसेज भेजकर तुरंत जवाब दे सकता है.

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

नीचे दी गई टेबल में, उपयोगकर्ता के सामान्य इंटरैक्शन, चैट ऐप्लिकेशन को मिलने वाले इंटरैक्शन इवेंट का टाइप, और चैट ऐप्लिकेशन के आम तौर पर जवाब देने का तरीका बताया गया है:

उपयोगकर्ता इंटरैक्शन eventType Chat ऐप्लिकेशन से मिलने वाला सामान्य जवाब
उपयोगकर्ता, Chat ऐप्लिकेशन को @mention करके या स्लैश कमांड का इस्तेमाल करके खोलता है. MESSAGE Chat ऐप्लिकेशन, मैसेज के कॉन्टेंट के आधार पर जवाब देता है. उदाहरण के लिए, Chat ऐप्लिकेशन /about कमांड का जवाब, ऐसे मैसेज के साथ देता है जिसमें उन टास्क के बारे में बताया जाता है जिन्हें Chat ऐप्लिकेशन पूरा कर सकता है.
कोई उपयोगकर्ता, किसी स्पेस में Chat ऐप्लिकेशन जोड़ता है. ADDED_TO_SPACE Chat ऐप्लिकेशन एक शामिल होने के बारे में मैसेज भेजता है. इसमें बताया जाता है कि यह क्या करता है और स्पेस में मौजूद उपयोगकर्ता इसके साथ कैसे इंटरैक्ट कर सकते हैं.
कोई उपयोगकर्ता, किसी स्पेस से Chat ऐप्लिकेशन को हटाता है. REMOVED_FROM_SPACE Chat ऐप्लिकेशन, स्पेस के लिए कॉन्फ़िगर की गई सभी सूचनाएं हटा देता है. जैसे, वेबहुक मिटाना. साथ ही, डिवाइस का स्टोरेज भी खाली कर देता है.
उपयोगकर्ता, Chat ऐप्लिकेशन के मैसेज, डायलॉग या होम पेज पर मौजूद कार्ड के बटन पर क्लिक करता है. CARD_CLICKED Chat ऐप्लिकेशन, उपयोगकर्ता के सबमिट किए गए डेटा को प्रोसेस करके सेव करता है या कोई दूसरा कार्ड दिखाता है.
उपयोगकर्ता, 1:1 मैसेज में होम टैब पर क्लिक करके, Chat ऐप्लिकेशन का होम पेज खोलता है. APP_HOME Chat ऐप्लिकेशन, होम पेज से स्टैटिक या इंटरैक्टिव कार्ड दिखाता है.
कोई उपयोगकर्ता, Chat ऐप्लिकेशन के होम पेज से फ़ॉर्म सबमिट करता है. SUBMIT_FORM Chat ऐप्लिकेशन, उपयोगकर्ता के सबमिट किए गए डेटा को प्रोसेस और सेव करता है या कोई दूसरा कार्ड दिखाता है.

साथ काम करने वाले सभी इंटरैक्शन इवेंट देखने के लिए, EventType रेफ़रंस दस्तावेज़ देखें.

डायलॉग से इंटरैक्शन इवेंट

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

  • isDialogEvent को true पर सेट किया गया है.
  • DialogEventType से पता चलता है कि इंटरैक्शन किसी डायलॉग को खोलने के लिए ट्रिगर करता है, किसी डायलॉग की जानकारी सबमिट करता है या किसी डायलॉग को बंद करता है.

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

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

ज़्यादा जानकारी के लिए, इंटरैक्टिव डायलॉग खोलना देखें.

Chat ऐप्लिकेशन के साथ हुए इंटरैक्शन के इवेंट पाना

इस सेक्शन में बताया गया है कि अपने Chat ऐप्लिकेशन के लिए इंटरैक्शन इवेंट कैसे पाएं और उन्हें कैसे प्रोसेस करें.

इंटरैक्शन इवेंट पाने के लिए, अपने Chat ऐप्लिकेशन को कॉन्फ़िगर करना

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

आपको जो भी इंटरैक्टिव सुविधाएं बनानी हैं उनके लिए, आपको Chat API में अपना कॉन्फ़िगरेशन अपडेट करना होगा, ताकि Google Chat आपके Chat ऐप्लिकेशन पर मिलते-जुलते इंटरैक्शन इवेंट भेज सके:

  1. Google Cloud Console में, Chat API पेज पर जाएं और कॉन्फ़िगरेशन पेज पर क्लिक करें:

    Chat API के कॉन्फ़िगरेशन पेज पर जाएं

  2. इंटरैक्टिव सुविधाएं में जाकर, सेटिंग की समीक्षा करें और उन सुविधाओं को अपडेट करें जिन्हें आपको बनाना है:

    फ़ील्ड ब्यौरा
    फ़ंक्शन ज़रूरी है. फ़ील्ड का एक सेट, जो यह तय करता है कि Chat ऐप्लिकेशन, उपयोगकर्ताओं के साथ कैसे इंटरैक्ट कर सकता है:
    • 1:1 मैसेज पाना: उपयोगकर्ता, Google Chat में Chat ऐप्लिकेशन को सीधे ढूंढ सकते हैं और मैसेज भेज सकते हैं.
    • स्पेस और ग्रुप बातचीत में शामिल होना: उपयोगकर्ता, Chat ऐप्लिकेशन को स्पेस और ग्रुप बातचीत में जोड़ सकते हैं.
    कनेक्शन की सेटिंग ज़रूरी है. Chat ऐप्लिकेशन का एंडपॉइंट, जो इनमें से एक है:
    • एचटीटीपी एंडपॉइंट यूआरएल: यह एक एचटीटीपीएस एंडपॉइंट होता है, जो Chat ऐप्लिकेशन को लागू करने की प्रोसेस को होस्ट करता है.
    • Apps Script: Apps Script प्रोजेक्ट के लिए डिप्लॉयमेंट आईडी, जो Chat ऐप्लिकेशन को लागू करता है.
    • Cloud Pub/Sub टॉपिक का नाम: ऐसा Pub/Sub टॉपिक जिसकी सदस्यता Chat ऐप्लिकेशन, एंडपॉइंट के तौर पर लेता है.
    • Dialogflow: यह नीति, Chat ऐप्लिकेशन को Dialogflow इंटिग्रेशन के साथ रजिस्टर करती है. ज़्यादा जानकारी के लिए, ऐसा Dialogflow Google Chat ऐप्लिकेशन बनाएं जो सामान्य भाषा को समझता हो लेख पढ़ें.
    स्लैश कमांड ज़रूरी नहीं. ऐसे निर्देश जो Google Chat में उपयोगकर्ताओं को दिखाए जा सकते हैं. इससे उपयोगकर्ता, Google Chat में आपके Chat ऐप्लिकेशन में की जाने वाली मुख्य कार्रवाइयां देख सकते हैं. साथ ही, वे कोई खास कार्रवाई चुन सकते हैं जिसमें वे इंटरैक्ट करना चाहते हैं. ज़्यादा जानकारी के लिए, चैट ऐप्लिकेशन के तौर पर स्लैश कमांड का जवाब देना लेख पढ़ें.
    लिंक की झलक ज़रूरी नहीं. यूआरएल पैटर्न, जिन्हें Chat ऐप्लिकेशन पहचानता है और उपयोगकर्ताओं के लिंक भेजने पर, उनके लिए ज़्यादा कॉन्टेंट उपलब्ध कराता है. ज़्यादा जानकारी के लिए, लिंक की झलक देखना लेख पढ़ें.
    किसको दिखे ज़रूरी नहीं. ज़्यादा से ज़्यादा पांच लोग या एक या एक से ज़्यादा ऐसे Google ग्रुप जो आपके Chat ऐप्लिकेशन को देख और इंस्टॉल कर सकते हैं. इस फ़ील्ड का इस्तेमाल अपने Chat ऐप्लिकेशन की जांच करने या अपनी टीम के साथ Chat ऐप्लिकेशन को शेयर करने के लिए करें. ज़्यादा जानकारी के लिए, इंटरैक्टिव सुविधाओं की जांच करना लेख पढ़ें.
  3. सेव करें पर क्लिक करें. जब Chat ऐप्लिकेशन का कॉन्फ़िगरेशन सेव किया जाता है, तो आपका Chat ऐप्लिकेशन, आपके Google Workspace संगठन में तय किए गए उपयोगकर्ताओं के लिए उपलब्ध होता है.

आपका Chat ऐप्लिकेशन, अब Google Chat से इंटरैक्शन इवेंट पाने के लिए कॉन्फ़िगर हो गया है.

अपनी सेवा के लिए एचटीटीपी कॉल को फिर से शुरू करने की सुविधा को मैनेज करना

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

इंटरैक्शन इवेंट को प्रोसेस करना या उनका जवाब देना

इस सेक्शन में बताया गया है कि Google Chat ऐप्लिकेशन, इंटरैक्शन इवेंट को कैसे प्रोसेस और जवाब दे सकते हैं.

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

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

हर इंटरैक्शन इवेंट के लिए, Chat ऐप्लिकेशन को अनुरोध का मुख्य हिस्सा मिलता है. यह JSON पेलोड होता है, जो इवेंट की जानकारी देता है. जवाब देने के लिए, इस जानकारी का इस्तेमाल किया जा सकता है. इवेंट पेलोड के उदाहरणों के लिए, Chat ऐप्लिकेशन के इंटरैक्शन वाले इवेंट के टाइप देखें.

यहां दिए गए डायग्राम में दिखाया गया है कि Google Chat ऐप्लिकेशन, आम तौर पर अलग-अलग तरह के इंटरैक्शन इवेंट को कैसे प्रोसेस करता है या उनका जवाब कैसे देता है:

इस बारे में जानकारी कि Google Chat ऐप्लिकेशन, इंटरैक्शन वाले इवेंट को कैसे प्रोसेस करते हैं.

रीयल टाइम में जवाब दिखाएँ

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

रीयल टाइम में जवाब देने के लिए, Chat ऐप्लिकेशन को Message ऑब्जेक्ट दिखाना होगा. स्पेस में मैसेज का जवाब देने के लिए, Message ऑब्जेक्ट में text, cardsV2, और accessoryWidgets ऑब्जेक्ट हो सकते हैं. अन्य तरह के जवाबों के साथ इस्तेमाल करने के लिए, ये गाइड देखें:

जवाब के तौर पर मैसेज भेजें

इस उदाहरण में, आपके Chat ऐप्लिकेशन को किसी स्पेस में जोड़ने पर, वह एक टेक्स्ट मैसेज बनाता है और उसे भेजता है. उपयोगकर्ताओं को शामिल करने के सबसे सही तरीकों के बारे में जानने के लिए, उपयोगकर्ताओं को अपने Chat ऐप्लिकेशन के बारे में बताएं लेख पढ़ें.

जब कोई उपयोगकर्ता आपके Chat ऐप्लिकेशन को स्पेस में जोड़ता है, तो आपको मैसेज भेजने के लिए Chat ऐप्लिकेशन, ADDED_TO_SPACE इंटरैक्शन इवेंट का जवाब देता है. टेक्स्ट मैसेज की मदद से, ADDED_TO_SPACE इंटरैक्शन इवेंट का जवाब देने के लिए, इस कोड का इस्तेमाल करें:

Node.js

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} req The event object from Chat API.
 * @param {Object} res The response object from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
exports.onMessage = function onMessage(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    res.send(
      'Hello! This function is meant to be used in a Google Chat space.');
  }

  // Send an onboarding message when added to a Chat space
  if (req.body.type === 'ADDED_TO_SPACE') {
    res.json({
      'text': 'Hi, Cymbal at your service. I help you manage your calendar
      from Google Chat. Take a look at your schedule today by typing
      `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
      learn what else I can do, type `/help`.'
    });
  }
};

Apps Script

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
function onAddToSpace(event) {

  return {
    'text': 'Hi, Cymbal at your service. I help you manage your calendar
    from Google Chat. Take a look at your schedule today by typing
    `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
    what else I can do, type `/help`.'
  }
}

कोड सैंपल, नीचे दिया गया टेक्स्ट मैसेज दिखाता है:

शामिल होने के मैसेज का उदाहरण.

एसिंक्रोनस रूप से जवाब दें

कभी-कभी चैट ऐप्लिकेशन को 30 सेकंड के बाद इंटरैक्शन इवेंट का जवाब देना पड़ता है या उस स्पेस के बाहर टास्क पूरे करने पड़ते हैं जहां इंटरैक्शन इवेंट जनरेट हुआ था. उदाहरण के लिए, हो सकता है कि किसी Chat ऐप्लिकेशन को लंबे समय से चल रहे टास्क को पूरा करने के बाद, उपयोगकर्ता को जवाब देना पड़े. इस मामले में, चैट ऐप्लिकेशन Google Chat API को कॉल करके, एसिंक्रोनस तरीके से जवाब दे सकते हैं.

Chat API का इस्तेमाल करके मैसेज बनाने के लिए, मैसेज बनाना लेख पढ़ें. Chat API के अन्य तरीकों का इस्तेमाल करने के बारे में गाइड पाने के लिए, Chat API की खास जानकारी देखें.