שימוש בהעברת הודעות בענן ב-Firebase (FCM) עם chrome.gcm

אפשר לשלוח ולקבל הודעות למשתמשי קצה באמצעות chrome.gcm. השירות הזה מבוסס על Firebase Cloud Messaging ‏ (FCM), ולכן הוא מסתמך על שירות חיצוני שצריך להגדיר. במדריך הזה נסביר את כל השלבים הנדרשים כדי להפעיל את התכונה בתוסף.

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

דרישות מוקדמות

כדי להשתמש ב-chrome.gcm, צריך להגדיר חשבון Firebase.

דף הבית של Firebase.com.
דף הבית של Firebase.com

אחרי שיוצרים חשבון, צריך לפתוח את מסוף Firebase ולבחור פרויקט קיים לשימוש, או ליצור פרויקט חדש להרחבה.

צילום מסך של רשימת הפרויקטים במסוף Firebase.
הצגת פרויקטים במסוף Firebase

ממשיכים אל דף ההגדרות של Cloud Messaging.

צילום מסך של דף הגדרות של העברת הודעות בענן ב-Firebase.
דף ההגדרות של העברת הודעות בענן ב-Firebase

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

אם לא הפעלתם את העברת ההודעות בענן, תצטרכו להפעיל את Firebase Cloud Messaging API לפרויקט ב-Google Cloud. בתמונה הבאה אפשר לראות איפה יש קישור ישירות לדף הזה בהגדרות של Firebase.

צילום מסך של המיקום של הקישור להפעלת Firebase Messaging API ב-Google Cloud.
פתיחת הקישור להגדרות של Google Cloud ב-Firebase

אחרי ההפעלה, חוזרים לדף ההגדרות של Cloud Messaging ומעתיקים את מזהה השולח.

הגדרת chrome.gcm

עכשיו, אחרי שתקבלו את מזהה השולח מ-Firebase, תוכלו להגדיר את התוסף כך שיאזין להודעות. קודם כל, חשוב לוודא שהוספתם את ההרשאה gcm ל-manifest.json של התוסף

  {
    "manifest_version": 3,
    ...
    "permissions": ["gcm"]

עכשיו יש לכם גישה ל-API של chrome.gcm. כדי להירשם לקבלת התראות, אפשר להתקשר למספר chrome.gcm.register

האזנה להודעות

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

Firebase בלי Firebase

אמנם chrome.gcm תמיד עובר דרך Firebase, אבל אפשר להגדיר את Firebase כך שיפעל כשרת proxy לספקים חיצוניים של העברת הודעות בדחיפה. בדרך כלל, ספקים מציינים במפורש תמיכה בתוספים ל-Chrome, אבל כל ספק שתומך בהתראות הדחיפה מהדור הקודם של Firebase אמור לפעול. אם הספק שלכם מציין תמיכה בהתראות הדחיפה מהדור הקודם של Firebase, כדאי לנסות את התכונה הזו. אם אתם נתקלים בבעיות, נציגי התמיכה אמורים להסביר את כל המגבלות הקיימות.

בערוצים ובנושאים

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

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

לחלופין, אם אתם צריכים תמיכה בערוצים או רוצים להשתמש בהתראות דחיפה בלי לעבור דרך Firebase, תוכלו להשתמש ב-Push API.