با دنبال کردن این راهنماها برای طراحی افزونه، تجربه کلی کاربران خود را بهبود بخشید.
بهترین شیوه های عمومی
تشویق میشوید بهترین روشهای زیر را برای همه افزونههایی که ایجاد میکنید دنبال کنید.
قبل از شروع، مالکیت افزونه را تعیین کنید
افزونهها توسط پروژههای Apps Script تعریف میشوند، که باید متعلق به یک حساب خاص باشند یا در یک درایو مشترک قرار داده شوند. قبل از کدنویسی یک افزونه، مشخص کنید که چه حسابی باید مالک پروژه باشد و چه حسابی به عنوان ناشر آن عمل می کند. همچنین تعیین کنید که چه حساب هایی باید به عنوان همکار عمل کنند و مطمئن شوید که آن حساب ها به پروژه اسکریپت و پروژه پلتفرم Cloud مرتبط با آن دسترسی دارند.
Google Workspace را گسترش دهید، آن را تکرار نکنید
افزودنیها برای ارائه قابلیتهای جدید به برنامههای Google Workspace که گسترش میدهند، یا خودکارسازی کارهای پیچیده هستند. افزونههایی که صرفاً عملکردهای موجود در برنامه را تکرار میکنند یا آنهایی که پیشرفتهای قابل توجهی را در یک گردش کار ایجاد نمیکنند، احتمالاً برای انتشار مورد بررسی قرار نمیگیرند.
محدوده ها را محدود نگه دارید
هنگامی که محدوده های خود را به طور صریح تعریف می کنید ، همیشه مجموعه ای از محدوده های ممکن با حداقل مجاز را انتخاب کنید. به عنوان مثال، اگر افزونه فقط به دسترسی خواندن نیاز دارد، از طریق https://www.googleapis.com/auth/calendar
به تقویم کاربر دسترسی کامل به تقویم کاربر نداشته باشید. برای دسترسی فقط خواندنی، از https://www.googleapis.com/auth/calendar.readonly
scope استفاده کنید.
از اتکای بیش از حد به کتابخانه ها خودداری کنید
استفاده از کتابخانههای Apps Script میتواند باعث کند برنامه افزودنی شما نسبت به زمانی که همه کد Apps Script در یک پروژه اسکریپت قرار میگرفت، کندتر اجرا شود . اگرچه کتابخانههای Apps Script در افزونهها کار میکنند، در صورت استفاده از آنها ممکن است با کاهش عملکرد مواجه شوید. از گنجاندن کتابخانه های غیر ضروری در پروژه خود اجتناب کنید و راه هایی را برای کاهش اتکای افزونه خود به آنها در نظر بگیرید.
تأخیر توضیح داده شده در بالا فقط برای پروژه های Apps Script که به عنوان کتابخانه های سمت سرور استفاده می شوند، اعمال می شود. شما می توانید از کتابخانه های جاوا اسکریپت سمت کلاینت مانند jQuery آزادانه و بدون مواجهه با این تاخیر استفاده کنید.
بهترین شیوه های افزونه Google Workspace
بهترین روشهای زیر فقط برای افزونههای Google Workspace و استفاده از سرویس کارت اعمال میشود.
فقط از چند کارت استفاده کنید
اگر افزونه از کارت های زیادی استفاده کند، پیکربندی پیمایش پیچیده و مدیریت آن دشوار می شود.
از انگیزه ایجاد کارت های بیشتر از حد لازم اجتناب کنید.
از توابع ایجاد ویجت استفاده کنید
هنگام نوشتن کدی که Card
یا سایر اشیاء رابط کاربری پیچیده را ایجاد می کند، در نظر داشته باشید که آن کد را در عملکرد خودش قرار دهید. این تابع ایجاد فقط باید شی را بسازد و آن را برگرداند. این به شما امکان می دهد هر زمان که UI باید به روز شود، آن شی را به سرعت بازسازی کنید. به یاد داشته باشید که build()
پس از استفاده از کلاس های سازنده در سرویس Card فراخوانی کنید.
کارت ها را ساده نگه دارید
اگر یک کارت داده شده دارای ویجت های بیش از حد باشد، می تواند بیش از حد صفحه را پر کند و کمتر کاربردی شود. در حالی که بخشهای کارت بزرگ بهعنوان عناصر رابط کاربری جمعشونده ارائه میشوند، این اطلاعات را از کاربر پنهان میکند. سعی کنید افزونه خود را ساده کنید و دقیقا همان چیزی را که کاربر نیاز دارد و نه بیشتر ارائه دهید.
از کارت های خطا استفاده کنید
کارت هایی برای شرایط خطا ایجاد کنید. اگر افزونه شما خطایی ایجاد کند، باید کارتی را با اطلاعات خطا و دستورالعملهای نحوه تصحیح آن در صورت امکان نمایش دهد. به عنوان مثال، اگر افزونه شما نتوانست به خدمات غیر Google متصل شود زیرا مجوز انجام نشد، کارتی را نشان دهید که این مورد را نشان می دهد و از کاربر بخواهید اطلاعات حساب مورد استفاده را تأیید کند.
تست ها و پیام های آزمایشی بنویسید
شما باید تمام افزونه هایی را که ایجاد می کنید به طور کامل آزمایش کنید. توابع آزمایشی بسازید که با استفاده از دادههای آزمایشی، کارتها و ویجتها را ایجاد میکنند و سپس بررسی میکنند که اشیاء مطابق انتظار ایجاد شدهاند.
هنگام استفاده از توابع پاسخ به تماس ، معمولاً باید یک شی پاسخ بسازید. می توانید از عباراتی مانند زیر استفاده کنید تا بررسی کنید که پاسخ ها به درستی ساخته شده اند:
Logger.log(response.printJson());
توابع آزمایشی را که مستقیماً از ویرایشگر Apps Script با استفاده از منوی Run ایجاد میکنید، اجرا کنید. هنگامی که یک افزونه قابل اجرا دارید، حتما نسخه منتشر نشده را نصب کنید تا بتوانید آن را آزمایش کنید.
از داده های آزمایشی مناسب برای هر برنامه میزبانی که افزونه گسترش می دهد استفاده کنید. به عنوان مثال، اگر افزونه Gmail را گسترش دهد، احتمالاً به چند ایمیل آزمایشی و شناسه پیام آنها نیاز خواهید داشت تا بتوانید اطمینان حاصل کنید که وقتی محتوای پیام متفاوتی به آن داده میشود، برافزا مطابق انتظار عمل میکند. میتوانید با فهرست کردن پیامها با استفاده از روش Gmail API Users.messages.list ، یا با استفاده از سرویس Gmail Apps Script، شناسه پیام را برای یک پیام معین دریافت کنید.
بهترین شیوه های کنفرانس تقویم
اگر افزونه شما گزینههای کنفرانس تقویم شخص ثالث را در Google Calendar ادغام میکند، این بهترین روشهای اضافی را دنبال کنید:
onCreateFunction
خود را روشن نگه دارید
هر onCreateFunction
که در مانیفست خود تعریف می کنید، زمانی که کاربر سعی می کند یک راه حل کنفرانسی از آن نوع ایجاد کند، به طور همزمان فراخوانی می شود. مطمئن شوید که این توابع فقط حداقل کار لازم را برای ایجاد کنفرانس انجام می دهند. انجام بیش از حد در این عملکردها می تواند باعث کندی تجربه کاربری برای افزونه شما شود.
از فیلدهای ConferenceData
مناسب برای داده های کنفرانس استفاده کنید
هنگامی که اشیاء ConferenceData
می سازید، می توانید آنها را با جزئیات مربوط به کنفرانس (کدهای دسترسی، شماره تلفن، پین ها، URI ها و غیره) پر کنید. حتماً از فیلد EntryPoint
مربوطه برای این اطلاعات استفاده کنید. این جزئیات را در قسمت یادداشت های ConferenceData
قرار ندهید.
جزئیات کنفرانس را به رویداد Google Calendar اضافه نکنید
افزونه شما نیازی به افزودن اطلاعات مربوط به کنفرانس های شخص ثالث ایجاد شده به شرح رویداد تقویم Google ندارد. Google Calendar در صورت لزوم این کار را به طور خودکار انجام می دهد.