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

इस पेज पर बताया गया है कि आपका 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 इंटरैक्शन पूरा करने के लिए, Chat ऐप्लिकेशन किसी दूसरे डायलॉग पर नेविगेट करता है या डायलॉग बॉक्स को बंद कर देता है.
कोई उपयोगकर्ता जानकारी सबमिट करने से पहले, डायलॉग बॉक्स से बाहर निकलता है या उसे बंद कर देता है. 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 से इंटरैक्शन इवेंट पाने के लिए कॉन्फ़िगर हो गया है.

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

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

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

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

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

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

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

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

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

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

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

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

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

इस उदाहरण में, आपके Chat ऐप्लिकेशन को किसी स्पेस में जोड़ने पर, वह एक टेक्स्ट मैसेज बनाता है और उसे भेजता है. उपयोगकर्ताओं को Google 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 की खास जानकारी देखें.