इस पेज पर बताया गया है कि आपका Google Chat ऐप्लिकेशन, उपयोगकर्ता के इंटरैक्शन को कैसे रिसीव और रिस्पॉन्स कर सकता है. इन्हें Google Chat ऐप्लिकेशन के इंटरैक्शन इवेंट भी कहा जाता है.
इस पेज पर, इन कामों को करने का तरीका बताया गया है:
- इंटरैक्शन से जुड़े इवेंट पाने के लिए, अपने Chat ऐप्लिकेशन को कॉन्फ़िगर करें.
- अपने इंफ़्रास्ट्रक्चर पर इंटरैक्शन इवेंट को प्रोसेस करें.
- अगर ज़रूरी हो, तो इंटरैक्शन इवेंट का जवाब दें.
Google Workspace के ऐड-ऑन के तौर पर, इंटरैक्टिव Chat ऐप्लिकेशन बनाना
Chat का इस्तेमाल करने वाले लोगों के साथ इंटरैक्ट करने वाला Chat ऐप्लिकेशन बनाने के लिए, Google Workspace का ऐसा ऐड-ऑन बनाया जा सकता है जो Chat के साथ काम करता हो. Chat ऐप्लिकेशन, Chat API से इंटरैक्शन इवेंट पाने के बजाय, ऐड-ऑन इवेंट ऑब्जेक्ट पाता है और उनका जवाब देता है. ज़्यादा जानने के लिए, Google Workspace ऐड-ऑन के दस्तावेज़ में Google Chat का इस्तेमाल करना लेख पढ़ें.
ज़रूरी शर्तें
Google Chat ऐप्लिकेशन, जिसमें इंटरैक्टिव सुविधाएं चालू हों. इंटरैक्टिव Chat ऐप्लिकेशन बनाने के लिए, यहां दिए गए क्विकस्टार्ट में से किसी एक को पूरा करें. यह ऐप्लिकेशन के आर्किटेक्चर के हिसाब से किया जाना चाहिए:
- Google Cloud Functions की मदद से एचटीटीपी सेवा
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
इंटरैक्शन इवेंट के टाइप
Google Chat ऐप्लिकेशन के साथ इंटरैक्शन का इवेंट, किसी Chat ऐप्लिकेशन को इस्तेमाल करने या उससे इंटरैक्ट करने के लिए उपयोगकर्ता की किसी भी कार्रवाई को दिखाता है. जैसे, किसी Chat ऐप्लिकेशन को @टैग करना या उसे स्पेस में जोड़ना.
जब उपयोगकर्ता किसी Chat ऐप्लिकेशन से इंटरैक्ट करते हैं, तो Google Chat, Chat ऐप्लिकेशन को इंटरैक्शन इवेंट भेजता है. इसे Chat API में Event
टाइप के तौर पर दिखाया जाता है. Chat ऐप्लिकेशन, इंटरैक्शन को प्रोसेस करने के लिए इवेंट का इस्तेमाल कर सकता है. साथ ही, मैसेज के ज़रिए जवाब दे सकता है.
उपयोगकर्ता के हर तरह के इंटरैक्शन के लिए, Google Chat एक अलग तरह का इंटरैक्शन इवेंट भेजता है. इससे आपके Chat ऐप्लिकेशन को हर तरह के इवेंट को मैनेज करने में मदद मिलती है. इंटरैक्शन इवेंट के टाइप को eventType
ऑब्जेक्ट का इस्तेमाल करके दिखाया जाता है.
उदाहरण के लिए, जब कोई उपयोगकर्ता किसी स्पेस में Chat ऐप्लिकेशन जोड़ता है, तो Google Chat, इवेंट टाइप ADDED_TO_SPACE
का इस्तेमाल करता है. इससे Chat ऐप्लिकेशन, स्पेस में वेलकम मैसेज भेजकर तुरंत जवाब दे सकता है.
नीचे दी गई टेबल में, उपयोगकर्ता के सामान्य इंटरैक्शन, चैट ऐप्लिकेशन को मिलने वाले इंटरैक्शन इवेंट का टाइप, और चैट ऐप्लिकेशन के आम तौर पर जवाब देने का तरीका बताया गया है:
उपयोगकर्ता इंटरैक्शन | eventType |
चैट ऐप्लिकेशन से मिलने वाला सामान्य जवाब |
---|---|---|
उपयोगकर्ता, 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 ऐप्लिकेशन पर मिलते-जुलते इंटरैक्शन इवेंट भेज सके:
Google Cloud Console में, Chat API पेज पर जाएं और कॉन्फ़िगरेशन पेज पर क्लिक करें:
इंटरैक्टिव सुविधाएं में जाकर, सेटिंग की समीक्षा करें और उन सुविधाओं के आधार पर अपडेट करें जिन्हें आपको बनाना है:
फ़ील्ड ब्यौरा फ़ंक्शन ज़रूरी है. फ़ील्ड का एक सेट, जो यह तय करता है कि Chat ऐप्लिकेशन, उपयोगकर्ताओं के साथ कैसे इंटरैक्ट कर सकता है: - 1:1 मैसेज पाना: उपयोगकर्ता, Chat ऐप्लिकेशन को सीधे Google Chat में ढूंढ सकते हैं और उस पर मैसेज भेज सकते हैं.
- स्पेस और ग्रुप बातचीत में शामिल होना: उपयोगकर्ता, Chat ऐप्लिकेशन को स्पेस और ग्रुप बातचीत में जोड़ सकते हैं.
कनेक्शन की सेटिंग ज़रूरी है. Chat ऐप्लिकेशन का एंडपॉइंट, जो इनमें से कोई एक है: - एचटीटीपी एंडपॉइंट यूआरएल: एचटीटीपीएस एंडपॉइंट, जो Chat ऐप्लिकेशन को होस्ट करता है.
- Apps Script: Chat ऐप्लिकेशन को लागू करने वाले Apps Script प्रोजेक्ट के लिए डिप्लॉयमेंट आईडी.
- Cloud Pub/Sub टॉपिक का नाम: ऐसा Pub/Sub टॉपिक जिसकी सदस्यता Chat ऐप्लिकेशन, एंडपॉइंट के तौर पर लेता है.
- Dialogflow: Chat ऐप्लिकेशन को Dialogflow इंटिग्रेशन के साथ रजिस्टर करता है. ज़्यादा जानकारी के लिए, ऐसा Dialogflow Google Chat ऐप्लिकेशन बनाएं जो सामान्य भाषा को समझता हो लेख पढ़ें.
स्लैश कमांड ज़रूरी नहीं. ऐसे निर्देश जो Google Chat में उपयोगकर्ताओं को दिखाए जा सकते हैं. इसकी मदद से, उपयोगकर्ता Google Chat में आपके Chat ऐप्लिकेशन की मुख्य कार्रवाइयां देख सकते हैं. साथ ही, वे कोई ऐसी खास कार्रवाई चुन सकते हैं जिससे उन्हें इंटरैक्ट करना है. ज़्यादा जानकारी के लिए, Chat ऐप्लिकेशन के तौर पर स्लैश निर्देशों का जवाब देना लेख पढ़ें. लिंक की झलक ज़रूरी नहीं. यूआरएल पैटर्न, जिन्हें Chat ऐप्लिकेशन पहचानता है और उपयोगकर्ताओं के लिंक भेजने पर, उनके लिए ज़्यादा कॉन्टेंट उपलब्ध कराता है. ज़्यादा जानकारी के लिए, लिंक की झलक देखना लेख पढ़ें. किसको दिखे ज़रूरी नहीं. ज़्यादा से ज़्यादा पांच लोग या एक या उससे ज़्यादा Google ग्रुप, जो आपके Chat ऐप्लिकेशन को देख और इंस्टॉल कर सकते हैं. अपने Chat ऐप्लिकेशन की जांच करने या अपनी टीम के साथ Chat ऐप्लिकेशन शेयर करने के लिए, इस फ़ील्ड का इस्तेमाल करें. ज़्यादा जानकारी के लिए, इंटरैक्टिव सुविधाओं की जांच करना लेख पढ़ें. सेव करें पर क्लिक करें. Chat ऐप्लिकेशन का कॉन्फ़िगरेशन सेव करने पर, आपका Chat ऐप्लिकेशन आपके Google Workspace संगठन के उन उपयोगकर्ताओं के लिए उपलब्ध हो जाता है जिन्हें आपने चुना है.
आपका Chat ऐप्लिकेशन अब Google Chat से इंटरैक्शन इवेंट पाने के लिए कॉन्फ़िगर हो गया है.
अपनी सेवा के लिए एचटीटीपी कॉल को फिर से शुरू करना
अगर आपकी सेवा के लिए एचटीटीपीएस अनुरोध पूरा नहीं हो पाता है (जैसे, टाइम आउट, नेटवर्क के कुछ समय के लिए काम न करने या एचटीटीपीएस स्टेटस कोड 2xx के अलावा कोई दूसरा कोड), तो Google Chat कुछ मिनटों में डिलीवरी की कोशिश फिर से कर सकता है. हालांकि, इसकी कोई गारंटी नहीं है. इस वजह से, कुछ मामलों में चैट ऐप्लिकेशन को एक ही मैसेज कई बार मिल सकता है. अगर अनुरोध पूरा हो जाता है, लेकिन अमान्य मैसेज पेलोड दिखाता है, तो Google Chat अनुरोध को दोबारा नहीं भेजता.
इंटरैक्शन इवेंट को प्रोसेस करना या उनका जवाब देना
इस सेक्शन में बताया गया है कि Google Chat ऐप्लिकेशन, इंटरैक्शन इवेंट को कैसे प्रोसेस और जवाब देते हैं.
जब आपके Chat ऐप्लिकेशन को Google Chat से इंटरैक्शन इवेंट मिलता है, तो वह कई तरीकों से जवाब दे सकता है. ज़्यादातर मामलों में, इंटरैक्टिव चैट ऐप्लिकेशन, उपयोगकर्ता को मैसेज के ज़रिए जवाब देते हैं. Google Chat ऐप्लिकेशन, डेटा सोर्स से कुछ जानकारी भी खोज सकता है. साथ ही, इंटरैक्शन इवेंट की जानकारी या कोई भी अन्य जानकारी रिकॉर्ड कर सकता है. प्रोसेस करने का यह तरीका, Google Chat ऐप्लिकेशन की खास बात है.
एक साथ जवाब देने के लिए, Chat ऐप्लिकेशन को 30 सेकंड के अंदर जवाब देना होगा. साथ ही, जवाब उसी स्पेस में पोस्ट किया जाना चाहिए जहां इंटरैक्शन हुआ था. ऐसा न करने पर, Chat ऐप्लिकेशन, डिवाइस के सिंक होने के बाद ही जवाब दे सकता है.
हर इंटरैक्शन इवेंट के लिए, चैट ऐप्लिकेशन को एक रिक्वेस्ट बॉडी मिलता है. यह इवेंट को दिखाने वाला JSON पेलोड होता है. जवाब देने के लिए, इस जानकारी का इस्तेमाल किया जा सकता है. इवेंट पेलोड के उदाहरणों के लिए, 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 की खास जानकारी देखें.
मिलते-जुलते विषय
- मैसेज भेजें
- इंटरैक्टिव डायलॉग बॉक्स खोलना
- लिंक की झलक देखना
- कार्ड पर उपयोगकर्ताओं के डाले गए फ़ॉर्म डेटा को पढ़ना
- स्लैश कमांड का जवाब देना
- Chat ऐप्लिकेशन के लिए होम पेज बनाना
- Chat से मिले अनुरोधों की पुष्टि करना
- Google Chat ऐप्लिकेशन के लिए इंटरैक्टिव सुविधाओं की जांच करना