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

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

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

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

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

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

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

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

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

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

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

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

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

Firebase Admin SDK

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

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

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

FCM HTTP v1 API

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

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