עדכונים בזמן אמת מספקים נתיב תקשורת מיידי מהשרתים שלכם ישירות להתקנות של התוסף. אתם יכולים לשלוח ולקבל נתונים בזמן שהאירועים מתרחשים. בין אם משתמשים בו להעברת הודעות מיידיות, להפעלת משימות ברקע או לסנכרון נתונים במכשיר, מדובר בפעולה קריטית במספר שירותים מודרניים. יש כמה אפשרויות לתקשורת בזמן אמת בתוספים ל-Chrome.
- Web Push, או Push API, הוא תקן אינטרנט שמאפשר לשלוח ולקבל הודעות בתוסף ל-Chrome מכל ספק Push, או אפילו משרת האינטרנט שלכם.
- chrome.gcm הוא API ספציפי לתוסף מדור קודם שמאפשר לשלוח ולקבל הודעות באמצעות העברת הודעות בענן ב-Firebase.
- WebSockets הוא פרוטוקול ברמה נמוכה שמאפשר לכם לפתוח חיבור דו-כיווני בין התוסף ל-Chrome לבין השרת.
תרחישים נפוצים
הנה כמה תרחישים נפוצים בתוספים ל-Chrome שבהם תקשורת בזמן אמת היא קריטית:
חשוב לעדכן את המשתמשים לגבי השינויים.
אם אתם מסנכרנים קבצים, הגדרות או מידע אחר בין כמה משתמשים, השירות 'דחיפת הודעות מדפי אינטרנט' הוא הדרך המושלמת לשלוח עדכונים שקטים לתוסף כדי ליידע אותו לעדכן את המצב מהשרת.
האם אתם מאפשרים למשתמשים לדווח על באגים או בעיות? אתם יכולים לבצע שילוב עם ספק של הודעות פוש כדי לעדכן אותו ברגע שיש לכם עדכון לשתף, ישירות בתוסף.
שליחת התראות למשתמשים.
אפשר לשלוח התראות בצד הלקוח בלבד, אבל אם יש לכם לוגיקה בצד השרת לגבי מי, מה, איפה או מתי לשלוח התראה, אז Web Push היא האפשרות הכי מתאימה לטווח הארוך.
אם רוצים לשלוח הודעות רק לקבוצת משנה של משתמשים, עדיף להשתמש ב-Push.
שירות העברת ההודעות בענן ב-Firebase מציע נושאים (שנקראים גם ערוצים), אבל הם זמינים רק ב-HTTP Cloud Messaging API. הגרסה הזו שונה מגרסת דור קודם שבה נעשה שימוש ב-chrome.gcm. אם רוצים לשלוח הודעות רחבות לכל המשתמשים, כולל אלה שמשתמשים בגרסאות מדור קודם של Chrome (לפני Chrome 121), אז chrome.gcm היא האפשרות האידיאלית. chrome.gcm, שמבוסס על ממשקי ה-API של Legacy Firebase Messaging, נתמך ב-Chrome כבר יותר מעשור.
אתם יכולים להשתמש ב-Web Push או ב-chrome.gcm כדי לשלוח התראות למשתמשים כשקורה משהו חשוב בחשבון שלהם, למשל כשמתקבלת הודעה חדשה או כשמשתפים קובץ.
העברת הודעות מיידיות
צריכים תקשורת דו-כיוונית בתדירות גבוהה? אז יכול להיות ש-WebSocket היא האפשרות הכי טובה בשבילכם. היא פותחת חיבור דו-כיווני בין התוסף לבין השרת (או אפילו ישירות למשתמשים אחרים). הוא מאפשר להחליף נתונים והודעות בזמן אמת. הם אמנם מהווים אפשרות מצוינת לשימוש באינטרנט באופן כללי, אבל יש להם כמה מגבלות כשמשתמשים בתוספים, וכדאי לזכור את זה אם אתם מתכננים להשתמש בהם.
בהמשך המדריך נסביר על האפשרויות הזמינות.
התראות באמצעות Push API
באמצעות Push API, אפשר להשתמש בכל ספק של הודעות Push כדי לשלוח התראות והעברת הודעות. ההתראה מ-Push API תעובד על ידי ה-service worker ברגע שהיא תתקבל. אם התוסף הושעה, הודעת Push תפעיל אותו מחדש. התהליך לשימוש בו בתוספים זהה בדיוק לשימוש בו באינטרנט הפתוח.
התראות בדחיפה עם chrome.gcm
API chrome.gcm מספק חיבור ישיר ל-Firebase Cloud Messaging (FCM), שירות לשליחת עדכונים בזמן אמת לאפליקציות אינטרנט ולאפליקציות לנייד. זהו API של תוסף ספציפי ל-Chrome שנוסף לפני שנים רבות, לפני ש-Push היה זמין בדפדפנים. היא נבנתה באמצעות ממשקי HTTP מדור קודם של Firebase (שכבר לא נתמכים). ה-API האלה הוצאו משימוש במקומות אחרים, אבל לא בתוספים. הן ימשיכו לפעול בעתיד הנראה לעין. עם זאת, מכיוון שמדובר בשרת קצה (backend) מדור קודם לשליחת הודעות Push, חסרות בו תכונות כמו נושאים.
שירות קצה עורפי של FCM הוא דרישה הכרחית כדי שההתראות יגיעו למשתמשים ב-Chrome, אבל לא צריך להשתמש ב-chrome.gcm כדי לשלוח הודעות.
כל ספקי ה-Push יכולים לשלוח ולקבל הודעות ואירועים לחשבון Firebase באמצעות Push באינטרנט. מדובר בממשק API של תוסף Chrome שעדיין נתמך באופן מלא, אבל מומלץ להשתמש בתקני אינטרנט כמו Push API במקום בממשקי API ספציפיים לתוספים כמו זה. אם התרחיש לדוגמה שלכם מתאים לשימוש ב-chrome.gcm, יש מדריך מפורט להגדרה של chrome.gcm מאפס.
הודעות בזמן אמת באמצעות WebSockets
WebSockets הם אבן דרך בהעברת הודעות בזמן אמת באינטרנט כבר יותר מעשור. הם היו האפשרות המועדפת לאירועים בזמן אמת באינטרנט, וסיפקו שיחה רציפה ודו-כיוונית. פרוטוקול WebSockets פועל במגוון רכיבי תוספים, כמו סקריפטים של תוכן, חלונות קופצים, חלוניות צד או סביבות עבודה של שירותים ברקע. הם אופציה מצוינת לשימוש באינטרנט באופן כללי, אבל יש להם כמה מגבלות שצריך לזכור אם מתכננים להשתמש בהם.
לא מתאים במיוחד להתראות
מכיוון ש-WebSockets פועלים בפלטפורמת האינטרנט, ולא באמצעות API של פלטפורמת תוספים כמו chrome.gcm, ל-Chrome אין דרך להפעיל את התוסף כשחיבור Websocket מתחיל מחוץ לתוסף.
חיבורים פעילים בלבד
אחרי 30 שניות, Chrome משעה תוספים שלא נמצאים בשימוש. כדי לקבוע אם התוסף נמצא בשימוש, Chrome משתמש במספר היוריסטיקות, שאחת מהן היא חיבור WebSocket פעיל. Chrome לא ישעה תוסף ששלח או קיבל הודעת WebSocket ב-30 השניות האחרונות. אם אתם משתמשים ב-WebSockets בתוסף שלכם, ואתם רוצים לוודא שהוא לא ייסגר לפני הזמן, אתם יכולים לשלוח הודעת heartbeat כדי לשמור על החיבור. הפעולה הזו כוללת שליחת הודעות תקופתיות לשרת, כדי שגם הוא וגם Chrome יידעו שאתם עדיין פעילים. דוגמה לאופן שבו אפשר לשמור על פעילות של WebSocket ללא הגבלת זמן זמינה במסמכי ה-WebSocket שלנו.