Google Chat ऐप्लिकेशन के लिए, ऐप्लिकेशन के होम कार्ड से मैसेज भेजना

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

ऐप्लिकेशन का होम कार्ड, जिसमें दो मैसेज हैं.

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


Chat ऐप्लिकेशन के लिए JSON कार्ड मैसेज डिज़ाइन करने और उनकी झलक देखने के लिए, Card Builder का इस्तेमाल करें:

कार्ड बिल्डर खोलें

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

Python

Apps Script

Google Cloud कंसोल में कॉन्फ़िगर करें

Python

  1. Google Cloud Console में, मेन्यू > ज़्यादा प्रॉडक्ट > Google Workspace > प्रॉडक्ट लाइब्रेरी > Google Chat API पर जाएं.

    Google Chat API पर जाएं

  2. मैनेज करें पर क्लिक करें. इसके बाद, कॉन्फ़िगरेशन टैब पर क्लिक करें.

  3. सहायता ऐप्लिकेशन होम चालू करें.

  4. सहायता ऐप्लिकेशन होम चेकबॉक्स चुनें.

  5. ऐप्लिकेशन के होम यूआरएल फ़ील्ड में, कोई यूआरएल जोड़ें. आम तौर पर, यह वैल्यू वही यूआरएल होती है जो ऐप्लिकेशन यूआरएल होता है. इस यूआरएल को APP_HOME इवेंट के लिए कॉल किया जाता है.

  6. सेव करें पर क्लिक करें.

Apps Script

  1. Google Cloud Console में, मेन्यू > ज़्यादा प्रॉडक्ट > Google Workspace > प्रॉडक्ट लाइब्रेरी > Google Chat API पर जाएं.

    Google Chat API पर जाएं

  2. मैनेज करें पर क्लिक करें. इसके बाद, कॉन्फ़िगरेशन टैब पर क्लिक करें.

  3. सहायता ऐप्लिकेशन होम चेकबॉक्स चुनें.

  4. सेव करें पर क्लिक करें.

Chat ऐप्लिकेशन को कॉन्फ़िगर करें

ऐप्लिकेशन होम के लिए नए कार्ड का मैसेज भेजने के लिए, Chat ऐप्लिकेशन को कॉन्फ़िगर करें.

Python

जब कोई उपयोगकर्ता किसी Chat ऐप्लिकेशन से डायरेक्ट मैसेज खोलता है, तो आपके Chat ऐप्लिकेशन पर APP_HOME इवेंट भेजा जाता है. जब किसी Chat ऐप्लिकेशन को यह इवेंट मिलता है, तो RenderActions का JSON इंस्टेंस pushCard नेविगेशन के साथ दिखता है.

@app.route('/', methods=['POST'])
def on_event():
  event = request.get_json()
  chat = event.get('chat')
  if chat is not None:
    return handle_chat_event(event)

def handle_chat_event(event):
  if event['chat'].get('type') == 'APP_HOME':
    return get_app_home_card()

def get_app_home_card():
  return {
    "action": {
      "navigations": [
        {
          "pushCard": {
            "sections": [
              {
                "widgets": [
                  {
                    "buttonList": {
                      "buttons": [
                        {
                          "text": "Open documentation",
                          "onClick": {
                            "openLink": {
                              "url": "https://developers.google.com/chat"
                            }
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        }
      ]
    }
  }

Apps Script

इस उदाहरण में, कार्ड JSON दिखाकर कार्ड का मैसेज भेजा जाता है. Apps Script कार्ड सेवा का भी इस्तेमाल किया जा सकता है.

pushCard नेविगेशन के साथ RenderActions का JSON इंस्टेंस दिखाने के लिए, onAppHome फ़ंक्शन लागू करें:

// "onAppHome" is the pre-defined name of the callback that the Chat servers
// execute.
function onAppHome() {
  return {
    action: {
      navigations: [
        {
          pushCard: getCard()
        }
      ]
    }
  };
}

function getCard() {
  return {
    sections: [
      {
        widgets: [
          {
            buttonList: {
              buttons: [
                {
                  text: "Open documentation",
                  onClick: {
                    openLink: {
                      url: "https://developers.google.com/chat"
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    ]
  };
}

ऐप्लिकेशन के होम कार्ड मैसेज को अपडेट करें

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

Python

एचटीटीपी ऐप्लिकेशन के लिए, ऐप्लिकेशन के होम कार्ड मैसेज को अपडेट करना उपयोगकर्ता की डाली गई जानकारी को प्रोसेस करने के जैसा है, लेकिन आपको RenderActions लौटाना होगा. invokedFunction, Card विजेट से जुड़े शुरू किए गए फ़ंक्शन का नाम दिखाता है. ज़्यादा जानकारी के लिए, CommonEventObject देखें. इस उदाहरण में, submitForm से पता चलता है कि उपयोगकर्ता ने फ़ॉर्म का डेटा सबमिट किया है:

@app.route('/', methods=['POST'])
def on_event():
  event = request.get_json()
  chat = event.get('chat')
  if chat is not None:
    return handle_chat_event(event)

def handle_chat_event(event):
  if event['chat'].get('type') == 'SUBMIT_FORM':
    event_object = event.get('commonEventObject')
    if event_object is not None:
      // Forms
      if 'submitForm' == event_object.get('invokedFunction'):
        return {
          'render_actions': {
            'action': {
              'navigations': [{
                'updateCard': get_update_card()
              }]
            }
          }
        }

def get_update_card():
  return {
      "action": {
          "navigations": [{
              "pushCard": {
                  "sections": [{
                      "widgets": [{
                          "buttonList": {
                              "buttons": [{
                                  "text": "Open documentation",
                                  "onClick": {
                                      "openLink": {
                                          "url": "https://developers.google.com/chat"
                                      }
                                  },
                              }]
                          }
                      }]
                  }]
              }
          }]
      }
  }

Apps Script

इस उदाहरण में, कार्ड JSON दिखाकर कार्ड का मैसेज भेजा जाता है. Apps Script कार्ड सेवा का भी इस्तेमाल किया जा सकता है.

// Called from elsewhere (i.e. on button press).
function updateAppHomeCard(event) {
  return {
    render_actions: {
      action: {
        navigations: [
          {
            updateCard: getCard()
          }
        ]
      }
    }
  }
}

function getCard() {
  return {
    sections: [
      {
        widgets: [
          {
            buttonList: {
              buttons: [
                {
                  text: "Open documentation",
                  onClick: {
                    openLink: {
                      url: "https://developers.google.com/chat"
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    ]
  };
}

सीमाएं

आम तौर पर, चैट ऐप्लिकेशन के लिए navigation उपलब्ध नहीं होता. हालांकि, कई कार्ड को लौटाया नहीं जा सकता. चैट ऐप्लिकेशन के लिए सिर्फ़ pushCard और updateCard (अपडेट के लिए) उपलब्ध हैं.