סביבת השרת שלכם ו-FCM

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

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

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

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

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

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

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

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

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

Firebase Admin SDK של FCM

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

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

חבילת ה-SDK של Node.js לאדמינים מספקת שיטות לשליחת הודעות לקבוצות של מכשירים.

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

FCM פרוטוקול שרת

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

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