বেশিরভাগ অ্যাড-অন, ডেটা উপস্থাপনের পাশাপাশি, ব্যবহারকারীকে তথ্য প্রবেশ করতে হবে। আপনি যখন একটি কার্ড-ভিত্তিক অ্যাড-অন তৈরি করেন, তখন আপনি ইন্টারেক্টিভ উইজেটগুলি ব্যবহার করতে পারেন যেমন বোতাম, টুলবার মেনু আইটেম, বা চেকবক্সগুলি ব্যবহারকারীকে আপনার অ্যাড-অনের প্রয়োজন এমন ডেটার জন্য জিজ্ঞাসা করতে বা অন্যান্য ইন্টারঅ্যাকশন নিয়ন্ত্রণগুলি প্রদান করতে।
উইজেটগুলিতে অ্যাকশন যোগ করা হচ্ছে
বেশিরভাগ অংশে, আপনি উইজেটগুলিকে নির্দিষ্ট কর্মের সাথে লিঙ্ক করে এবং একটি কলব্যাক ফাংশনে প্রয়োজনীয় আচরণ প্রয়োগ করে ইন্টারেক্টিভ করে তোলেন। বিস্তারিত জানার জন্য অ্যাড-অন অ্যাকশন দেখুন।
বেশিরভাগ ক্ষেত্রে, আপনি নির্বাচিত বা আপডেট করার সময় একটি নির্দিষ্ট পদক্ষেপ নিতে একটি উইজেট কনফিগার করতে এই সাধারণ পদ্ধতি অনুসরণ করতে পারেন:
- একটি
Actionঅবজেক্ট তৈরি করুন, কলব্যাক ফাংশনটি নির্দিষ্ট করে যা কার্যকর করা উচিত, যেকোনো প্রয়োজনীয় পরামিতি সহ। - উপযুক্ত উইজেট হ্যান্ডলার ফাংশন কল করে
Actionসাথে উইজেট লিঙ্ক করুন। - প্রয়োজনীয় আচরণ কার্যকর করতে কলব্যাক ফাংশন প্রয়োগ করুন।
উদাহরণ
নিম্নলিখিত উদাহরণটি একটি বোতাম সেট করে যা ক্লিক করার পরে ব্যবহারকারীর বিজ্ঞপ্তি প্রদর্শন করে। ক্লিকটি notifyUser() কলব্যাক ফাংশনটিকে একটি আর্গুমেন্ট সহ ট্রিগার করে যা বিজ্ঞপ্তির পাঠ্য নির্দিষ্ট করে। একটি নির্মিত ActionResponse প্রত্যাবর্তন একটি প্রদর্শিত বিজ্ঞপ্তি ফলাফল.
/**
* Build a simple card with a button that sends a notification.
* @return {Card}
*/
function buildSimpleCard() {
var buttonAction = CardService.newAction()
.setFunctionName('notifyUser')
.setParameters({'notifyText': 'Button clicked!'});
var button = CardService.newTextButton()
.setText('Notify')
.setOnClickAction(buttonAction);
// ...continue creating widgets, then create a Card object
// to add them to. Return the built Card object.
}
/**
* Callback function for a button action. Constructs a
* notification action response and returns it.
* @param {Object} e the action event object
* @return {ActionResponse}
*/
function notifyUser(e) {
var parameters = e.parameters;
var notificationText = parameters['notifyText'];
return CardService.newActionResponseBuilder()
.setNotification(CardService.newNotification()
.setText(notificationText))
.build(); // Don't forget to build the response!
}
কার্যকর মিথস্ক্রিয়া ডিজাইন করুন
ইন্টারেক্টিভ কার্ড ডিজাইন করার সময়, নিম্নলিখিতগুলি মনে রাখবেন:
ইন্টারেক্টিভ উইজেটগুলির সাধারণত তাদের আচরণ সংজ্ঞায়িত করার জন্য কমপক্ষে একটি হ্যান্ডলার পদ্ধতির প্রয়োজন হয়।
আপনার কাছে URL থাকলে
setOpenLink()উইজেট হ্যান্ডলার ফাংশনটি ব্যবহার করুন এবং শুধুমাত্র একটি ট্যাবে এটি খুলতে চান। এটি একটিActionঅবজেক্ট এবং কলব্যাক ফাংশন সংজ্ঞায়িত করার প্রয়োজনীয়তা এড়ায়। আপনি যদি প্রথমে ইউআরএল তৈরি করতে চান, বা ইউআরএল খোলার আগে অন্য কোনো অতিরিক্ত পদক্ষেপ নিতে চান, তাহলে একটিActionসংজ্ঞায়িত করুন এবং পরিবর্তেsetOnClickOpenLinkAction()ব্যবহার করুন।setOpenLink()বাsetOnClickOpenLinkAction()উইজেট হ্যান্ডলার ফাংশন ব্যবহার করার সময়, কোন URL খুলতে হবে তা নির্ধারণ করতে আপনাকে একটিOpenLinkঅবজেক্ট প্রদান করতে হবে। আপনিOpenAsএবংOnCloseenums ব্যবহার করে খোলার এবং বন্ধ করার আচরণ নির্দিষ্ট করতে এই বস্তুটি ব্যবহার করতে পারেন।একাধিক উইজেটের জন্য একই
Actionঅবজেক্ট ব্যবহার করা সম্ভব। যাইহোক, যদি আপনি কলব্যাক ফাংশন বিভিন্ন পরামিতি প্রদান করতে চান তবে আপনাকে বিভিন্নActionঅবজেক্টকে সংজ্ঞায়িত করতে হবে।আপনার কলব্যাক ফাংশন সহজ রাখুন. অ্যাড-অনগুলিকে প্রতিক্রিয়াশীল রাখতে, কার্ড পরিষেবা কলব্যাক ফাংশনগুলিকে কার্যকর করার সময় সর্বাধিক 30 সেকেন্ডের মধ্যে সীমাবদ্ধ করে। যদি এক্সিকিউশন এর চেয়ে বেশি সময় নেয়, তাহলে আপনার অ্যাড-অন UI
Actionপ্রতিক্রিয়ায় তার কার্ড ডিসপ্লে সঠিকভাবে আপডেট নাও করতে পারে।যদি আপনার অ্যাড-অন UI-এর সাথে ব্যবহারকারীর ইন্টারঅ্যাকশনের ফলে তৃতীয়-পক্ষের ব্যাকএন্ডে একটি ডেটা স্থিতি পরিবর্তিত হয়, তাহলে এটি সুপারিশ করা হয় যে অ্যাড-অন একটি 'স্টেট পরিবর্তিত' বিটকে
trueসেট করুন যাতে বিদ্যমান ক্লায়েন্ট সাইড ক্যাশে সাফ অতিরিক্ত বিবরণের জন্যActionResponseBuilder.setStateChanged()পদ্ধতির বিবরণ দেখুন।