עדכונים בזמן אמת בתוספים

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

  • Web Push, או Push API, הוא תקן אינטרנט שמאפשר לשלוח ולקבל הודעות בתוספי Chrome מכל ספק Push, או אפילו באמצעות שרת אינטרנט משלכם.
  • chrome.gcm הוא ממשק API שמיועד ספציפית לתוסף מדור קודם, שמאפשר לשלוח ולקבל הודעות באמצעות העברת הודעות בענן ב-Firebase.
  • WebSockets הוא פרוטוקול ברמה נמוכה שמאפשר לפתוח חיבור דו-כיווני בין התוסף ל-Chrome לשרת.

תרחישים נפוצים

הנה כמה תרחישים נפוצים בתוספים ל-Chrome שבהם התקשורת בזמן אמת חיונית:

עדכנו את המשתמשים לגבי שינויים.

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

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

לשלוח התראות למשתמשים.

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

לשליחת הודעות רק לקבוצה מצומצמת של משתמשים, Push הוא האפשרות הטובה ביותר. העברת ההודעות בענן ב-Firebase מציעה Topics (שנקראים גם ערוצים), אבל היא זמינה רק ב-HTTP Cloud Messaging API. היא שונה מהגרסה הקודמת שבה chrome.gcm משתמשת. אם רוצים לשלוח הודעות רחבות לכל המשתמשים, כולל משתמשים בגרסאות מדור קודם של Chrome (לפני Chrome 121), האפשרות האידיאלית היא chrome.gcm. chrome.gcm, שמבוסס על ממשקי ה-API הקודמים של Firebase להעברת הודעות, נתמך ב-Chrome במשך יותר מעשור.

אפשר להשתמש ב-Web Push או ב-chrome.gcm כדי לשלוח התראות למשתמשים כשמתרחש משהו חשוב לחשבון שלהם, למשל כשמגיעה הודעה חדשה או כשמשתפים קובץ.

העברת הודעות מיידיות

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

בהמשך המדריך הזה נבחן מקרוב את האפשרויות הזמינות.

התראות באמצעות Push API

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

התראות עם chrome.gcm

ה-API של chrome.gcm מספק חיבור ישיר להעברת הודעות בענן ב-Firebase (FCM), שירות לשליחת עדכונים בזמן אמת לאפליקציות אינטרנט ולאפליקציות לנייד. זהו תוסף API ספציפי ל-Chrome שנוסף הרבה שנים לפני ש-Push היה זמין בדפדפנים. הוא נוצר באמצעות ממשקי HTTP API מדור קודם של Firebase (שיצאו משימוש עכשיו). ממשקי ה-API האלה הוצאו משימוש במקומות אחרים, אבל לא הם הוצאו משימוש בתוספים. הם ימשיכו לפעול בעתיד הקרוב. עם זאת, בגלל שזו גרסת הדחיפה העורפית מהדור הקודם, חסרות בה תכונות כמו Topics.

יש דרישה חמורה שהתראות יגיעו למשתמשים ב-Chrome עם שירות לקצה העורפי של FCM, אבל לא צריך להשתמש ב-chrome.gcm כדי לשלוח הודעות. כל ספקי ה-Push יכולים לשלוח ולקבל הודעות ואירועים לחשבון Firebase באמצעות ה-Push באינטרנט. זהו עדיין Chrome Extension API עם תמיכה מלאה, אבל השיטה המומלצת היא להעדיף תקני אינטרנט כמו Push API על פני תוספים ספציפיים כמו זה. אם מומלץ להשתמש ב-chrome.gcm, מומלץ להיעזר במדריך מפורט להגדרת chrome.gcm מאפס.

הודעות בזמן אמת עם WebSockets

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

לא מעולה להתראות

WebSockets פועל בפלטפורמת האינטרנט, במקום להשתמש ב-API של פלטפורמת תוסף כמו chrome.gcm, ל-Chrome אין דרך להוציא את התוסף ממצב שינה כשחיבור Websocket מתחיל מחוץ לתוסף.

חיבורים פעילים בלבד

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