שיטות מומלצות

כדי לשפר את חוויית השימוש הכוללת של המשתמשים, כדאי לפעול לפי ההנחיות הבאות לעיצוב תוספים.

שיטות מומלצות כלליות

מומלץ להשתמש בשיטות המומלצות הבאות בכל התוספים שאתם מפתחים.

קובעים את הבעלות על התוסף לפני שמתחילים

תוספים מוגדרים באמצעות פרויקטים של Apps Script, שצריכים להיות בבעלות של חשבון ספציפי או להיות ממוקמים באחסון משותף. לפני שמתחילים לכתוב את הקוד של התוסף, צריך לקבוע באיזה חשבון יהיה הבעלות על הפרויקט ובאיזה חשבון הוא יופיע כתוכן דיגיטלי. בנוסף, צריך לקבוע אילו חשבונות ישמשו כשותפים, ולוודא שלחשבונות האלה יש גישה לפרויקט הסקריפט ולפרויקט ב-Google Cloud שמשויך אליו.

הרחבה של Google Workspace, לא שכפול שלו

התוספים נועדו לספק יכולות חדשות לאפליקציות Google Workspace שהם מוסיפים אליהן, או לבצע אוטומציה של משימות מורכבות. תוספים שמשכפלים פונקציונליות שכבר קיימת באפליקציה או תוספים שלא משפרים באופן משמעותי את תהליך העבודה, לא צפויים לעבור את בדיקת התוספים לצורך פרסום.

כדאי לשמור על היקף מצומצם

כשמגדירים את ההיקפים באופן מפורש, תמיד צריך לבחור את קבוצת ההיקפים הכי מגבילה שאפשר. לדוגמה, אל תבקשו מהתוסף לבקש גישה מלאה ליומן של המשתמש ברמת ההיקף https://www.googleapis.com/auth/calendar אם הוא זקוק רק לגישה לקריאה. לגישה לקריאה בלבד, משתמשים בהיקף https://www.googleapis.com/auth/calendar.readonly.

הימנעות משימוש מוגזם בספריות

שימוש בספריות של Apps Script עלול לגרום לכך שהתוסף יפעל לאט יותר מאשר אם כל הקוד של Apps Script יהיה בפרויקט סקריפט אחד. ספריות Apps Script פועלות בתוספים, אבל אם משתמשים בהן, יכול להיות שתבחינו בירידה בביצועים. כדאי להימנע מהכללת ספריות מיותרות בפרויקט, ולחשוב על דרכים לצמצם את התלות של התוסף בהן.

זמן האחזור שמתואר למעלה רלוונטי רק לפרויקטים של Apps Script שמשמשים כספריות בצד השרת. אפשר להשתמש בספריות JavaScript בצד הלקוח כמו jQuery ללא בעיות של זמן אחזור.

שיטות מומלצות ליצירת תוספים ל-Google Workspace

השיטות המומלצות הבאות חלות רק על התוספים של Google Workspace ועל השימוש בשירות הכרטיסים.

שימוש בכמה כרטיסים בלבד

אם התוסף משתמש בכרטיסים רבים מדי, הגדרת הניווט הופכת להיות מורכבת וקשה לניהול.

נסו לא ליצור יותר קלפים מהצורך.

שימוש בפונקציות ליצירת ווידג'טים

כשכותבים קוד שיוצר Card או אובייקטים מורכבים אחרים של ממשק משתמש, מומלץ להכניס את הקוד הזה לפונקציה משלו. פונקציית היצירה הזו צריכה רק ליצור את האובייקט ולהחזיר אותו. כך תוכלו ליצור מחדש את האובייקט במהירות בכל פעם שצריך לרענן את ממשק המשתמש. חשוב לזכור לקרוא ל-build() אחרי שמשתמשים ב-builder classes ב-Card service.

כדאי לשמור על פשטות בכרטיסים

