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

תאריך פרסום: 19 בנובמבר 2024

בכנס Google I/O 2024 שיתפנו כמה עיצובים מוקדמים של שינויים שיחולו בקרוב בתפריט התוספים, שיעניקו למשתמשים יותר שליטה על האתרים שאליהם לתוספים תהיה גישה. בקרוב נתחיל לבדוק את השינויים האלה, ונתחיל עם אחוז קטן מהמשתמשים בגרסת Canary. אנחנו מקווים שנוכל להשיק אותם בקרוב ליותר משתמשים.

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

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

מה משתנה?

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

עיצוב בתהליך של תפריט התוספים החדש
עיצוב בתהליך של תפריט התוספים החדש

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

הוספת בקשת גישה לאתר

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

אם משתמש דחה את הגישה לדף, תוספים יכולים עכשיו לבקש גישה באמצעות ה-API החדש של permissions.addSiteAccessRequest. כשתוסף עושה זאת, המשתמש רואה את ההודעה 'אישור' לצד חתיכת הפאזל של התוסף בסרגל הכלים. זהו אחד מהעיצובים שאנחנו בודקים:

בקשת גישה לאתר example.com
בקשת גישה לאתר example.com

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

תוספים יכולים להפעיל את permissions.addSiteAccessRequest עם tabId כדי להציג בקשת הרשאה לכרטיסייה הזו. אתם יכולים להשתמש בזיהוי תכונות כדי להתחיל להשתמש בהן בצורה בטוחה בתוסף שלכם כבר היום. ה-API לא יעשה שום דבר למשתמשים בלי התפריט החדש, אבל השימוש בו יביא תועלת למשתמשים עם התפריט החדש כשהוא יושק בהדרגה.

chrome.tabs.onUpdated.addListener(async (tabId, changes) => {
  if (typeof changes.url !== 'string') return;

  const url = new URL(changes.url);

  // If we are on the /checkout page of example.com.
  if (url.origin === 'https://example.com' && url.pathname === '/checkout') {
    const hasPermission = await chrome.permissions.contains({
      origins: ['https://example.com/*']
    });

    // We already have host permissions.
    if (hasPermission) {
      return;
    }

    // Add a site access request if the API is available.
    if (chrome.permissions.addSiteAccessRequest) {
      chrome.permissions.addSiteAccessRequest({ tabId });
    }
  }
});

בדוגמה הזו, אנחנו מוסיפים בקשה רק אם המשתמש נמצא בדף /checkout. אפשר לראות את הקוד המלא במאגר chrome-extensions-samples.

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

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

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

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

רוצה לנסות?

ה-API מופעל כברירת מחדל ב-Chrome מגרסה 133.0.6838.0 ואילך (כרגע ב-Chrome Canary). כדי להפעיל את התפריט החדש, צריך להפעיל את הדגל 'בקרת גישה לתפריט התוספים' בכתובת chrome://flags.

רצינו רק להזכיר שהתכונה הזו עדיין נמצאת בתהליך פיתוח, ויכול להיות שהיא תמשיך להתפתח ולהשתנות. מומלץ לבדוק את התכונה ב-Chrome Canary כדי לראות את חוויית השימוש העדכנית ביותר.

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