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

অ্যাড-অন অ্যাকশন উইজেটগুলিতে ইন্টারেক্টিভ আচরণ প্রদান করে। একটি ক্রিয়া তৈরি করে, আপনি সংজ্ঞায়িত করেন যখন ব্যবহারকারী একটি উইজেট নির্বাচন বা আপডেট করে তখন কী ঘটে।

বেশিরভাগ ক্ষেত্রে আপনি অ্যাপস স্ক্রিপ্ট কার্ড পরিষেবা দ্বারা প্রদত্ত Action অবজেক্টগুলি ব্যবহার করে অ্যাড-অন অ্যাকশনগুলি সংজ্ঞায়িত করতে পারেন৷ আপনি যখন এটি তৈরি করেন তখন প্রতিটি Action একটি কলব্যাক ফাংশনের সাথে যুক্ত থাকে। ব্যবহারকারী যখন উইজেটের সাথে ইন্টারঅ্যাক্ট করে তখন আপনি পছন্দসই পদক্ষেপ নিতে কলব্যাক ফাংশনটি বাস্তবায়ন করেন। আপনাকে অবশ্যই একটি উপযুক্ত উইজেট হ্যান্ডলার ফাংশন ব্যবহার করে Action উইজেটের সাথে লিঙ্ক করতে হবে যা Action কলব্যাককে কী ধরনের ইন্টারঅ্যাকশন ট্রিগার করে তা নির্ধারণ করে।

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

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

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

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

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

হ্যান্ডলার ফাংশন ক্রিয়াকে ট্রিগার করে প্রযোজ্য উইজেট বর্ণনা
setOnChangeAction() উইজেটের মান পরিবর্তন হয় DatePicker
DateTimePicker
SelectionInput
Switch
TextInput TimePicker
একটি Action সেট করে যা একটি Apps স্ক্রিপ্ট ফাংশন চালায় যখন উইজেট ফোকাস হারায়, যেমন যখন ব্যবহারকারী একটি ইনপুটে পাঠ্য প্রবেশ করে এবং এন্টার টিপে। হ্যান্ডলার স্বয়ংক্রিয়ভাবে একটি ইভেন্ট অবজেক্টকে যে ফাংশনটি কল করে তাতে পাস করে। আপনি চাইলে এই ইভেন্ট অবজেক্টে অতিরিক্ত প্যারামিটার তথ্য সন্নিবেশ করতে পারেন।
setOnClickAction() ব্যবহারকারী উইজেট ক্লিক করে CardAction
Image
ImageButton
DecoratedText
TextButton
একটি Action সেট করে যা একটি Apps স্ক্রিপ্ট ফাংশন চালায় যখন ব্যবহারকারী উইজেটে ক্লিক করে। হ্যান্ডলার স্বয়ংক্রিয়ভাবে একটি ইভেন্ট অবজেক্টকে যে ফাংশনটি কল করে তাতে পাস করে। আপনি এই ইভেন্ট অবজেক্টে ঐচ্ছিক প্যারামিটার তথ্য সন্নিবেশ করতে পারেন।
setComposeAction() ব্যবহারকারী উইজেট ক্লিক করে CardAction
Image
ImageButton
DecoratedText
TextButton
জিমেইল নির্দিষ্ট। একটি 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 ট্রিগার হলে কলব্যাক ফাংশন কার্যকর হয়। যেহেতু কলব্যাক ফাংশন হল অ্যাপস স্ক্রিপ্ট ফাংশন, আপনি সেগুলিকে অন্য যেকোনো স্ক্রিপ্ট ফাংশন করতে পারেন।

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

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

অ্যাকশনের চেষ্টা করা হয়েছে কলব্যাক ফাংশন ফিরে আসা উচিত
কার্ডের মধ্যে নেভিগেট করুন ActionResponse
একটি Notification প্রদর্শন করুন ActionResponse
setOnClickOpenLinkAction() ব্যবহার করে একটি লিঙ্ক খুলুন ActionResponse
স্বয়ংসম্পূর্ণ পরামর্শগুলি প্রদর্শন করুন৷ SuggestionResponse
একটি সর্বজনীন কর্ম ব্যবহার করুন UniversalActionResponse
অন্যান্য কর্ম কিছুই না

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

কর্ম ঘটনা বস্তু

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

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

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