যখন কোনো ব্যবহারকারী ড্রাইভ খোলেন, তখন গুগল ওয়ার্কস্পেস অ্যাড-অনগুলো কাস্টমাইজড ইন্টারফেস প্রদান করতে পারে। এর মাধ্যমে আপনি ব্যবহারকারীকে অতিরিক্ত প্রাসঙ্গিক তথ্য দিতে, কাজ স্বয়ংক্রিয় করতে এবং ড্রাইভের সাথে থার্ড-পার্টি সিস্টেম সংযুক্ত করতে পারেন।
Google Workspace অ্যাড-অন UI অ্যাক্সেস করুন
ড্রাইভ ইউজার ইন্টারফেসের ডানদিকের আইকন কলামে কোনো অ্যাড-অনের আইকন দেখা গেলে, আপনি সেটি ড্রাইভে খুলতে পারবেন। একটি অ্যাড-অন একটি হোমপেজ ইন্টারফেস, একটি আইটেম সিলেক্ট ইন্টারফেস, অথবা উভয়ই নির্ধারণ করতে পারে।
- ব্যবহারকারী Drive-এ থাকা অবস্থায় অ্যাড-অন আইকনে ক্লিক করলে, অ্যাড-অনটি সংশ্লিষ্ট
drive.homepageTriggerফাংশনটি (যদি থাকে) কার্যকর করে। এই ফাংশনটি প্রদর্শনের জন্য একটি হোমপেজ কার্ড তৈরি করে Drive-এ ফেরত পাঠায়। যদি কোনোdrive.homepageTriggerফাংশন সংজ্ঞায়িত না থাকে, তবে তার পরিবর্তে একটি জেনেরিক হোমপেজ কার্ড প্রদর্শিত হয়। - যদি ব্যবহারকারী ড্রাইভে এক বা একাধিক আইটেম নির্বাচন করার পর অ্যাড-অন আইকনে ক্লিক করেন, অথবা অ্যাড-অনটি খোলা থাকা অবস্থায় আইটেম নির্বাচন করেন, তাহলে অ্যাড-অনটি সংশ্লিষ্ট
drive.onItemsSelectedTriggerকনটেক্সচুয়াল ফাংশনটি (যদি থাকে) কার্যকর করে। এই ফাংশনটি অ্যাড-অনটির ড্রাইভ কনটেক্সচুয়াল "নির্বাচিত আইটেম" ইন্টারফেসটি তৈরি করে এবং প্রদর্শনের জন্য তা ড্রাইভে ফেরত পাঠায়।
অ্যাড-অন ড্রাইভ ইন্টারফেস তৈরি করুন
এই সাধারণ ধাপগুলো অনুসরণ করে Drive-কে সম্প্রসারণ করে এমন ইন্টারফেস তৈরি করুন:
- আপনার অ্যাড-অনের জন্য একটি ড্রাইভ-নির্দিষ্ট হোমপেজ থাকবে কিনা, তা স্থির করুন। এছাড়াও, ব্যবহারকারী যখন ড্রাইভ আইটেম নির্বাচন করবেন, তখন তার জন্য একটি প্রাসঙ্গিক ইন্টারফেস প্রদান করতে চান কিনা, সে বিষয়েও সিদ্ধান্ত নিন।
- অ্যাড-অন স্ক্রিপ্ট প্রজেক্ট ম্যানিফেস্টে উপযুক্ত
addOns.commonএবংaddOns.driveফিল্ডগুলো যোগ করুন, যার মধ্যে প্রয়োজনীয় যেকোনো Drive স্কোপও অন্তর্ভুক্ত থাকবে। - আপনি যদি ড্রাইভ-এর জন্য নির্দিষ্ট কোনো হোমপেজ প্রদান করেন, তাহলে এই ইন্টারফেসটি তৈরি করতে
drive.homepageTriggerফাংশনটি প্রয়োগ করুন। এছাড়াও, একাধিক গুগল ওয়ার্কস্পেস হোস্টের জন্য আপনিcommon.homepageTriggerইন্টারফেসটি ব্যবহার করতে পারেন। - আপনি যদি একটি ড্রাইভ কনটেক্সচুয়াল আইটেম সিলেকশন ইন্টারফেস প্রদান করেন, তবে এই ইন্টারফেসটি তৈরি করার জন্য আপনাকে অবশ্যই একটি
drive.onItemsSelectedTriggerকনটেক্সচুয়াল ট্রিগার ফাংশন ইমপ্লিমেন্ট করতে হবে। বিস্তারিত জানার জন্য 'নির্বাচিত আইটেমগুলির জন্য ড্রাইভ কনটেক্সচুয়াল ইন্টারফেস' দেখুন। - ব্যবহারকারীর UI ইন্টারঅ্যাকশন, যেমন বাটনে ক্লিক, এর প্রতিক্রিয়া জানাতে প্রয়োজনীয় সংশ্লিষ্ট কলব্যাক ফাংশনগুলো বাস্তবায়ন করুন।
ড্রাইভ হোমপেজ
ড্রাইভ অ্যাড-অন হোমপেজ প্রদর্শন সমর্থন করে। ড্রাইভে আপনার অ্যাড-অনের সাধারণ হোমপেজটি দেখাতে, নিশ্চিত করুন যে অ্যাড-অনটির ম্যানিফেস্টে একটি addOns.drive ফিল্ড রয়েছে।
বিকল্পভাবে, ড্রাইভ-এর জন্য একটি নির্দিষ্ট হোমপেজ প্রদান করতে অ্যাড-অন ম্যানিফেস্টে একটি drive.homepageTrigger যোগ করুন।
উভয় ক্ষেত্রেই, আপনার অ্যাড-অনের স্ক্রিপ্ট প্রজেক্টে একটি হোমপেজ ট্রিগার ফাংশনের নাম দিন। প্রয়োজনের সময় ড্রাইভ হোমপেজ তৈরি করার জন্য এই ফাংশনটি স্বয়ংক্রিয়ভাবে কল করা হয়। হোমপেজটি তৈরি করে এমন একটি একক Card অথবা Card অবজেক্টের একটি অ্যারে তৈরি ও রিটার্ন করার জন্য এই ফাংশনটি ইমপ্লিমেন্ট করুন। হোমপেজ ট্রিগার ফাংশনটিতে প্যারামিটার হিসেবে একটি ইভেন্ট অবজেক্ট পাস করা হয়, যাতে ক্লায়েন্টের প্ল্যাটফর্মের মতো কিছু সাধারণ তথ্য থাকে। হোমপেজটি তৈরি করতে ইভেন্ট অবজেক্টের ডেটা ব্যবহার করুন।
নির্বাচিত আইটেমগুলির জন্য প্রাসঙ্গিক ইন্টারফেস চালান।
ব্যবহারকারী যখন এক বা একাধিক ড্রাইভ আইটেম নির্বাচন করেন, তখন কোন ইন্টারফেস (যদি থাকে) প্রদর্শন করা হবে তা নির্ধারণ করতে ড্রাইভ একটি কনটেক্সচুয়াল ট্রিগারের উপর নির্ভর করে। যখন ট্রিগারটি ফায়ার হয়, তখন এটি অ্যাড-অন ম্যানিফেস্টে থাকা drive.onItemsSelectedTrigger.runFunction ফিল্ড দ্বারা নির্দিষ্ট কনটেক্সচুয়াল ট্রিগার ফাংশনটি এক্সিকিউট করে।
ড্রাইভের জন্য একটি প্রাসঙ্গিক আইটেম নির্বাচন ইন্টারফেস তৈরি করতে, আপনাকে নিম্নলিখিত কাজগুলো করতে হবে:
নিশ্চিত করুন যে অ্যাড-অনটির ম্যানিফেস্টে
https://www.googleapis.com/auth/drive.addons.metadata.readonlyস্কোপটি অন্তর্ভুক্ত আছে।নিশ্চিত করুন যে ম্যানিফেস্টে একটি
drive.onItemsSelectedTriggerসেকশন অন্তর্ভুক্ত আছে।drive.onItemsSelectedTriggerফিল্ডে উল্লেখিত ফাংশনটি ইমপ্লিমেন্ট করুন। এই ফাংশনটি আর্গুমেন্ট হিসেবে একটি ইভেন্ট অবজেক্ট গ্রহণ করে এবং অবশ্যই একটি এককCardঅবজেক্ট অথবাCardঅবজেক্টের একটি অ্যারে রিটার্ন করবে।যেকোনো কার্ডের মতোই, ইন্টারফেসে উইজেটের ইন্টারঅ্যাক্টিভিটি প্রদানের জন্য ব্যবহৃত যেকোনো কলব্যাক ফাংশন ইমপ্লিমেন্ট করুন। উদাহরণস্বরূপ, যদি আপনি ইন্টারফেসে একটি বাটন অন্তর্ভুক্ত করেন, তবে এর সাথে একটি অ্যাকশন এবং একটি ইমপ্লিমেন্টেড কলব্যাক ফাংশন থাকা উচিত, যা বাটনটি ক্লিক করা হলে রান করবে।
ইভেন্ট অবজেক্ট
যখন drive.homepageTrigger বা drive.onItemsSelectedTrigger ফাংশনগুলো কল করা হয়, তখন একটি ইভেন্ট অবজেক্ট তৈরি করে সেটিতে পাস করা হয়। ট্রিগার ফাংশনটি এই ইভেন্ট অবজেক্টের তথ্য ব্যবহার করে অ্যাড-অন কার্ড কীভাবে তৈরি করতে হবে বা অন্যভাবে অ্যাড-অনের আচরণ নিয়ন্ত্রণ করতে হবে তা নির্ধারণ করে।
ইভেন্ট অবজেক্টের সম্পূর্ণ কাঠামো " ইভেন্ট অবজেক্টস " অংশে বর্ণনা করা হয়েছে। যখন ড্রাইভ অ্যাড-অনটির সক্রিয় হোস্ট অ্যাপ হিসেবে কাজ করে, তখন প্রাসঙ্গিক ইভেন্ট অবজেক্টগুলোতে 'ড্রাইভ ইভেন্ট অবজেক্ট' ফিল্ডটি অন্তর্ভুক্ত থাকে, যা ড্রাইভ-নির্দিষ্ট ক্লায়েন্ট তথ্য বহন করে।
আইটেম সিলেকশন ট্রিগারের জন্য কনটেক্সচুয়াল ড্রাইভ ইভেন্ট অবজেক্টগুলোতে সেইসব আইটেম সম্পর্কিত তথ্য অন্তর্ভুক্ত থাকে, যা ট্রিগারটি চালু হওয়ার সময় ব্যবহারকারী নির্বাচন করেছেন। যখন কোনো ব্যবহারকারী ড্রাইভে একাধিক আইটেম নির্বাচন করেন, তখন সেগুলোর মধ্যে একটিকে প্রধান বিবেচ্য বিষয় হিসেবে গণ্য করা হয়; এই আইটেমটিকে অ্যাক্টিভ কার্সার আইটেম বলা হয়।
যদি অ্যাড-অনটির আচরণ একাধিক নির্বাচিত আইটেমের ক্ষেত্রে প্রয়োগ করার কথা থাকে, তাহলে সেগুলোকে শনাক্ত করতে ইভেন্ট অবজেক্টের drive.selectedItems অ্যারেতে দেওয়া তথ্য ব্যবহার করুন।
যখন কোনো অ্যাড-অনের আচরণ শুধুমাত্র একটি নির্বাচিত আইটেমের উপর প্রয়োগ করা প্রয়োজন, তখন সম্পূর্ণ নির্বাচন থেকে আইটেমটি শনাক্ত করতে ইভেন্ট অবজেক্টের drive.activeCursorItem ফিল্ডে প্রদত্ত তথ্য ব্যবহার করুন। drive.selectedItems অ্যারে থেকে কোন আইটেমটি ব্যবহার করতে হবে তা অনুমান করার চেষ্টা করবেন না।
নিম্নলিখিত উদাহরণটি একটি Drive ইভেন্ট অবজেক্ট দেখায় যা drive.onItemsSelectedTrigger ফাংশনে পাস করা হয়:
{
"commonEventObject": { ... },
"drive": {
"activeCursorItem":{
"addonHasFileScopePermission": true,
"id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
"iconUrl": "https://drive-thirdparty.googleusercontent.com...",
"mimeType":"application/pdf",
"title":"How to get started with Drive"
},
"selectedItems": [
{
"addonHasFileScopePermission": true,
"id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
"iconUrl":"https://drive-thirdparty.googleusercontent.com...",
"mimeType":"application/pdf",
"title":"How to get started with Drive"
},
...
]
},
...
}