דפי בית

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

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

מגדירים דף בית לתוסף על ידי ציון שלו בקובץ המניפסט של הפרויקט והטמעה של פונקציה אחת או יותר homepageTrigger (ראו הגדרת דף הבית).

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

דף הבית של התוסף מוצג במקרים הבאים:

  • כשפותחים את התוסף בפעם הראשונה באפליקציית המארח (אחרי אישור הגישה).
  • כשהמשתמש עובר מהקשר תלוי-הקשר להקשר לא תלוי-הקשר בזמן שהתוסף פתוח. לדוגמה, מעריכת אירוע ביומן ליומן הראשי.
  • כשהמשתמש לוחץ על הכפתור "הקודם" מספיק פעמים כדי להוציא כל כרטיס שני מהערימות הפנימיות.
  • כשאינטראקציה בממשק משתמש בכרטיס לא הקשרי מובילה לקריאה של Navigation.popToRoot.

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

הגדרת דף הבית

תוספים ל-Google Workspace משתמשים בשדה addOns.common.homepageTrigger כדי להגדיר את תוכן התוסף בדף הבית שמוצג כברירת מחדל (לא תלוי הקשר) באפליקציות המארחות במניפסט של התוסף:

{
  "addOns": {
    "common": {
      "homepageTrigger": {
        "runFunction": "myFunction",
        "enabled": true
      }
    }
  }
}
  • runFunction: השם של פונקציית Google Apps Script שהמסגרת של התוספים ל-Google Workspace מפעילה כדי לעבד כרטיסי תוספים בדף הבית. הפונקציה הזו היא פונקציית ההפעלה של דף הבית. הפונקציה הזו צריכה ליצור מערך של אובייקטים מסוג Card שמרכיבים את ממשק המשתמש של דף הבית, ולהחזיר את המערך. אם מוחזרים יותר מכרטיס אחד, אפליקציית המארח מציגה את כותרות הכרטיסים ברשימה שהמשתמש יכול לבחור מתוכה (ראו החזרת כמה כרטיסים).

  • enabled: האם להפעיל כרטיסים בדף הבית בהיקף הזה. השדה הזה הוא אופציונלי, וערך ברירת המחדל שלו הוא true. הגדרה של הערך false גורמת להשבתת כרטיסי דף הבית בכל המארחים (אלא אם ההגדרה הזו בוטלה עבור מארח מסוים. אפשר לעיין בהגדרה הספציפית למארח).

כדי שמארח ישתמש בדף הבית המשותף, גם addOns.common.homepageTrigger וגם המשאב ברמה העליונה של המארח צריכים להיות במניפסט של התוסף. לדוגמה, אם addOns.gmail לא מופיע במניפסט, התוסף מושבת ב-Gmail ולא יוצג בו דף בית או פונקציות אחרות.

בנוסף להגדרות המשותפות, יש גם הגדרות override לכל מארח עם מבנה זהה, שזמינות בהגדרות של כל אפליקציית מארח בנתיבים addOns.gmail.homepageTrigger, addOns.calendar.homepageTrigger ובטריגרים אחרים שספציפיים למארח.

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

{
  ...
  "addOns": {
    ...
    "common": {
      "homepageTrigger": { "runFunction": "buildHomePage" }
    },
    "calendar": {
      "homepageTrigger": { "runFunction": "buildCalendarHomepage" }
    },
    "drive": {
      "homepageTrigger": { "runFunction": "buildDriveHomepage" }
    },
    "gmail": {
      "homepageTrigger": { "enabled": false }
    },
    ...
  }
}

קטע המניפסט הבא שווה לדוגמה הקודמת, למרות שההגדרה homepageTrigger של ברירת המחדל וההגדרה של Gmail הושמטו:

{
  "addOns": {
    "common": {},
    "calendar": {
      "homepageTrigger": { "runFunction": "myCalendarFunction" }
    },
    "drive": {
      "homepageTrigger": { "runFunction": "myDriveFunction" }
    },
    "gmail": {},
    ...
  }
}

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

תרשים שמראה את זרימת הביצוע של פונקציית ההפעלה של דף הבית של התוסף

אובייקטים של אירועים בדף הבית

כשמפעילים את פונקציית הטריגר של דף הבית (runFunction) שמתוארת למעלה, מועבר אליה אובייקט אירוע שמכיל נתונים מהקשר של הקריאה.

אובייקטים של אירועים בדף הבית לא כוללים מידע על הווידג'ט או מידע הקשרי. המידע שמועבר מוגבל לשדות הבאים של אובייקט האירוע הנפוץ:

פרטים נוספים זמינים במאמר בנושא אובייקט Event.

כרטיסים אחרים שלא קשורים להקשר

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

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