ביולי השקנו סדרת פוסטים חדשה בבלוג כדי לעדכן אתכם על הפיתוח של התוספים. הודות למשוב החשוב שלכם ולשיתוף הפעולה המתמשך שלנו עם ספקי דפדפנים אחרים בקבוצת הקהילה WebExtensions, אנחנו ממשיכים לשפר את ממשקי ה-API של התוספים ולפעול להשגת עקביות רבה יותר בין הדפדפנים.
ברוכים הבאים למהדורת אוקטובר! בפוסט הזה נציג כמה מהשינויים שהצוות של תוסף Chrome ביצע בחודשים האחרונים, וגם כמה תכונות חדשות שיושקו בהמשך השנה. קדימה, מתחילים!
ממשקי API ותכונות חדשות לתוספים
בקטע הזה אנחנו חולקים כמה השקות משמעותיות של ממשקי API, בודקים בקצרה שיפורים אחרים בממשקי API ומשתפים גרסאות עתידיות. כל ההשקות זמינות כרגע בגרסת הבטא האחרונה. פרטים נוספים זמינים בלוח הזמנים של גרסאות Chromium.
המיטב
בעיות ידועות שהותרו
צוות התוספים פועל באופן פעיל כדי לפתור בעיות יציבות ב-Manifest V3. בגרסת Chrome 116 השקנו שיפורים רבים שעזרו לנו להתקדם בצורה משמעותית לקראת סגירת הפער בתכונות בין Manifest V2 ל-V3. בגרסה 120 של Chrome, נשלים את הטיפול בכל הפערים בפלטפורמה שנתעדפו, ונסגור את כל הבאגים הקריטיים שמתועדים בדף הבעיות המוכרות. כל התכונות זמינות כרגע ב-Chrome 120 Canary, מלבד התמיכה ב-fileHandler ל-ChromeOS Lacros ו-userScripts API שיושקו בהמשך החודש. לפרטים נוספים, אפשר לעיין בדף העדכני של הבעיות המוכרות.
יציבות משופרת של Service Worker
בעיות יציבות שקשורות לשירותי עובדים נפתרו. ב-Chrome 116 הוספנו תכונת keep-alive חזקה לממשקי API של תוספים שמציגים בקשה למשתמש ושפרנו את התמיכה ב-WebSockets (ראו המדריך שימוש ב-WebSockets בתוספים). מגרסה 118 של Chrome ואילך, עובד שירות יישאר פעיל במהלך סשן פעיל של Debugger API.
פרטים נוספים זמינים בהנחיות העדכניות שלנו בנושא Service Worker. אם המשתמשים שלכם עדיין נתקלים בבעיות יציבות שקשורות ל-service worker בגרסאות Chrome אחרי 119, נשמח לדעת.
אבטחה מוגברת
בעבר, ניווט לכתובות URL מסוימות מסוג chrome://
באמצעות tabs.update()
, tabs.create
ו-windows.create()
גרם לשגיאה או לקריסה של Chrome. בנוסף, לא ניתן היה לפתוח כתובת URL של JavaScript ב-tabs.update()
. ב-Chrome 117 הרחבנו את מספר כתובות ה-URL הנתמכות של chrome://
, וחסימת כתובות ה-URL של JavaScript חלה עכשיו גם על כל השיטות של API של התוספים.
ב-Chrome 117, משתמשים יקבלו התראות יזום בדף התוספים של Chrome אם תוסף שהם התקינו כבר לא זמין בחנות האינטרנט של Chrome. מצב כזה יכול לקרות אם המפתח מבטל את הפרסום של התוסף, אם הוא יוסר בגלל הפרות מדיניות או אם הוא יזוהה כתוכנה זדונית. לסקירה מפורטת, אפשר לעיין במאמר הוספת בדיקת האבטחה לדף chrome://extensions.
ב-Chrome 118, תוספים לא יוכלו לנווט לכתובות URL מסוג file://
באמצעות ממשקי ה-API chrome.tabs
ו-chrome.windows
, אלא אם האפשרות 'התרת גישה לכתובות URL של קבצים' מופעלת בדף הפרטים של התוסף. הדיון ב-WECG
השקות נוספות של ממשקי API
- Runtime API: החל מגרסה Chrome 116, אפשר להשתמש ב-
runtime.getContexts()
כדי לאחזר מידע על הקשרים פעילים. לדוגמה, אפשר לבדוק אם יש מסמך פעיל מחוץ למסך. - Side Panel API ב-Chrome 116 אפשר להשתמש ב-
sidepanel.open()
כדי לפתוח את החלונית הצדדית של התוסף באופן פרוגרמטי בתגובה לתנועה של המשתמש, כמו לחיצה על תפריט ההקשר. - TabCapture API נוספה היכולת לקרוא ל-
getMediaStreamId()
מ-service worker של התוסף ולקבל אובייקטMediaStream
ממזהה של שידור במסמך מחוץ למסך ב-Chrome 116. דוגמאות מפורטות זמינות במאמר הקלטת אודיו וצילום מסך. - DeclarativeNetRequest API: ערך ברירת המחדל של המאפיין
isUrlFilterCaseSensitive
השתנה ל-false
ב-Chrome 118.
בקרוב...
אנחנו מתכננים לטפל בכל הפריטים הנותרים בדף הבעיות המוכרות עם השקת Chrome 120. בנוסף, אנחנו מתכננים להוסיף את התכונות הבאות:
- UserScripts API יאפשר למנהלי סקריפטים של משתמשים לתאם את האופן והמועד להחדרת אוסף של סקריפטים של משתמשים לדפי אינטרנט. פרטים נוספים זמינים בהצעה של WECG.
- ReadingList API יאפשר למפתחים ליצור, לקרוא, לעדכן ולמחוק מטא-נתונים שנמצאים בחלונית 'רשימת קריאה' בחלונית הצדדית. ההכרזה מופיעה בסרטון מה חדש בתוספים של Chrome.
- בעקבות משוב שקיבלנו בקבוצת הקהילה של תוספי האינטרנט, אנחנו מגדילים באופן משמעותי את המגבלה על כללי סטטיקה מופעלים מ-10 ל-50. בנוסף, הגדלנו את המספר הכולל של כללי המדיניות הסטטיים שמותר להשתמש בהם מ-50 ל-100. התכונה הזו זמינה כרגע ב-Canary.
- File Handling API: יהיה זמין לתוספים ל-ChromeOS החל מגרסה 120 של ChromeOS. ה-API הזה מאפשר לתוספים לפתוח קבצים עם סוגי MIME ספציפיים וסיומות קבצים ספציפיות, באופן דומה לטיפול בקבצים בפלטפורמת אינטרנט.
- כדי שתוספים יוכלו להשתמש ב-Push API לאינטרנט דרך
self.registration.pushManager.subscribe()
בלי להציג התראה גלויה למשתמש, צריך להגדיר אתuserVisibleOnly
לערךfalse
. כך התראות דחיפה יהיו אלטרנטיבה חלקה יותר ל-WebSockets בקובצי שירות (MV3) לתקשורת אסינכררונית בין שרת ללקוח. פרטים נוספים זמינים בבאג ב-Chromium ובדיון ב-WECG.
כדאי לעקוב אחרי העדכונים בדף מה חדש בתוספים כדי לקבל הודעות ברגע שהתכונות האלה יהיו זמינות ב-Chrome Beta.
שדרוגי מסמכי תיעוד
בנוסף, שיפרנו את המסמכים שלנו והוספנו להם תוכן. אפשר להמשיך לשאול שאלות בקבוצה chromium-group ולדווח על בעיות במסמכים.
המיטב
- שיפרנו את דף הנחיתה של הדוגמאות. עכשיו אפשר לסנן לפי ממשק API, הרשאה וסוג, כדי שיהיה קל יותר לאתר דוגמאות ספציפיות. השיפור הזה נולד בשיתוף פעולה עם Xuezhou Dai, סטודנט בתוכנית Summer of Code. בפוסט הזה בבלוג תוכלו לקרוא על החוויה שלו.
- במאמר שימוש בחשבון Google Analytics בחנות האינטרנט של Chrome מוסבר איך להציג את Google Analytics 4 בדף המוצר שלכם בחנות האינטרנט של Chrome, כתוספת לנתונים שמוצגים במרכז השליטה למפתחים. במדריך הזה מוסבר איך להביע הסכמה לשימוש ב-Google Analytics, לעקוב אחרי ביצועי המודעות, לעקוב אחרי המרות ולהעניק לחשבונות אחרים גישה לנתונים ב-Google Analytics.
- פרסמנו מדריך חדש בנושא אופן הפעולה של קובצי Cookie וממשקי API לאחסון באינטרנט בתוספים ל-Chrome. המאמר כולל את כל מה שצריך לדעת על ארגז החול לפרטיות כמפתחי תוספים.
- השקנו מאמרים חדשים בנושא שילוב בדיקות בפרויקטים של התוספים: בדיקת יחידה של תוספי Chrome ובדיקה מקצה לקצה של תוספי, שמכילים הנחיות כלליות ושיטות מומלצות במספר מסגרות פופולריות. במדריך המעשי בדיקת תוספי Chrome באמצעות Puppeteer מוסבר איך עושים את זה.
עדכונים נוספים
- כתבנו מחדש את ההנחיות ל-Declarative Net Request API כדי להציג תמונה ברורה יותר של אופן ההטמעה של כללי רגולציה דמוקרטיים.
- הוספנו הנחיות נוספות להעברת קוד באירוח מרוחק ל-Manifest V3. בנוסף, כדי למזער את הסיכון לבעיות במהלך ההשקה, אנחנו מציעים אסטרטגיות לפרסום התוסף של Manifest V3 בשלבים.
- כך מתחברים ל-WebSocket ב-service worker של התוסף
- הרחבנו את המדריך לקבלת עזרה והוספנו הוראות מפורטות יותר לגבי שליחת דיווח על באג, מעקב אחרי בעיות קיימות, בקשה להוספת תכונות חדשות ועוד.
בקרוב...
- הפנייה ומדריך ל-User Scripts API.
- מדריך ודוגמאות ל-Firebase.
- הפניית API של ReadingList.
עיצוב מחדש של חנות האינטרנט של Chrome 🌈
מוקדם יותר החודש הודענו על תצוגה מקדימה מוקדמת של חנות האינטרנט המשודרגת של Chrome, כפי שרמזנו ב-Google I/O. כדאי לבדוק בעצמך: https://chromewebstore.google.com/. כמה שינויים בולטים:
- הרחבנו את רשימת הקטגוריות מ-11 ל-17 ב-3 קבוצות קטגוריות חדשות.
- השלמה אוטומטית משופרת בחיפוש.
- צילומי המסך מוצגים עכשיו באיכות גבוהה יותר באופן משמעותי. אם עדיין לא עשיתם זאת, תוכלו להעלות צילומי מסך בגודל 1280x800.
- עכשיו מופיעות שורות חדשות בתשובות לשאלות בכרטיסיית התמיכה.
- כשתענו לביקורות של משתמשים ולשאלות תמיכה, התשובה שלכם תכלול עכשיו תג 'מפתח' לצד השם שלכם.
- כדי לספק למשתמשים קישור ישיר לדף הביקורות, מוסיפים את הטקסט /reviews בסוף כתובת ה-URL של פריט החנות. לדוגמה:
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
.
תודה לכל מי ששלח משוב עד עכשיו בקבוצת chromium-google. אתם מוזמנים להצטרף לדיון או לשלוח משוב ישירות לצוות CWS באמצעות האפשרות שליחת משוב בתפריט:
בנוסף, אתם יכולים לשלוח טופס הצעה עצמית כדי להופיע באוסף 'בחירת העורכים'. בקרוב נוסיף שיפורים גם למרכז השליטה למפתחים.
💡 הידעתם?
- יש סרטון חדש בנושא ניפוי באגים בתוספים ל-Chrome. במדריך הזה מוסבר על נושאים רבים שאולי כבר מוכרים לכם, אבל הוא כולל גם כמה טריקים שימושיים לשימוש בכלי הפיתוח בתוספים.
- מעכשיו עליכם לספק מדיניות פרטיות לכל תוסף. בעבר, אפשר היה להוסיף רק מדיניות פרטיות אחת לכל חשבון מפתח, אבל זה היה לא נוח אם היו כמה תוספים בחשבון מפתח אחד. הממשק החדש הזה זמין בכרטיסייה 'פרטיות' של הפריט במרכז הבקרה למפתחים. המשמעות היא שאין יותר תמיכה במדיניות פרטיות ברמת החשבון.
יצירת קשר 🙌
המשכנו לפנות לקהילת מפתחי התוספים באמצעות שיחות אישיות, השקנו תוכניות חדשות והשתתפנו בכנסים. ריכזנו כאן כמה מהשינויים הבולטים:
- תוכנית מומחי הפיצ'רים של Google הושקה באוגוסט. יש לנו יותר מתריסר מומחים חדשים ב-GDE שמתמקדים בתוספים ל-Chrome מרחבי העולם, והם מספקים לנו משוב מצוין. זו תקופה מרגשת מאוד בתוכנית!
- השתתפנו ב-TPAC (הכנס השנתי של W3C) כחלק מקבוצת הקהילה של תוספי האינטרנט, ונפגשנו עם נציגים מ-Firefox ומ-Safari ועם כמה חברים בקהילה. עשינו התקדמות משמעותית בכמה נושאים, כולל מעבר לממשקי API עקביים יותר של תוספים, עבודה על מפרט ושימוש בבדיקות של פלטפורמת האינטרנט כדי ליצור חבילת בדיקות חדשה. פרוטוקול הפגישה המלא זמין במאגר של WECG.
- בשבוע שעבר, צוות התוסף השתתף באירוע Ad-Filtering Dev Summit באמסטרדם. הם פגשו כמה מכם בצ'אט קפה שהם ערכו לפני שבוע הפסגה ושעות המשרד הפתוחות ביום שישי.
גם אם לא הצלחתם להשתתף באחד מהאירועים האלה, אתם יכולים להמשיך להיות מעורבים על ידי שליחת שאלות בקבוצת Google chromium-extensions, מעקב אחרי הדיונים של שותפי הדפדפנים ב-WECG ודיווח על בעיות במסמכים.
שוב תודה שהצטרפת לקהילת מפתחי התוספים!