বার্তা UI প্রসারিত করা হচ্ছে

Google Workspace অ্যাড-অন যা Gmail কে প্রসারিত করে, ব্যবহারকারী যখন মেসেজ পড়ছেন তখন একটি ইউজার ইন্টারফেস প্রদান করতে পারে। এটি Google Workspace অ্যাড-অনগুলিকে স্বয়ংক্রিয়ভাবে কাজ করতে দেয় যা মেসেজের সামগ্রীতে প্রতিক্রিয়া জানায়, যেমন মেসেজ সম্পর্কিত অতিরিক্ত তথ্য প্রদর্শন করা, পুনরুদ্ধার করা বা পাঠানো।

অ্যাড-অন বার্তা UI অ্যাক্সেস করা হচ্ছে

একটি অ্যাড-অনের বার্তা UI দেখার দুটি উপায় রয়েছে৷ প্রথম উপায় হল অ্যাড-অন ইতিমধ্যে খোলা থাকা অবস্থায় একটি বার্তা খোলা (উদাহরণস্বরূপ, Gmail ইনবক্স উইন্ডোতে অ্যাড-অন হোমপেজটি দেখার সময়)। দ্বিতীয় উপায় হল একটি বার্তা দেখার সময় অ্যাড-অন শুরু করা।

যেকোনো ক্ষেত্রেই অ্যাড-অনকে সংশ্লিষ্ট প্রাসঙ্গিক ট্রিগার ফাংশনটি কার্যকর করতে দেয়, অ্যাড-অন ম্যানিফেস্টে সংজ্ঞায়িত করা হয়েছে। অ্যাড-অন খোলা থাকা অবস্থায় ব্যবহারকারী অন্য কোনো বার্তায় স্যুইচ করলেও ট্রিগারটি কার্যকর হয়। প্রাসঙ্গিক ট্রিগার ফাংশন সেই বার্তার জন্য বার্তা UI তৈরি করে, যা Gmail তারপর ব্যবহারকারীকে প্রদর্শন করে।

একটি বার্তা অ্যাড-অন তৈরি করা

আপনি এই সাধারণ পদক্ষেপগুলি অনুসরণ করে একটি অ্যাড-অনে বার্তা কার্যকারিতা যুক্ত করতে পারেন:

  1. অ্যাড-অন স্ক্রিপ্ট প্রজেক্ট ম্যানিফেস্টে উপযুক্ত ক্ষেত্র যোগ করুন, বার্তা কার্যকারিতার জন্য প্রয়োজনীয় স্কোপগুলি সহ। {} এর একটি unconditional মান সহ ম্যানিফেস্টে একটি শর্তসাপেক্ষ ট্রিগার ক্ষেত্র যোগ করতে ভুলবেন না।
  2. একটি প্রাসঙ্গিক ট্রিগার ফাংশন প্রয়োগ করুন যা একটি বার্তা UI তৈরি করে যখন ব্যবহারকারী একটি বার্তায় অ্যাড-অন নির্বাচন করে।
  3. ব্যবহারকারীর UI মিথস্ক্রিয়াগুলিতে প্রতিক্রিয়া জানাতে প্রয়োজনীয় সংশ্লিষ্ট ফাংশনগুলি প্রয়োগ করুন৷

প্রাসঙ্গিক ট্রিগার

মেসেজ পড়ার সময় ব্যবহারকারীদের সহায়তা দেওয়ার জন্য, Google Workspace অ্যাড-অন তাদের ম্যানিফেস্টে একটি প্রাসঙ্গিক ট্রিগার সংজ্ঞায়িত করতে পারে। যখন ব্যবহারকারী একটি Gmail বার্তা খোলে (অ্যাড-অন খোলার সাথে) যা ট্রিগারের মানদণ্ড পূরণ করে * ট্রিগারটি ফায়ার হয়। একটি ফায়ার করা ট্রিগার একটি প্রাসঙ্গিক ট্রিগার ফাংশন চালায় যা অ্যাড-অন ইউজার ইন্টারফেস তৈরি করে এবং জিমেইলের প্রদর্শনের জন্য এটি ফেরত দেয়। সেই মুহুর্তে ব্যবহারকারী এটির সাথে ইন্টারঅ্যাক্ট শুরু করতে পারেন।

প্রাসঙ্গিক ট্রিগারগুলি আপনার অ্যাড-অনের প্রকল্প ম্যানিফেস্টে সংজ্ঞায়িত করা হয়েছে। ট্রিগারের সংজ্ঞা Gmail কে বলে যে কোন ট্রিগার ফাংশনটি কোন পরিস্থিতিতে ফায়ার করতে হবে। উদাহরণস্বরূপ, এই ম্যানিফেস্ট স্নিপেটটি একটি শর্তহীন ট্রিগার সেট করে যা একটি বার্তা খোলা হলে ট্রিগার ফাংশনকে onGmailMessageOpen() কল করে:

