FCM מסתמך על קבוצת הרכיבים הבאה שיוצרים, מעבירים ומקבלים הודעות:
כלים ליצירה או לבנייה של בקשות להודעות. הכלי "ניסוח מסרים" (Notifications Composer) מספק אפשרות מבוססת-GUI ליצירת בקשות להתראות. כדי להשיג אוטומציה מלאה ותמיכה בכל סוגי ההודעות, צריך ליצור בקשות להודעות בסביבת שרת מהימנה שתומכת ב-Firebase Admin SDK או בפרוטוקול השרת של FCM. הסביבה הזו יכולה להיות Cloud Functions for Firebase, App Engine או שרת האפליקציה שלכם.

ה-backend של FCM, שבין היתר מקבל בקשות להודעות, מבצע fanout של הודעות באמצעות נושאים ויוצר מטא-נתונים של הודעות, כמו מזהה ההודעה.
שכבת תעבורה ברמת הפלטפורמה, שמנתבת את ההודעה למכשיר היעד, מטפלת בשליחת ההודעה ומחילת הגדרה ספציפית לפלטפורמה במקרים המתאימים. שכבת התעבורה כוללת:
- שכבת התעבורה של Android (ATL) למכשירי Android עם Google Play Services
- שירות ההתראות של Apple (APNs) למכשירי Apple
פרוטוקול של התראות פוש באפליקציות אינטרנט
FCM SDK במכשיר של המשתמש, שבו מוצגת ההתראה או שההודעה מטופלת בהתאם למצב של האפליקציה (בחזית או ברקע) ולכל לוגיקה רלוונטית של האפליקציה.
תהליך מחזור החיים
- רישום מכשירים לקבלת הודעות מ-FCM. מופע של אפליקציית לקוח נרשם לקבלת הודעות, ומקבל אסימון רישום שמזהה באופן ייחודי את מופע האפליקציה.
- שליחה וקבלה של הודעות downstream.
- שלח הודעה. שרת האפליקציה שולח הודעות לאפליקציית הלקוח:
- ההודעה מנוסחת בכלי לניסוח מסרים (Notifications Composer) או בסביבה מהימנה, ובקשת ההודעה נשלחת לקצה העורפי של FCM.
- ה-FCM backend מקבל את הבקשה להודעה, יוצר מזהה הודעה ומטא-נתונים אחרים, ושולח אותם לשכבת התעבורה הספציפית לפלטפורמה.
- כשהמכשיר מחובר לאינטרנט, ההודעה נשלחת למכשיר דרך שכבת ההעברה הספציפית לפלטפורמה.
- במכשיר, אפליקציית הלקוח מקבלת את ההודעה או את ההתראה.
- שלח הודעה. שרת האפליקציה שולח הודעות לאפליקציית הלקוח: