সর্বোত্তম অনুশীলন

অ্যাড-অন ডিজাইনের জন্য এই নির্দেশিকাগুলি অনুসরণ করে আপনার ব্যবহারকারীদের সামগ্রিক অভিজ্ঞতা উন্নত করুন।

সাধারণ সর্বোত্তম অনুশীলন

আপনার তৈরি সমস্ত অ্যাড-অনের জন্য নিম্নলিখিত সেরা অনুশীলনগুলি ব্যবহার করার জন্য আপনাকে উৎসাহিত করা হচ্ছে।

শুরু করার আগে অ্যাড-অনের মালিকানা নির্ধারণ করুন

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

Google Workspace প্রসারিত করুন, এটির পুনরাবৃত্তি করবেন না

অ্যাড-অনগুলি তাদের প্রসারিত Google Workspace অ্যাপ্লিকেশনগুলিতে নতুন ক্ষমতা প্রদানের জন্য তৈরি করা হয়, অথবা জটিল কাজগুলিকে স্বয়ংক্রিয় করে তোলে। যেসব অ্যাড-অন কেবলমাত্র অ্যাপ্লিকেশনের মধ্যে ইতিমধ্যেই থাকা কার্যকারিতার প্রতিলিপি তৈরি করে অথবা যেগুলি কোনও ওয়ার্কফ্লোতে উল্লেখযোগ্য উন্নতি করে না, সেগুলি প্রকাশনার জন্য অ্যাড-অন পর্যালোচনায় উত্তীর্ণ হওয়ার সম্ভাবনা কম।

পরিধি সংকীর্ণ রাখুন

আপনার স্কোপগুলিকে স্পষ্টভাবে সংজ্ঞায়িত করার সময়, সর্বদা সম্ভাব্য সর্বনিম্ন-অনুমোদনযোগ্য স্কোপগুলির সেটটি বেছে নিন। উদাহরণস্বরূপ, আপনার অ্যাড-অন অনুরোধটি https://www.googleapis.com/auth/calendar স্কোপের সাথে ব্যবহারকারীর ক্যালেন্ডারে সম্পূর্ণ অ্যাক্সেস রাখবেন না যদি এটির কেবল পঠন অ্যাক্সেসের প্রয়োজন হয়। কেবল পঠন অ্যাক্সেসের জন্য, https://www.googleapis.com/auth/calendar.readonly স্কোপটি ব্যবহার করুন।

লাইব্রেরির উপর খুব বেশি নির্ভর করা এড়িয়ে চলুন

অ্যাপস স্ক্রিপ্ট লাইব্রেরি ব্যবহার করলে আপনার অ্যাড-অনটি যদি সমস্ত অ্যাপস স্ক্রিপ্ট কোড একটি একক স্ক্রিপ্ট প্রকল্পের মধ্যে থাকে, তার চেয়ে বেশি ধীর গতিতে চলতে পারে। যদিও অ্যাপস স্ক্রিপ্ট লাইব্রেরিগুলি অ্যাড-অনগুলিতে কাজ করে, তবে আপনি যদি সেগুলি ব্যবহার করেন তবে আপনার কর্মক্ষমতা হ্রাস পেতে পারে। আপনার প্রকল্পে অপ্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত করা এড়িয়ে চলুন এবং আপনার অ্যাড-অনের উপর নির্ভরতা কমানোর উপায়গুলি বিবেচনা করুন।

উপরে বর্ণিত ল্যাটেন্সি শুধুমাত্র সার্ভার-সাইড লাইব্রেরি হিসেবে ব্যবহৃত অ্যাপস স্ক্রিপ্ট প্রকল্পের ক্ষেত্রে প্রযোজ্য। আপনি এই ল্যাটেন্সির সম্মুখীন না হয়েই jQuery এর মতো ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট লাইব্রেরি অবাধে ব্যবহার করতে পারেন।

Google Workspace অ্যাড-অন এর সেরা পদ্ধতি

নিম্নলিখিত সেরা অনুশীলনগুলি শুধুমাত্র Google Workspace অ্যাড-অন এবং কার্ড পরিষেবা ব্যবহারের ক্ষেত্রে প্রযোজ্য।

মাত্র কয়েকটি কার্ড ব্যবহার করুন

যদি অ্যাড-অনটি অনেক বেশি কার্ড ব্যবহার করে তবে নেভিগেশন কনফিগারেশন জটিল এবং পরিচালনা করা কঠিন হয়ে পড়ে।

প্রয়োজনের চেয়ে বেশি কার্ড তৈরি করার প্রবণতা এড়িয়ে চলুন।

উইজেট তৈরির ফাংশন ব্যবহার করুন

যখন কোনও Card বা অন্যান্য জটিল UI অবজেক্ট তৈরি করে এমন কোড লেখা হয়, তখন সেই কোডটিকে তার নিজস্ব ফাংশনে রাখার কথা বিবেচনা করুন। এই ক্রিয়েশন ফাংশনটি কেবল অবজেক্টটি তৈরি করবে এবং এটি ফিরিয়ে দেবে। এটি আপনাকে যখনই UI রিফ্রেশ করতে হবে তখনই দ্রুত সেই অবজেক্টটি পুনরায় তৈরি করতে দেয়। Card পরিষেবাতে বিল্ডার ক্লাস ব্যবহার করার পরে build() কল করতে ভুলবেন না।

কার্ডগুলি সহজ রাখুন

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

ত্রুটি কার্ড ব্যবহার করুন

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

পরীক্ষা এবং পরীক্ষার বার্তা লিখুন

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

অ্যাকশন কলব্যাক ফাংশন ব্যবহার করার সময়, আপনাকে সাধারণত একটি রেসপন্স অবজেক্ট তৈরি করতে হবে। রেসপন্সগুলি সঠিকভাবে তৈরি হচ্ছে কিনা তা যাচাই করতে আপনি নিম্নলিখিত বিবৃতিগুলি ব্যবহার করতে পারেন:

    Logger.log(response.printJson());

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

অ্যাড-অন যে হোস্ট অ্যাপ্লিকেশনটি প্রসারিত করে তার জন্য উপযুক্ত টেস্ট ডেটা ব্যবহার করুন। উদাহরণস্বরূপ, যদি অ্যাড-অনটি Gmail প্রসারিত করে তবে আপনার কয়েকটি টেস্ট ইমেল এবং তাদের মেসেজ আইডির প্রয়োজন হতে পারে যাতে আপনি নিশ্চিত করতে পারেন যে বিভিন্ন মেসেজ কন্টেন্ট দেওয়া হলে অ্যাড-অনটি প্রত্যাশা অনুযায়ী কাজ করে। আপনি Gmail API users.messages.list পদ্ধতি ব্যবহার করে বার্তা তালিকাভুক্ত করে অথবা Apps Script এর Gmail পরিষেবা ব্যবহার করে একটি প্রদত্ত মেসেজের জন্য মেসেজ আইডি পেতে পারেন।

ক্যালেন্ডার কনফারেন্সিং এর সেরা পদ্ধতি

যদি আপনার অ্যাড-অনটি Google ক্যালেন্ডারে তৃতীয় পক্ষের ক্যালেন্ডার কনফারেন্সিং বিকল্পগুলিকে একীভূত করে, তাহলে এই অতিরিক্ত সেরা অনুশীলনগুলি অনুসরণ করুন:

আপনার onCreateFunction হালকা রাখুন

আপনার ম্যানিফেস্টে সংজ্ঞায়িত প্রতিটি onCreateFunction যখন কোনও ব্যবহারকারী সেই ধরণের একটি কনফারেন্স সমাধান তৈরি করার চেষ্টা করেন তখন সিঙ্ক্রোনাসলি ডাকা হয়। নিশ্চিত করুন যে এই ফাংশনগুলি কনফারেন্স তৈরির জন্য কেবলমাত্র ন্যূনতম প্রয়োজনীয় কাজ করে। এই ফাংশনগুলিতে অতিরিক্ত কাজ করলে আপনার অ্যাড-অনের জন্য ধীর ব্যবহারকারীর অভিজ্ঞতা হতে পারে।

কনফারেন্স ডেটার জন্য উপযুক্ত ConferenceData ক্ষেত্র ব্যবহার করুন

যখন আপনি ConferenceData অবজেক্ট তৈরি করেন, তখন আপনি কনফারেন্স সম্পর্কে বিস্তারিত তথ্য (অ্যাক্সেস কোড, ফোন নম্বর, পিন, URI ইত্যাদি) দিয়ে সেগুলো পূরণ করতে পারেন। এই তথ্যের জন্য সংশ্লিষ্ট EntryPoint ফিল্ডটি ব্যবহার করতে ভুলবেন না। ConferenceData নোটস ফিল্ডে এই বিবরণগুলি রাখবেন না।

ক্যালেন্ডার ইভেন্টে কনফারেন্সিং বিবরণ যোগ করবেন না

আপনার অ্যাড-অনকে ক্যালেন্ডার ইভেন্টের বিবরণে তৈরি তৃতীয় পক্ষের কনফারেন্স সম্পর্কে তথ্য যোগ করার প্রয়োজন নেই। প্রয়োজনে ক্যালেন্ডার স্বয়ংক্রিয়ভাবে এটি করে।