অ্যাড-অন ডিজাইনের জন্য এই নির্দেশিকাগুলো অনুসরণ করে আপনার ব্যবহারকারীদের সার্বিক অভিজ্ঞতা উন্নত করুন।
সাধারণ সর্বোত্তম অনুশীলন
আপনার তৈরি করা সকল অ্যাড-অনের জন্য নিম্নলিখিত সর্বোত্তম পদ্ধতিগুলো ব্যবহার করতে আপনাকে উৎসাহিত করা হচ্ছে।
শুরু করার আগে অ্যাড-অনের মালিকানা নির্ধারণ করুন।
অ্যাড-অনগুলি অ্যাপস স্ক্রিপ্ট প্রজেক্ট দ্বারা সংজ্ঞায়িত করা হয়, যা অবশ্যই একটি নির্দিষ্ট অ্যাকাউন্টের মালিকানাধীন হতে হবে অথবা একটি শেয়ার্ড ড্রাইভে রাখতে হবে। একটি অ্যাড-অন কোড করার আগে, নির্ধারণ করুন কোন অ্যাকাউন্টটি প্রজেক্টটির মালিক হবে এবং কোন অ্যাকাউন্টটি এর পাবলিশার হিসেবে কাজ করবে। এছাড়াও, নির্ধারণ করুন কোন অ্যাকাউন্টগুলি সহযোগী হিসেবে কাজ করবে এবং নিশ্চিত করুন যে সেই অ্যাকাউন্টগুলির স্ক্রিপ্ট প্রজেক্ট এবং এর সাথে যুক্ত গুগল ক্লাউড প্রজেক্টে অ্যাক্সেস আছে।
গুগল ওয়ার্কস্পেস সম্প্রসারণ করুন, এর প্রতিলিপি তৈরি করবেন না।
অ্যাড-অনগুলির উদ্দেশ্য হলো, যে গুগল ওয়ার্কস্পেস অ্যাপ্লিকেশনগুলিকে তারা সম্প্রসারিত করে সেগুলিতে নতুন সক্ষমতা যোগ করা, অথবা জটিল কাজগুলিকে স্বয়ংক্রিয় করা। যে অ্যাড-অনগুলি কেবল অ্যাপ্লিকেশনের মধ্যে আগে থেকেই থাকা কার্যকারিতার পুনরাবৃত্তি করে অথবা যেগুলি কোনো কর্মপ্রবাহে উল্লেখযোগ্য উন্নতি ঘটায় না, সেগুলি প্রকাশের জন্য অ্যাড-অন পর্যালোচনায় উত্তীর্ণ হওয়ার সম্ভাবনা কম।
পরিধি সীমিত রাখুন
আপনার স্কোপগুলো স্পষ্টভাবে নির্ধারণ করার সময়, সর্বদা সম্ভাব্য সর্বনিম্ন অনুমতিযুক্ত স্কোপ সেটটি বেছে নিন। উদাহরণস্বরূপ, আপনার অ্যাড-অনটির যদি শুধুমাত্র রিড অ্যাক্সেসের প্রয়োজন হয়, তবে https://www.googleapis.com/auth/calendar স্কোপ ব্যবহার করে ব্যবহারকারীর ক্যালেন্ডারে সম্পূর্ণ অ্যাক্সেসের জন্য অনুরোধ করবেন না। শুধুমাত্র-পঠন অ্যাক্সেসের জন্য, https://www.googleapis.com/auth/calendar.readonly স্কোপটি ব্যবহার করুন।
গ্রন্থাগারের উপর অতিরিক্ত নির্ভর করা পরিহার করুন।
অ্যাপস স্ক্রিপ্ট লাইব্রেরি ব্যবহার করলে আপনার অ্যাড-অনটি আরও ধীরে চলতে পারে, যা একটিমাত্র স্ক্রিপ্ট প্রজেক্টের মধ্যে সমস্ত অ্যাপস স্ক্রিপ্ট কোড থাকলে হতো না। যদিও অ্যাপস স্ক্রিপ্ট লাইব্রেরিগুলো অ্যাড-অনে কাজ করে, এগুলো ব্যবহার করলে আপনি পারফরম্যান্সের অবনতির সম্মুখীন হতে পারেন। আপনার প্রজেক্টে অপ্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত করা থেকে বিরত থাকুন এবং সেগুলোর উপর আপনার অ্যাড-অনের নির্ভরতা কমানোর উপায়গুলো বিবেচনা করুন।
উপরে বর্ণিত লেটেন্সি শুধুমাত্র সার্ভার-সাইড লাইব্রেরি হিসেবে ব্যবহৃত অ্যাপস স্ক্রিপ্ট প্রোজেক্টের ক্ষেত্রেই প্রযোজ্য। আপনি এই লেটেন্সির সম্মুখীন না হয়েই jQuery-এর মতো ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট লাইব্রেরিগুলো অবাধে ব্যবহার করতে পারেন।
গুগল ওয়ার্কস্পেস অ্যাড-অনের সেরা অনুশীলন
নিম্নলিখিত সর্বোত্তম অনুশীলনগুলি শুধুমাত্র গুগল ওয়ার্কস্পেস অ্যাড-অন এবং কার্ড পরিষেবা ব্যবহারের ক্ষেত্রে প্রযোজ্য।
মাত্র কয়েকটি কার্ড ব্যবহার করুন
অ্যাড-অনটিতে অতিরিক্ত কার্ড ব্যবহার করা হলে নেভিগেশন কনফিগারেশনটি জটিল ও পরিচালনা করা কঠিন হয়ে পড়ে।
প্রয়োজনের চেয়ে বেশি কার্ড তৈরি করার প্রবণতা পরিহার করুন।
উইজেট তৈরির ফাংশন ব্যবহার করুন
Card বা অন্যান্য জটিল UI অবজেক্ট তৈরির কোড লেখার সময়, সেই কোডটিকে একটি নিজস্ব ফাংশনে রাখার কথা বিবেচনা করুন। এই ক্রিয়েশন ফাংশনটির কাজ হবে শুধু অবজেক্টটি তৈরি করে সেটিকে রিটার্ন করা। এর ফলে, যখনই UI রিফ্রেশ করার প্রয়োজন হবে, আপনি দ্রুত সেই অবজেক্টটি পুনরায় তৈরি করতে পারবেন। কার্ড সার্ভিসে বিল্ডার ক্লাসগুলো ব্যবহার করার পর build() কল করতে মনে রাখবেন।
কার্ডগুলো সহজ রাখুন
কোনো একটি কার্ডে অনেক বেশি উইজেট থাকলে, সেটি স্ক্রিনের অনেকটা জায়গা দখল করে নিতে পারে এবং এর উপযোগিতা কমে যেতে পারে। যদিও কার্ডের বড় অংশগুলো সংকুচিত করা যায় এমন UI এলিমেন্ট হিসেবে প্রদর্শিত হয়, কিন্তু এটি ব্যবহারকারীর কাছ থেকে তথ্য আড়াল করে দেয়। আপনার অ্যাড-অনটিকে সুবিন্যস্ত করার লক্ষ্য রাখুন এবং ব্যবহারকারীর যা প্রয়োজন ঠিক তাই প্রদান করুন, এর বেশি কিছু নয়।
ত্রুটি কার্ড ব্যবহার করুন
ত্রুটির ক্ষেত্রে কার্ড তৈরি করুন। আপনার অ্যাড-অনে কোনো ত্রুটি দেখা দিলে, ত্রুটির তথ্য এবং সম্ভব হলে তা সমাধানের নির্দেশনাসহ একটি কার্ড প্রদর্শন করা উচিত। উদাহরণস্বরূপ, অনুমোদন ব্যর্থ হওয়ার কারণে যদি আপনার অ্যাড-অন কোনো নন-গুগল পরিষেবার সাথে সংযোগ করতে না পারে, তবে এই বিষয়টি উল্লেখ করে একটি কার্ড প্রদর্শন করুন এবং ব্যবহারকারীকে ব্যবহৃত অ্যাকাউন্টের তথ্য যাচাই করতে বলুন।
টেস্ট এবং টেস্ট মেসেজ লিখুন
আপনার তৈরি করা সমস্ত অ্যাড-অন পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা উচিত। টেস্ট ডেটা ব্যবহার করে কার্ড ও উইজেট তৈরির জন্য টেস্ট ফাংশন তৈরি করুন এবং তারপর যাচাই করুন যে অবজেক্টগুলো প্রত্যাশা অনুযায়ী তৈরি হচ্ছে কিনা।
অ্যাকশন কলব্যাক ফাংশন ব্যবহার করার সময়, আপনাকে সাধারণত একটি রেসপন্স অবজেক্ট তৈরি করতে হয়। রেসপন্সগুলো সঠিকভাবে তৈরি হচ্ছে কিনা তা যাচাই করার জন্য আপনি নিম্নলিখিত স্টেটমেন্টগুলোর মতো স্টেটমেন্ট ব্যবহার করতে পারেন:
Logger.log(response.printJson());
অ্যাপস স্ক্রিপ্ট এডিটর থেকে সরাসরি রান মেনু ব্যবহার করে আপনার তৈরি করা টেস্ট ফাংশনগুলো চালান। যখন আপনার একটি কার্যকর অ্যাড-অন তৈরি হয়ে যাবে, তখন সেটির অপ্রকাশিত সংস্করণটি ইনস্টল করতে ভুলবেন না, যাতে আপনি এটি পরীক্ষা করতে পারেন।
অ্যাড-অনটি যে প্রতিটি হোস্ট অ্যাপ্লিকেশনকে এক্সটেন্ড করে, তার জন্য উপযুক্ত টেস্ট ডেটা ব্যবহার করুন। উদাহরণস্বরূপ, যদি অ্যাড-অনটি Gmail-কে এক্সটেন্ড করে, তাহলে আপনার সম্ভবত কয়েকটি টেস্ট ইমেল এবং তাদের মেসেজ আইডি প্রয়োজন হবে, যাতে আপনি নিশ্চিত করতে পারেন যে ভিন্ন মেসেজ কন্টেন্ট দেওয়া হলে অ্যাড-অনটি প্রত্যাশিতভাবে কাজ করে। আপনি Gmail API-এর users.messages.list মেথড ব্যবহার করে মেসেজগুলো তালিকাভুক্ত করে, অথবা Apps Script-এর Gmail সার্ভিস ব্যবহার করে একটি নির্দিষ্ট মেসেজের মেসেজ আইডি পেতে পারেন।
ক্যালেন্ডার কনফারেন্সিংয়ের সেরা অনুশীলন
আপনার অ্যাড-অন যদি গুগল ক্যালেন্ডারে তৃতীয় পক্ষের ক্যালেন্ডার কনফারেন্সিং বিকল্পগুলিকে একীভূত করে, তাহলে এই অতিরিক্ত সেরা অনুশীলনগুলি অনুসরণ করুন:
আপনার onCreateFunction হালকা রাখুন
আপনার ম্যানিফেস্টে সংজ্ঞায়িত প্রতিটি onCreateFunction যখন কোনো ব্যবহারকারী সেই ধরনের একটি কনফারেন্স সলিউশন তৈরি করার চেষ্টা করেন, তখন সিনক্রোনাসভাবে কল করা হয়। নিশ্চিত করুন যে এই ফাংশনগুলো কনফারেন্স তৈরি করার জন্য শুধুমাত্র ন্যূনতম প্রয়োজনীয় কাজটিই করে। এই ফাংশনগুলোতে অতিরিক্ত কাজ করলে আপনার অ্যাড-অনটি ব্যবহারকারীর জন্য ধীরগতির অভিজ্ঞতা তৈরি করতে পারে।
সম্মেলনের তথ্যের জন্য উপযুক্ত ConferenceData ফিল্ড ব্যবহার করুন।
যখন আপনি ConferenceData অবজেক্ট তৈরি করেন, তখন আপনি কনফারেন্স সম্পর্কিত বিবরণ (অ্যাক্সেস কোড, ফোন নম্বর, পিন, ইউআরআই, ইত্যাদি) দিয়ে তা পূরণ করতে পারেন। এই তথ্যের জন্য অবশ্যই সংশ্লিষ্ট EntryPoint ফিল্ডটি ব্যবহার করবেন। এই বিবরণগুলো ConferenceData notes ফিল্ডে রাখবেন না।
ক্যালেন্ডার ইভেন্টে কনফারেন্সিংয়ের বিবরণ যুক্ত করবেন না।
আপনার অ্যাড-অনকে ক্যালেন্ডার ইভেন্টের বিবরণে তৈরি করা তৃতীয় পক্ষের কনফারেন্স সম্পর্কিত তথ্য যোগ করার প্রয়োজন নেই। প্রয়োজনে ক্যালেন্ডার এটি স্বয়ংক্রিয়ভাবে করে থাকে।