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

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