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

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

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


कार्ड बिल्डर से कार्ड डिज़ाइन करें और उनकी झलक देखें.

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

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

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 इवेंट भेज दिया जाता है. जब किसी ऐप्लिकेशन को यह इवेंट मिलता है, तो push_card नेविगेशन के साथ, RenderActions का JSON इंस्टेंस दिखता है.

नीचे दिया गया उदाहरण एक इवेंट दिखाता है:

@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 "Card v2" representing App Home.

यहां दिए गए उदाहरण में एक कार्ड दिखाया गया है, जिसे दस्तावेज़ में एक बटन लिंक शामिल करने के लिए कॉन्फ़िगर किया गया है:

{
  action: {
    navigations: [
      {
        push_card: {
          sections: [
            {
              widgets: [
                {
                  buttonList: {
                    buttons: [
                      {
                        text: "Open documentation",
                        onClick: {
                          openLink: {
                            url: "https://developers.google.com/chat"
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          ]
        }
      }
    ]
  }
}

Apps Script

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

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

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

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

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

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': [{
                'update_card': get_update_card
              }]
            }
          }
        }

def get_update_card:
  // Return "Card v2" representing App Home.
  ...

Apps Script

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

function getCard() {
  // Return "Card v2" representing App Home.
  ...
}