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

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

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

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

לפני שמתחילים, צריך לקבוע מי הבעלים של התוסף

התוספים מוגדרים באמצעות פרויקטים של Apps Script, שצריכים להיות בבעלות של חשבון ספציפי או להיות ממוקמים באחסון משותף. לפני שכותבים את הקוד של התוסף, צריך לקבוע איזה חשבון יהיה הבעלים של הפרויקט ואיזה חשבון ישמש כבעלים של האתר. צריך גם לקבוע אילו חשבונות ישמשו כשותפי עריכה, ולוודא שלחשבונות האלה יש גישה לפרויקט הסקריפט ולפרויקט בפלטפורמת 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 לשיחות ועידה

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

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

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

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

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

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

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