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

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

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

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

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

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

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

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

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

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

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

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

פרטי כניסה תיאור
מזהה פרויקט מזהה ייחודי של פרויקט Firebase, שמשמש בבקשות לנקודת הקצה FCM v1 HTTP. הערך הזה זמין בחלונית Firebase Settings במסוף.
טוקן רישום מחרוזת טוקן ייחודית שמזהה כל מופע של אפליקציית לקוח. טוקן הרישום נדרש לשליחת הודעות למכשירים וליצירת מופע של אפליקציה אחת. חשוב לזכור שצריך לשמור את טוקני הרישום בסודיות.
מזהה השולח <0x0 ערך מספרי ייחודי שנוצר כשיוצרים פרויקט Firebase, ומופיע בחלונית הגדרות בכרטיסייה Cloud Messaging במסוף 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, אפשר:

  • שליחת הודעות למופעים ספציפיים של אפליקציות
  • שליחת הודעות לנושאים ולמשפטי תנאי שתואמים לנושא אחד או יותר
  • שליחת הודעות לקבוצות מכשירים
  • הרשמה וביטול הרשמה של מופעי אפליקציות לנושאים
  • יצירת מטען ייעודי (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.