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

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

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

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

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

תוספים מוגדרים על ידי פרויקטים של 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 בשירות הכרטיסים.

לשמור על פשטות הכרטיסים

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

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

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

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

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

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

    Logger.log(response.printJson());

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

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

שיטות מומלצות לשימוש ביומן לשיחות ועידה

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

שמירה על onCreateFunction אור

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

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

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

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

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