একটি Google চ্যাট অ্যাপের জন্য একটি অ্যাপ হোম কার্ড বার্তা পাঠান

এই পৃষ্ঠাটি ব্যাখ্যা করে যে কীভাবে আপনার চ্যাট অ্যাপের জন্য একটি অ্যাপ হোম কার্ড মেসেজ তৈরি এবং পাঠাতে হয়। অ্যাপ হোম হল একটি কাস্টমাইজযোগ্য কার্ড বার্তা যা একটি চ্যাট অ্যাপ ব্যবহারকারীকে পাঠায় যখন তারা চ্যাট অ্যাপের মাধ্যমে সরাসরি বার্তা খুলবে।

দুটি বার্তা সহ অ্যাপ হোম কার্ড।

উদাহরণস্বরূপ, স্ল্যাশ কমান্ড ব্যবহার করে চ্যাট অ্যাপের সাথে ইন্টারঅ্যাক্ট করার জন্য টিপস অন্তর্ভুক্ত করতে আপনি অ্যাপ হোম কার্ড বার্তা কনফিগার করতে পারেন। শেষ ব্যবহারকারীদের জন্য, অ্যাপ হোম শুধুমাত্র একটি চ্যাট অ্যাপের সরাসরি বার্তায় উপলব্ধ হয় যদি অ্যাপ বিকাশকারী বৈশিষ্ট্যটি সক্ষম করে।


চ্যাট অ্যাপের জন্য JSON কার্ড মেসেজ ডিজাইন ও প্রিভিউ করতে কার্ড বিল্ডার ব্যবহার করুন:

কার্ড বিল্ডার খুলুন

পূর্বশর্ত

পাইথন

অ্যাপস স্ক্রিপ্ট

Google ক্লাউড কনসোলে কনফিগার করুন

পাইথন

  1. Google ক্লাউড কনসোলে, মেনু > আরও প্রোডাক্ট > Google Workspace > প্রোডাক্ট লাইব্রেরি > Google Chat API- এ যান।

    Google Chat API-এ যান

  2. পরিচালনা ক্লিক করুন, এবং তারপর কনফিগারেশন ট্যাবে ক্লিক করুন।

  3. সহায়তা অ্যাপ হোম সক্ষম করুন।

  4. সাপোর্ট অ্যাপ হোম চেকবক্স নির্বাচন করুন।

  5. অ্যাপ হোম URL ক্ষেত্রে, একটি URL যোগ করুন। এই মানটি সাধারণত অ্যাপ URL এর মতো একই URL হয়। এই URLটিকে APP_HOME ইভেন্টের জন্য বলা হয়।

  6. Save এ ক্লিক করুন।

অ্যাপস স্ক্রিপ্ট

  1. Google ক্লাউড কনসোলে, মেনু > আরও প্রোডাক্ট > Google Workspace > প্রোডাক্ট লাইব্রেরি > Google Chat API- এ যান।

    Google Chat API-এ যান

  2. পরিচালনা ক্লিক করুন, এবং তারপর কনফিগারেশন ট্যাবে ক্লিক করুন।

  3. সাপোর্ট অ্যাপ হোম চেকবক্স নির্বাচন করুন।

  4. Save এ ক্লিক করুন।

আপনার চ্যাট অ্যাপ কনফিগার করুন

অ্যাপ হোমের জন্য একটি নতুন কার্ড মেসেজ পাঠাতে আপনার চ্যাট অ্যাপ কনফিগার করুন।

পাইথন

যখন একজন ব্যবহারকারী একটি চ্যাট অ্যাপ থেকে একটি সরাসরি বার্তা খোলেন, তখন একটি APP_HOME ইভেন্ট আপনার চ্যাট অ্যাপে পাঠানো হয়। যখন একটি চ্যাট অ্যাপ এই ইভেন্টটি গ্রহণ করে, তখন pushCard নেভিগেশনের সাথে 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 {
    "action": {
      "navigations": [
        {
          "pushCard": {
            "sections": [
              {
                "widgets": [
                  {
                    "buttonList": {
                      "buttons": [
                        {
                          "text": "Open documentation",
                          "onClick": {
                            "openLink": {
                              "url": "https://developers.google.com/chat"
                            }
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            ]
          }
        }
      ]
    }
  }

অ্যাপস স্ক্রিপ্ট

এই উদাহরণ কার্ড JSON ফেরত দিয়ে একটি কার্ড বার্তা পাঠায়। আপনি Apps স্ক্রিপ্ট কার্ড পরিষেবাও ব্যবহার করতে পারেন৷

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 নেভিগেশন রয়েছে।

পাইথন

HTTP অ্যাপ্লিকেশানগুলির জন্য, অ্যাপ হোম কার্ড বার্তা আপডেট করা ব্যবহারকারীদের দ্বারা ইনপুট করা তথ্য প্রক্রিয়ার অনুরূপ, তবে আপনাকে অবশ্যই 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"
                                      }
                                  },
                              }]
                          }
                      }]
                  }]
              }
          }]
      }
  }

অ্যাপস স্ক্রিপ্ট

এই উদাহরণ কার্ড JSON ফেরত দিয়ে একটি কার্ড বার্তা পাঠায়। আপনি Apps স্ক্রিপ্ট কার্ড পরিষেবাও ব্যবহার করতে পারেন৷

// 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 (আপডেটের জন্য) উপলব্ধ।