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

הקצה העורפי של FCM, שמקבל בקשות להודעות (בין היתר), מבצע פיצול של הודעות באמצעות נושאים ויוצר מטא-נתונים של הודעות, כמו מזהה ההודעה.
שכבת תעבורה ברמת הפלטפורמה, שמנתבת את ההודעה למכשיר היעד, מטפלת בשליחת ההודעה ומחילת הגדרה ספציפית לפלטפורמה במקרים המתאימים. שכבת התעבורה הזו כוללת:
FCM SDK במכשיר של המשתמש, שבו ההתראה מוצגת או שההודעה מטופלת בהתאם למצב הפעילות של האפליקציה (ברקע או בחזית) ולכל לוגיקה רלוונטית של האפליקציה.
תהליך במחזור החיים
- רישום מכשירים לקבלת הודעות מ-FCM. מופע של אפליקציית לקוח נרשם לקבלת הודעות ומקבל אסימון רישום שמזהה באופן ייחודי את מופע האפליקציה.
- שליחה וקבלה של הודעות במורד הזרם.
- שלח הודעה. שרת האפליקציה שולח הודעות לאפליקציית הלקוח:
- ההודעה נכתבת, או בכלי ליצירת הודעות או בסביבה מהימנה, ובקשת הודעה נשלחת ל-FCM backend.
- הקצה העורפי של FCM מקבל את בקשת ההודעה, יוצר מזהה הודעה ומטא-נתונים אחרים ושולח אותם לשכבת התעבורה הספציפית לפלטפורמה.
- כשהמכשיר מחובר לאינטרנט, ההודעה נשלחת למכשיר דרך שכבת התעבורה הספציפית לפלטפורמה.
- במכשיר, אפליקציית הלקוח מקבלת את ההודעה או ההתראה.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-16 (שעון UTC).
[null,null,["עדכון אחרון: 2025-08-16 (שעון UTC)."],[],[],null,["\u003cbr /\u003e\n\nFCM relies on the following set of components that build, transport, and receive\nmessages:\n\n1. Tooling to compose or build message requests. The Notifications composer\n provides a GUI-based option for creating notification requests.\n For full automation and support for all\n [message types](https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages),\n you must build message requests in a trusted\n [server environment](https://firebase.google.com/docs/cloud-messaging/server)\n that supports the Firebase Admin SDK or the FCM server protocol.\n This environment could be Cloud Functions for Firebase, App Engine,\n or your own app server.\n\n2. The FCM backend, which (among other functions) accepts message requests,\n performs fanout of messages via topics, and generates message metadata such\n as the message ID.\n\n3. A platform-level transport layer, which routes the message to the targeted\n device, handles message delivery, and applies platform-specific\n configuration where appropriate. This transport layer includes:\n\n - Android transport layer (ATL) for Android devices with Google Play services\n - Apple Push Notification service (APNs) for Apple devices\n - Web push protocol for web apps\n\n | **Note:** Platform-level transport layers are outside the core FCM product. FCM messages routed to a platform-level transport layer may be subject to terms specific to that platform rather than FCM's terms of service. Android message routing via ATL falls under the [Google APIs terms of service](https://www.google.com/url?q=https://developers.google.com/terms/&sa=D&ust=1558536676246000&usg=AFQjCNFrlRMLv51d1S9NkWxD0IoYSqJ2Ng).\n4. The FCM SDK on the user's device, where the notification is displayed or\n the message is handled according to the app's foreground/background state\n and any relevant application logic.\n\nLifecycle flow\n\n- **Register devices to receive messages from FCM**. An instance of a client app registers to receive messages, obtaining a registration token that uniquely identifies the app instance.\n- **Send and receive downstream messages** .\n - Send a message. The app server sends messages to the client app:\n 1. The message is composed, either in the Notifications composer or a trusted environment, and a message request is sent to the FCM backend.\n 2. The FCM backend receives the message request, generates a message ID and other metadata, and sends it to the platform specific transport layer.\n 3. When the device is online, the message is sent via the platform-specific transport layer to the device.\n 4. On the device, the client app receives the message or notification."]]