דפי בית

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

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

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

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

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

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

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

הגדרת דף הבית

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

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

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

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

    {
      ...
      "addOns": {
        ...
        "common": {
          // By default, call 'buildHomePage' to render homepage content
          // in all hosts. Since calendar.homepageTrigger below overrides
          // this in Calendar and Drive and the homepageTrigger is disabled
          // for Gmail, this homepage function never executes.
          "homepageTrigger": { "runFunction": "buildHomePage" }
        },
        "calendar": {
          // Show customized homepage content for Calendar only.
          "homepageTrigger": { "runFunction": "buildCalendarHomepage" }
        },
        "drive": {
          // Show customized homepage content for Drive only.
          "homepageTrigger": { "runFunction": "buildDriveHomepage" }
        }
        "gmail": {
          // Disable homepage add-on content in Gmail.
          "homepageTrigger": { "enabled": false }
        },
        ...
      }
    }

שימו לב שזה שווה לקטע המניפסט הבא:

    {
      ...
      "addOns": {
        ...
        "common": { /* ... */ }, // Omitted a default homepageTrigger specification.
        "calendar": {
          // Show customized homepage content for Calendar only.
          "homepageTrigger": { "runFunction": "myCalendarFunction" }
        },
        "drive": {
          // Show customized homepage content for Drive only.
          "homepageTrigger": { "runFunction": "myDriveFunction" }
        }
        "gmail": { /* ... */ },
        ...
      }
    }

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

המסלול בדף הבית

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

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

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

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

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

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

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