דפי בית

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

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

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

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

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

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

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

הגדרת דף הבית

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

    {
      // ...
      "addOns": {
        // ...
        "common": {
          // ...
          "homepageTrigger": {
            "runFunction": "myFunction",
            "enabled": true
          }
        }
      }
    }
  • runFunction: השם של הפונקציה ב-Apps Script, ש-framework של התוספים ב-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) שתוארה למעלה מועבר אובייקט אירוע שמכיל נתונים מהקשר ההפעלה.

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

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

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

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

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