{
  ...
  "addOns": {

    "common": {
      ...
    },
    "gmail": {
      "contextualTriggers": [
        {
          "unconditional": {},
          "onTriggerFunction": "onGmailMessageOpen"
        }
      ],
      ...
    },
    ...
  }
  ...
}

প্রাসঙ্গিক ট্রিগার ফাংশন

প্রতিটি প্রাসঙ্গিক ট্রিগারের একটি সংশ্লিষ্ট ট্রিগার ফাংশন থাকতে হবে যা আপনার অ্যাড-অনের ইউজার ইন্টারফেস তৈরি করে। আপনি আপনার ম্যানিফেস্টের onTriggerFunction ক্ষেত্রে এই ফাংশনটি নির্দিষ্ট করুন। আপনি একটি অ্যাকশন ইভেন্ট অবজেক্ট আর্গুমেন্ট গ্রহণ করতে এই ফাংশনটি বাস্তবায়ন করেন এবং একটি একক Card অবজেক্ট বা Card অবজেক্টের একটি অ্যারে ফেরত দেন।

যখন একটি প্রদত্ত Gmail বার্তার জন্য একটি প্রাসঙ্গিক ট্রিগার ফায়ার হয়, তখন এটি এই ফাংশনটিকে কল করে এবং এটিকে একটি অ্যাকশন ইভেন্ট অবজেক্ট পাস করে। প্রায়শই ট্রিগার ফাংশনগুলি অ্যাপস স্ক্রিপ্টের Gmail পরিষেবা ব্যবহার করে বার্তা পাঠ্য এবং অন্যান্য বিবরণ পেতে এই ইভেন্ট অবজেক্ট দ্বারা প্রদত্ত বার্তা ID ব্যবহার করে৷ উদাহরণস্বরূপ, আপনার ট্রিগার ফাংশন এই ফাংশনগুলি ব্যবহার করে বার্তা সামগ্রী বের করতে পারে:

  // Activate temporary Gmail scopes, in this case to allow
  // the add-on to read message metadata and content.
  var accessToken = e.gmail.accessToken;
  GmailApp.setCurrentMessageAccessToken(accessToken);

  // Read message metadata and content. This requires the Gmail scope
  // https://www.googleapis.com/auth/gmail.addons.current.message.readonly.
  var messageId = e.gmail.messageId;
  var message = GmailApp.getMessageById(messageId);
  var subject = message.getSubject();
  var sender = message.getFrom();
  var body = message.getPlainBody();
  var messageDate = message.getDate();

  // Setting the access token with a gmail.addons.current.message.readonly
  // scope also allows read access to the other messages in the thread.
  var thread = message.getThread();
  var threadMessages = thread.getMessages();

  // Using this link can avoid the need to copy message or thread content
  var threadLink = thread.getPermalink();

ট্রিগার ফাংশন তখন এই ডেটাতে কাজ করতে পারে, ইন্টারফেসের জন্য প্রয়োজনীয় তথ্য বের করে। উদাহরণস্বরূপ, একটি অ্যাড-অন যা বিক্রয় সংখ্যার সারসংক্ষেপ করে বার্তা সংস্থা থেকে বিক্রয় পরিসংখ্যান সংগ্রহ করতে পারে এবং একটি কার্ডে প্রদর্শনের জন্য সেগুলিকে সংগঠিত করতে পারে৷

ট্রিগার ফাংশনটি অবশ্যই বিল্ট Card অবজেক্টের একটি অ্যারে তৈরি এবং ফেরত দেবে। উদাহরণস্বরূপ, নিম্নলিখিতগুলি একটি একক কার্ডের সাথে একটি অ্যাড-অন তৈরি করে যা কেবলমাত্র বার্তাটির বিষয় এবং প্রেরককে তালিকাভুক্ত করে:

  function onGmailMessageOpen(e) {
    // Activate temporary Gmail scopes, in this case to allow
    // message metadata to be read.
    var accessToken = e.gmail.accessToken;
    GmailApp.setCurrentMessageAccessToken(accessToken);

    var messageId = e.gmail.messageId;
    var message = GmailApp.getMessageById(messageId);
    var subject = message.getSubject();
    var sender = message.getFrom();

    // Create a card with a single card section and two widgets.
    // Be sure to execute build() to finalize the card construction.
    var exampleCard = CardService.newCardBuilder()
        .setHeader(CardService.newCardHeader()
            .setTitle('Example card'))
        .addSection(CardService.newCardSection()
            .addWidget(CardService.newKeyValue()
                .setTopLabel('Subject')
                .setContent(subject))
            .addWidget(CardService.newKeyValue()
                .setTopLabel('From')
                .setContent(sender)))
        .build();   // Don't forget to build the Card!
    return [exampleCard];
  }