סביבת השרת וה-FCM

צד השרת של Firebase Cloud Messaging מורכב משני רכיבים:

  • FCM בקצה העורפי ש-Google מספקת.
  • שרת האפליקציה או סביבת שרת מהימנה אחרת שבה פועל הלוגיקה של השרת, כמו Cloud Functions for Firebase או סביבות ענן אחרות שמנוהלות על ידי Google.

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

באמצעות פרוטוקולי שרת האפליקציות Firebase Admin SDK או FCM, אתם יכולים ליצור בקשות להודעות ולשלוח אותן ליעדים מהסוגים הבאים:

  • שם הנושא
  • תנאי
  • טוקן רישום אחד (FCM)
  • שם קבוצת המכשירים (הוצא משימוש, יוסר ב-29 בספטמבר 2027)

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

הדרישות לסביבת השרת המהימן

סביבת שרת האפליקציה צריכה לעמוד בקריטריונים הבאים:

  • יכולת לשלוח בקשות להודעות בפורמט תקין לקצה העורפי של FCM.
  • יכולת לטפל בבקשות ולשלוח אותן מחדש באמצעות השהיה מעריכית לפני ניסיון חוזר (exponential backoff).
  • יכולת לאחסן באופן מאובטח את פרטי הכניסה להרשאת השרת ואת אסימוני הרישום של הלקוח.

פרטי הכניסה הנדרשים לפרויקט ב-Firebase

בהתאם לתכונות של FCM שאתם מטמיעים, יכול להיות שתצטרכו את פרטי הכניסה הבאים מהפרויקט ב-Firebase:

פרטי כניסה תיאור
מזהה פרויקט מזהה ייחודי של הפרויקט ב-Firebase, שמשמש בבקשות לנקודת הקצה (endpoint) של FCM ב-HTTP בגרסה 1. הערך הזה זמין בחלונית Settings במסוף Firebase.
טוקן רישום מחרוזת טוקן ייחודית שמזהה כל מופע של אפליקציית לקוח. אסימון הרישום נדרש להעברת הודעות למופע יחיד של אפליקציה ולקבוצת מכשירים. חשוב לזכור שצריך לשמור על הסודיות של אסימוני הרישום.
מזהה השולח ערך מספרי ייחודי שנוצר כשיוצרים את הפרויקט ב-Firebase. הוא זמין בכרטיסייה Cloud Messaging בחלונית Settings (הגדרות) במסוף Firebase. מזהה השולח זהה למספר הפרויקט. מזהה השולח משמש לזיהוי כל שולח שיכול לשלוח הודעות לאפליקציית הלקוח.
טוקן גישה טוקן OAuth 2.0 לטווח קצר שמאשר בקשות ל-HTTP v1 API. האסימון הזה משויך לחשבון שירות ששייך לפרויקט Firebase שלכם. כדי ליצור טוקני גישה ולהחליף אותם, פועלים לפי השלבים שמפורטים במאמר אישור בקשות שליחה.

בחירת אפשרות לשרת

תצטרכו להחליט איך לתקשר עם שרתי FCM: באמצעות Firebase Admin SDK או באמצעות FCM HTTP v1 API. Firebase Admin SDK היא השיטה המומלצת, כי היא תומכת בשפות תכנות פופולריות וכוללת שיטות נוחות לטיפול באימות ובהרשאה.

האפשרויות לאינטראקציה עם שרתי FCM כוללות:

Firebase Admin SDK

ה-Firebase Admin SDK מטפל באימות מול ה-backend ומאפשר לשלוח הודעות ולנהל מינויים לנושאים. בעזרת Firebase Admin SDK, אתם יכולים:

  • שליחת הודעות למופעים ספציפיים של אפליקציות
  • שליחת הודעות לנושאים ולהצהרות תנאי שתואמות לנושא אחד או יותר
  • שליחת הודעות לקבוצות מכשירים
  • הרשמה של מופעי אפליקציה לנושאים וביטול ההרשמה שלהם לנושאים
  • יצירת מטענים ייעודיים (payloads) של הודעות שמותאמים לפלטפורמות יעד שונות

כדי להגדיר את Firebase Admin SDK, עיינו במאמר הוספת Firebase Admin SDK לשרת. אם כבר יש לכם פרויקט ב-Firebase, התחילו מהשלב הוספת ה-SDK. בנוסף, חשוב להפעיל את Firebase Cloud Messaging API (V1) בדף ההגדרות של העברת הודעות בענן בפרויקט. אחרי שמתקינים את Firebase Admin SDK, אפשר להתחיל לכתוב לוגיקה כדי ליצור בקשות שליחה.

FCM HTTP v1 API

‫FCM מספק את FCM HTTP v1 API למפתחים שמעדיפים פרוטוקול שרת גולמי.

כדי לשלוח הודעה, שרת האפליקציה שולח בקשת POST עם כותרת HTTP וגוף HTTP שמורכב מצמדי מפתח/ערך בפורמט JSON. לפרטים על האפשרויות של הכותרת וגוף ההודעה, ראו שליחת הודעה באמצעות FCM HTTP v1 API.