হোমপেজ হল একটি নতুন Google Workspace অ্যাড-অন বৈশিষ্ট্য যা এক বা একাধিক নন-কনটেক্সচুয়াল কার্ড সংজ্ঞায়িত করার ক্ষমতা প্রদান করে। নন-কনটেক্সচুয়াল কার্ডগুলি একটি ইউজার ইন্টারফেস প্রদর্শন করতে ব্যবহৃত হয় যখন ব্যবহারকারী একটি নির্দিষ্ট প্রসঙ্গের বাইরে থাকে, যেমন যখন ব্যবহারকারী তাদের Gmail ইনবক্স দেখছেন কিন্তু কোনও বার্তা বা খসড়া খোলেননি।
হোমপেজগুলি আপনাকে অ-প্রাসঙ্গিক সামগ্রী দেখাতে দেয়, ঠিক যেমনটি দ্রুত-অ্যাক্সেস সাইড প্যানেলে (Keep, Calendar, এবং Tasks) Google অ্যাপগুলি দেখায়। হোমপেজগুলি কোনও ব্যবহারকারী কখন প্রথম আপনার অ্যাড-অনটি খোলে তার জন্য একটি প্রাথমিক শুরুর স্থানও প্রদান করতে পারে এবং নতুন ব্যবহারকারীদের আপনার অ্যাড-অনের সাথে কীভাবে ইন্টারঅ্যাক্ট করতে হয় তা শেখানোর জন্য কার্যকর।
আপনার প্রোজেক্ট ম্যানিফেস্টে এটি নির্দিষ্ট করে এবং এক বা একাধিক homepageTrigger ফাংশন বাস্তবায়ন করে আপনি আপনার অ্যাড-অনের জন্য একটি হোমপেজ সংজ্ঞায়িত করতে পারেন ( হোমপেজ কনফিগারেশন দেখুন)।
আপনার একাধিক হোমপেজ থাকতে পারে, প্রতিটি হোস্ট অ্যাপ্লিকেশনের জন্য একটি করে যা আপনার অ্যাড-অন প্রসারিত করে। আপনি এমন একটি সাধারণ ডিফল্ট হোমপেজ সংজ্ঞায়িত করার সিদ্ধান্তও নিতে পারেন যা হোস্টে ব্যবহৃত হয় যেখানে আপনি একটি কাস্টম হোমপেজ নির্দিষ্ট করেননি।
নিম্নলিখিত শর্তগুলির মধ্যে একটি পূরণ হলে আপনার অ্যাড-অন হোমপেজ প্রদর্শিত হয়:
- যখন অ্যাড-অনটি প্রথম হোস্টে খোলা হয় (অনুমোদনের পরে)।
- যখন অ্যাড-অন খোলা থাকাকালীন ব্যবহারকারী একটি প্রাসঙ্গিক প্রসঙ্গ থেকে একটি অ-প্রসঙ্গিক প্রসঙ্গ পরিবর্তন করে। উদাহরণস্বরূপ, একটি ক্যালেন্ডার ইভেন্ট সম্পাদনা থেকে মূল ক্যালেন্ডারে।
- যখন ব্যবহারকারী পিছনের বোতামে যথেষ্ট বার ক্লিক করে তখন অভ্যন্তরীণ স্ট্যাক থেকে অন্য সমস্ত কার্ড পপ অফ হয়ে যায় ।
- যখন একটি নন-কনটেক্সচুয়াল কার্ডে একটি UI ইন্টারঅ্যাকশনের ফলে একটি
Navigation.popToRoot()কল আসে।
একটি হোমপেজ ডিজাইন করা বাধ্যতামূলক নয় তবে অত্যন্ত বাঞ্ছনীয়; যদি আপনি কোনওটি সংজ্ঞায়িত না করেন, তাহলে যখনই কোনও ব্যবহারকারী অন্যথায় হোমপেজে নেভিগেট করবেন তখন আপনার অ্যাড-অন নাম সম্বলিত একটি জেনেরিক কার্ড ব্যবহার করা হবে।
হোমপেজ কনফিগারেশন
গুগল ওয়ার্কস্পেস অ্যাড-অনগুলি অ্যাড-অন ম্যানিফেস্টে সমস্ত হোস্ট অ্যাপ্লিকেশনের জন্য ডিফল্ট হোমপেজ (অ-প্রসঙ্গিক) অ্যাড-অন কন্টেন্ট কনফিগার করতে addOns.common.homepageTrigger ফিল্ড ব্যবহার করে:
{
"addOns": {
"common": {
"homepageTrigger": {
"runFunction": "myFunction",
"enabled": true
}
}
}
}
runFunction: গুগল ওয়ার্কস্পেস অ্যাড-অন ফ্রেমওয়ার্ক হোমপেজ অ্যাড-অন কার্ড রেন্ডার করার জন্য যে অ্যাপস স্ক্রিপ্ট ফাংশনটি ব্যবহার করে তার নাম। এই ফাংশনটি হল হোমপেজ ট্রিগার ফাংশন । এই ফাংশনটি হোমপেজ UI তৈরি করে এমনCardঅবজেক্টের একটি অ্যারে তৈরি এবং ফেরত পাঠাতে হবে। যদি একাধিক কার্ড ফেরত দেওয়া হয়, তাহলে হোস্ট অ্যাপ্লিকেশনটি কার্ড হেডারগুলিকে একটি তালিকায় দেখায় যা ব্যবহারকারী নির্বাচন করতে পারেন ( একাধিক কার্ড ফেরত দেখুন)।enabled: এই স্কোপের জন্য হোমপেজ কার্ডগুলি সক্রিয় করা উচিত কিনা। এই ক্ষেত্রটি ঐচ্ছিক, এবং ডিফল্টভাবেtrueথাকে। এটিকেfalseএ সেট করলে সমস্ত হোস্টের জন্য হোমপেজ কার্ডগুলি অক্ষম হয়ে যায় (যদি না সেই হোস্টের জন্য ওভাররাইড করা হয়; নীচে দেখুন)।
সাধারণ কনফিগারেশন ছাড়াও, প্রতিটি হোস্ট অ্যাপ্লিকেশনের কনফিগারেশনে, addOns.gmail.homepageTrigger , addOns.calendar.homepageTrigger , এবং আরও অনেক কিছুতে অভিন্নভাবে কাঠামোগত প্রতি-হোস্ট ওভাররাইড উপলব্ধ রয়েছে।
নিম্নলিখিত উদাহরণটি এমন একটি ম্যানিফেস্ট দেখায় যেখানে একটি সাধারণ হোমপেজ ট্রিগার সংজ্ঞায়িত করা হয়, কিন্তু ক্যালেন্ডার এবং ড্রাইভের জন্য কাস্টম ফাংশন দিয়ে ওভাররাইড করা হয় এবং Gmail এর জন্য সম্পূর্ণরূপে অক্ষম করা হয়। এই কনফিগারেশনে, সাধারণ buildHomePage ফাংশনটি কখনই কার্যকর হয় না কারণ এটি হয় ওভাররাইড করা হয় অথবা হোস্ট অক্ষম করা হয়।
{
...
"addOns": {
...
"common": {
"homepageTrigger": { "runFunction": "buildHomePage" }
},
"calendar": {
"homepageTrigger": { "runFunction": "buildCalendarHomepage" }
},
"drive": {
"homepageTrigger": { "runFunction": "buildDriveHomepage" }
},
"gmail": {
"homepageTrigger": { "enabled": false }
},
...
}
}
মনে রাখবেন যে নিম্নলিখিত ম্যানিফেস্ট উদ্ধৃতিটি পূর্ববর্তী উদাহরণের সমতুল্য, যদিও ডিফল্ট homepageTrigger এবং জিমেইল কনফিগারেশন বাদ দেওয়া হয়েছে:
{
"addOns": {
"common": {},
"calendar": {
"homepageTrigger": { "runFunction": "myCalendarFunction" }
},
"drive": {
"homepageTrigger": { "runFunction": "myDriveFunction" }
},
"gmail": {},
...
}
}
কোনও homepageTrigger বিভাগ প্রয়োজন হয় না। তবে, কোনও নির্দিষ্ট হোস্ট পণ্যে অ্যাড-অনের জন্য প্রদর্শিত UI সংশ্লিষ্ট ম্যানিফেস্ট ক্ষেত্রের উপস্থিতি এবং কোনও সংশ্লিষ্ট homepageTrigger আছে কিনা তার উপর নির্ভর করে। নিম্নলিখিত উদাহরণটি দেখায় যে বিভিন্ন ম্যানিফেস্ট কনফিগারেশনের জন্য একটি হোমপেজ UI তৈরি করতে কোন অ্যাড-অন ট্রিগার ফাংশনগুলি কার্যকর করা হয় (যদি থাকে):