אם בכרטיס מסוים יש יותר מדי ווידג'טים, הוא עלול למלא חלק גדול מדי מהמסך ולהיות פחות שימושי. קטעי כרטיסים גדולים מוצגים כרכיבי ממשק משתמש שניתן לכווץ, אבל הם מסתירים מידע מהמשתמש. כדאי לשאוף לייעל את התוסף ולספק בדיוק את מה שהמשתמש צריך, ולא יותר.

שימוש בכרטיסי שגיאה

יצירת כרטיסים לתנאי שגיאה. אם התוסף יוצר שגיאה, אמור להופיע כרטיס עם פרטי השגיאה והוראות לתיקון שלה, אם אפשר. לדוגמה, אם התוסף לא הצליח להתחבר לשירות שאינו של Google כי ההרשאה נכשלה, אפשר להציג כרטיס עם ההודעה הזו ולבקש מהמשתמש לאמת את פרטי החשבון שבהם נעשה שימוש.

כתיבת בדיקות והודעות בדיקה

מומלץ לבדוק היטב את כל התוספים שאתם יוצרים. יוצרים פונקציות בדיקה שיוצרות כרטיסים וווידג'טים באמצעות נתוני בדיקה, ולאחר מכן מוודאים שהאובייקטים נוצרים כצפוי.

כשמשתמשים בפונקציות קריאה חוזרת (callback) של פעולות, בדרך כלל צריך ליצור אובייקט תגובה. כדי לוודא שהתשובות נוצרות בצורה נכונה, אפשר להשתמש בהצהרות כמו:

    Logger.log(response.printJson());

להריץ פונקציות בדיקה שיצרתם ישירות מהעורך של Apps Script באמצעות התפריט Run. אחרי שיצרתם תוסף תקין שפועל, חשוב להתקין את הגרסה שעדיין לא פורסמה כדי שתוכלו לבדוק אותה.

משתמשים בנתוני בדיקה שמתאימים לכל אפליקציית מארח שהתוסף מרחיב. לדוגמה, אם התוסף מרחיב את Gmail, סביר להניח שתצטרכו כמה הודעות אימייל לבדיקה ומספרי ההודעות שלהן כדי לוודא שהתוסף פועל כצפוי כשנותנים לו תוכן הודעה שונה. כדי לקבל את מזהה ההודעה של הודעה מסוימת, אפשר לרשום את ההודעות באמצעות השיטה Gmail API‏ users.messages.list או להשתמש בשירות Gmail של Apps Script.

שיטות מומלצות לשימוש ביומן לצורך ניהול פגישות

אם התוסף משלב ביומן Google אפשרויות של שיחות ועידה ביומן של צד שלישי, כדאי לפעול לפי השיטות המומלצות הבאות:

שמירה על הנורה onCreateFunction

כל onCreateFunction שמגדירים במניפסט נקרא באופן סינכרוני כשמשתמש מנסה ליצור פתרון לשיחות וידאו מהסוג הזה. חשוב לוודא שהפונקציות האלה מבצעות רק את הפעולות המינימליות הנדרשות כדי ליצור את הכינוס. שימוש מוגזם בפונקציות האלה עלול לגרום לחוויית משתמש איטית בתוסף.

שימוש בשדות ConferenceData המתאימים לנתוני כנסים

כשאתם יוצרים אובייקטים מסוג ConferenceData, אתם יכולים לאכלס אותם בפרטים על הכנס (קודי גישה, מספרי טלפון, סיכות, מזהי URI וכו'). חשוב להשתמש בשדה EntryPoint המתאים למידע הזה. אין להזין את הפרטים האלה בשדה ההערות ConferenceData.

לא להוסיף את פרטי שיחת הוועידה לאירוע ביומן

התוסף לא צריך להוסיף מידע על כנסים שנוצרו על ידי צד שלישי לתיאור האירוע ביומן. המערכת של יומן Google עושה זאת באופן אוטומטי במקרה הצורך.