অ্যাড-অন অ্যাকশন

অ্যাড-অন অ্যাকশন উইজেটকে ইন্টার‍্যাক্টিভ আচরণ প্রদান করে। অ্যাকশন তৈরি করার মাধ্যমে, ব্যবহারকারী কোনও উইজেট বেছে নিলে বা আপডেট করলে কী হবে তা আপনি নির্ধারণ করেন।

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

এই প্রসেস ব্যবহার করে Action সহ উইজেট কনফিগার করুন:

  1. Action অবজেক্ট তৈরি করুন, এর সাথে যে কলব্যাক ফাংশনটি এক্সিকিউট করা উচিত সেটি নির্দিষ্ট করুন এবং এর জন্য প্রয়োজনীয় প্যারামিটারও নির্দিষ্ট করুন।
  2. Action অবজেক্ট ব্যবহার করে উইজেটে উপযুক্ত উইজেট হ্যান্ডলার ফাংশন কল করুন।
  3. প্রয়োজনীয় আচরণ প্রয়োগ করতে কলব্যাক ফাংশন প্রয়োগ করুন।

Action অবজেক্টের সাথে CardAction অবজেক্ট গুলিয়ে ফেলবেন না। CardAction অবজেক্ট হল কার্ড হেডার মেনু আইটেম, যেখানে Action অবজেক্ট UI-এর সাথে ব্যবহারকারীর ইন্টার‍্যাকশনের উত্তরকে সংজ্ঞায়িত করে।

উইজেট হ্যান্ডলার ফাংশন

Action বা অন্য কোনও বিহেভিয়ারের সাথে উইজেট লিঙ্ক করতে, উইজেট হ্যান্ডলার ফাংশন ব্যবহার করুন। হ্যান্ডলার ফাংশন নির্ধারণ করে যে কোন ধরনের ইন্টার‍্যাকশন (যেমন, উইজেটে ক্লিক করা বা টেক্সট ফিল্ড এডিট করা) অ্যাকশন বিহেভিয়ার ট্রিগার করে। এছাড়াও, অ্যাকশন সম্পূর্ণ হওয়ার পরে UI কোনও পদক্ষেপ নিলে, হ্যান্ডলার ফাংশন তা নির্ধারণ করে।

নিচের সারণীতে উইজেটের জন্য বিভিন্ন ধরনের হ্যান্ডলার এবং সেগুলি কোন উইজেটের সাথে ব্যবহার করা হয় তা তালিকাভুক্ত করা হয়েছে:

হ্যান্ডলার ফাংশন অ্যাকশন ট্রিগার করে প্রযোজ্য উইজেট বিবরণ
setOnChangeAction উইজেটের ভ্যালু পরিবর্তন হয় DatePicker
DateTimePicker
SelectionInput
Switch
TextInput TimePicker
এমন একটি Action সেট করে যা উইজেট ফোকাস হারালে Apps Script ফাংশন এক্সিকিউট করে, যেমন ব্যবহারকারী ইনপুটে টেক্সট লিখে Enter টিপলে। হ্যান্ডলার সেটি যে ফাংশনকে কল করে, সেটিতে অটোমেটিক একটি ইভেন্ট অবজেক্ট পাস করে। বেছে নেওয়া হলে, আপনি এই ইভেন্ট অবজেক্টে অতিরিক্ত প্যারামিটার সংক্রান্ত তথ্য ইনসার্ট করতে পারবেন।
setOnClickAction ব্যবহারকারী উইজেটে ক্লিক করেন CardAction
Image
ImageButton
DecoratedText
TextButton
এমন একটি Action সেট করে যা ব্যবহারকারী উইজেটে ক্লিক করলে Apps Script ফাংশন এক্সিকিউট করে। হ্যান্ডলার অটোমেটিক ইভেন্ট অবজেক্ট ফাংশনে পাস করে যা এটি কল করে। আপনি এই ইভেন্ট অবজেক্টে ঐচ্ছিক প্যারামিটার সংক্রান্ত তথ্য যোগ করতে পারেন।
setComposeAction ব্যবহারকারী উইজেটে ক্লিক করেন CardAction
Image
ImageButton
DecoratedText
TextButton
Gmail-এর জন্য নির্দিষ্ট। এমন একটি Action সেট করে যা ইমেলের ড্রাফ্ট তৈরি করে, তারপর সেই ড্রাফ্টটি Gmail UI-এর ইমেল লেখার উইন্ডোতে ব্যবহারকারীর সামনে উপস্থাপন করে। আপনি নতুন মেসেজ হিসেবে অথবা Gmail-এ খোলা মেসেজের উত্তর হিসেবে ড্রাফ্ট তৈরি করতে পারেন। হ্যান্ডলার যখন ড্রাফ্ট-বিল্ডিং কলব্যাক ফাংশনকে কল করে, তখন এটি কলব্যাক ফাংশনে একটি ইভেন্ট অবজেক্ট পাস করে। আরও বিবরণের জন্য ড্রাফ্ট মেসেজ লেখা দেখুন।
setOnClickOpenLinkAction ব্যবহারকারী উইজেটে ক্লিক করেন CardAction
Image
ImageButton
DecoratedText
TextButton
ব্যবহারকারী উইজেটে ক্লিক করলে URL খোলার জন্য একটি Action সেট করে। আপনি যখন URL তৈরি করতে বাধ্য হন বা লিঙ্কটি খোলার আগে অন্য অ্যাকশন নিতে হয়, তখন এই হ্যান্ডলারটি ব্যবহার করুন; অন্যথায়, সাধারণত setOpenLink ব্যবহার করা সহজ। আপনি শুধুমাত্র নতুন উইন্ডোতে URL খুলতে পারবেন। বন্ধ করা হলে, আপনি UI-কে অ্যাড-অন আবার লোড করতে বলতে পারবেন।
setOpenLink ব্যবহারকারী উইজেটে ক্লিক করেন CardAction
Image
ImageButton
DecoratedText
TextButton
ব্যবহারকারী উইজেটে ক্লিক করলে সরাসরি URL খুলে যায়। আপনি URL জানলে এবং শুধুমাত্র সেটি খুলতে চাইলে এই হ্যান্ডলার ব্যবহার করুন; অন্যথায় setOnClickOpenLinkAction ব্যবহার করুন। আপনি নতুন উইন্ডোতে বা ওভারলেতে URL খুলতে পারবেন। বন্ধ করা হলে, আপনি UI-কে অ্যাড-অন আবার লোড করতে বলতে পারেন।
setSuggestionsAction ব্যবহারকারী ইনপুটে টেক্সট লেখেন TextInput এমন একটি Action সেট করে যা ব্যবহারকারী টেক্সট ইনপুট উইজেটে টেক্সট লিখলে Apps স্ক্রিপ্ট ফাংশন এক্সিকিউট করে। হ্যান্ডলার অটোমেটিক ইভেন্ট অবজেক্ট ফাংশনে পাস করে যা এটি কল করে। আরও বিবরণের জন্য টেক্সট ইনপুট করার জন্য অটোকমপ্লিট সাজেশন দেখুন।

