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

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