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

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