কলব্যাক ফাংশন

কোনও Action ট্রিগার করলে কলব্যাক ফাংশন এক্সিকিউট হয়। কারণ কলব্যাক ফাংশন হল Apps Script ফাংশন, আপনি এগুলি দিয়ে অন্যান্য স্ক্রিপ্ট ফাংশন প্রায় সবকিছুই করাতে পারবেন।

-এর উত্তরে কার্ড ডিসপ্লে সঠিকভাবে আপডেট নাও করতে পারে।

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

নিচের সারণী থেকে জানতে পারবেন যে নির্দিষ্ট অ্যাকশনের জন্য আপনার কলব্যাক ফাংশনকে কখন একটি নির্দিষ্ট রেসপন্স অবজেক্ট রিটার্ন করতে হবে। এইসব অ্যাকশন, অ্যাড-অনটি যে নির্দিষ্ট হোস্ট অ্যাপ্লিকেশনের কার্যকারিতা বাড়াচ্ছে, তার থেকে সম্পূর্ণ আলাদা:

অ্যাকশন নেওয়ার চেষ্টা করা হয়েছে কলব্যাক ফাংশন রিটার্ন করা উচিত
নেভিগেট করা ActionResponse
Notification ডিসপ্লে করা ActionResponse
setOnClickOpenLinkAction ব্যবহার করে লিঙ্ক খুলুন ActionResponse
অটোকমপ্লিট সাজেশন দেখানো SuggestionResponse
সর্বজনীন অ্যাকশন ব্যবহার করা UniversalActionResponse
অন্যান্য অ্যাকশন Nothing

Google Workspace হোস্ট অ্যাপ্লিকেশনের জন্য অ্যাকশন

এইসব অ্যাকশন ছাড়াও, প্রতিটি হোস্ট অ্যাপ্লিকেশনের নিজস্ব কিছু অ্যাকশন আছে যা শুধুমাত্র সেই হোস্টে নেওয়া যেতে পারে। বিস্তারিত জানতে, নিম্নলিখিত নির্দেশিকা দেখুন:

উত্তর তৈরির ক্লাস ব্যবহার করার সময়, build মেথড কল করে উত্তর অবজেক্ট তৈরি করুন। এটি না করলে সমস্যা হয়।

সর্বজনীন অ্যাকশন প্রোজেক্ট ম্যানিফেস্টে সংজ্ঞায়িত করা হয় এবং এর জন্য Action অবজেক্টের প্রয়োজন হয় না, তবে এর কলব্যাক ফাংশনকে অবশ্যই একটি UniversalActionResponse রিটার্ন করতে হবে।

অ্যাকশন ইভেন্ট অবজেক্ট

আপনার অ্যাড-অন কোনও Action ট্রিগার করলে, UI অটোমেটিক একটি JSON ইভেন্ট অবজেক্ট তৈরি করে এবং এটিকে Action কলব্যাক ফাংশনে আর্গুমেন্ট হিসেবে পাস করে। এই ইভেন্ট অবজেক্টে ব্যবহারকারীর বর্তমান ক্লায়েন্ট-সাইড কনটেক্সট সম্পর্কিত তথ্য থাকে, যেমন, ডিসপ্লে করা কার্ডের মধ্যে থাকা সব ইন্ট্যার‍্যাক্টিভ উইজেটের বর্তমান ভ্যালু।

অ্যাকশন ইভেন্ট অবজেক্টের একটি নির্দিষ্ট JSON স্ট্রাকচার থাকে যা সেগুলিতে থাকা তথ্যকে সাজায়। হোমপেজ তৈরি করার জন্য কোনও হোমপেজ ট্রিগার ফায়ার করলে অথবা অ্যাড-অন ডিসপ্লে আপডেট করার জন্য কোনও প্রাসঙ্গিক ট্রিগার ফায়ার করলে একই স্ট্রাকচার ব্যবহার করা হয়।

ইভেন্ট অবজেক্টের গঠন সম্পর্কে সম্পূর্ণ ব্যাখ্যা পেতে ইভেন্ট অবজেক্ট দেখুন।

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