হোমপেজ ইভেন্ট অবজেক্ট
যখন কল করা হয়, উপরে বর্ণিত হোমপেজ ট্রিগার ফাংশন ( runFunction ) একটি ইভেন্ট অবজেক্ট পাস করে যাতে ইনভোকেশন কনটেক্সট থেকে ডেটা থাকে।
হোমপেজ ইভেন্ট অবজেক্টে উইজেট বা প্রাসঙ্গিক তথ্য অন্তর্ভুক্ত থাকে না; প্রদত্ত তথ্য নিম্নলিখিত সাধারণ ইভেন্ট অবজেক্ট ফিল্ডগুলিতে সীমাবদ্ধ:
-
commonEventObject.clientPlatform -
commonEventObject.hostApp -
commonEventObject.userLocaleএবংcommonEventObject.userTimezone(কিন্তু সীমাবদ্ধতা তথ্যের জন্য ব্যবহারকারীর লোকেল এবং সময় অঞ্চল অ্যাক্সেস করা দেখুন)।
আরও বিস্তারিত জানার জন্য ইভেন্ট অবজেক্ট দেখুন।
অন্যান্য অ-প্রাসঙ্গিক কার্ড
আপনার অ্যাড-অন UI-তে অতিরিক্ত অ-প্রসঙ্গিক কার্ড থাকতে পারে যা হোমপেজ নয়। উদাহরণস্বরূপ, আপনার হোমপেজে একটি বোতাম থাকতে পারে যা একটি "সেটিংস" কার্ড খুলবে যেখানে ব্যবহারকারী অ্যাড-অন সেটিংস সামঞ্জস্য করতে পারবে (এই ধরনের সেটিংস, বেশিরভাগ ক্ষেত্রে, প্রসঙ্গ থেকে স্বাধীন হবে এবং তাই অ-প্রসঙ্গিক হবে)।
অ-প্রসঙ্গিক কার্ডগুলি অন্যান্য কার্ডের মতোই তৈরি করা হয়; পার্থক্য কেবল এটিই যে কোন ক্রিয়া বা ইভেন্ট কার্ডটি তৈরি করে এবং প্রদর্শন করে। কার্ডগুলির মধ্যে রূপান্তর কীভাবে তৈরি করবেন সে সম্পর্কে বিস্তারিত জানতে নেভিগেশন পদ্ধতিগুলি দেখুন।