FCM उन घटकों के निम्नलिखित सेट पर निर्भर करता है जो संदेशों का निर्माण, परिवहन और प्राप्त करते हैं:
संदेश अनुरोध लिखने या बनाने के लिए टूलिंग। अधिसूचना कंपोजर अधिसूचना अनुरोध बनाने के लिए जीयूआई-आधारित विकल्प प्रदान करता है। सभी संदेश प्रकारों के लिए पूर्ण स्वचालन और समर्थन के लिए, आपको एक विश्वसनीय सर्वर वातावरण में संदेश अनुरोध बनाना होगा जो Firebase Admin SDK या FCM सर्वर प्रोटोकॉल का समर्थन करता हो। यह वातावरण फायरबेस, ऐप इंजन, या आपके स्वयं के ऐप सर्वर के लिए क्लाउड फ़ंक्शंस हो सकता है।
FCM बैकएंड, जो (अन्य कार्यों के बीच) संदेश अनुरोधों को स्वीकार करता है, विषयों के माध्यम से संदेशों का फैनआउट करता है, और संदेश मेटाडेटा जैसे संदेश आईडी उत्पन्न करता है।
एक प्लेटफ़ॉर्म-स्तरीय ट्रांसपोर्ट लेयर, जो संदेश को लक्षित डिवाइस पर रूट करती है, संदेश वितरण को संभालती है, और जहाँ उपयुक्त हो, प्लेटफ़ॉर्म-विशिष्ट कॉन्फ़िगरेशन लागू करती है। इस परिवहन परत में शामिल हैं:
- Google Play सेवाओं वाले Android उपकरणों के लिए Android ट्रांसपोर्ट लेयर (ATL)।
- Apple उपकरणों के लिए Apple पुश सूचना सेवा (APNs)।
वेब ऐप्स के लिए वेब पुश प्रोटोकॉल
उपयोगकर्ता के डिवाइस पर FCM SDK, जहां सूचना प्रदर्शित की जाती है या ऐप के अग्रभूमि/पृष्ठभूमि स्थिति और किसी भी प्रासंगिक एप्लिकेशन तर्क के अनुसार संदेश को नियंत्रित किया जाता है।
जीवनचक्र प्रवाह
- FCM से संदेश प्राप्त करने के लिए उपकरणों को पंजीकृत करें । क्लाइंट ऐप का एक उदाहरण संदेश प्राप्त करने के लिए पंजीकरण करता है, एक पंजीकरण टोकन प्राप्त करता है जो विशिष्ट रूप से ऐप इंस्टेंस की पहचान करता है।
- डाउनस्ट्रीम संदेश भेजें और प्राप्त करें ।
- एक संदेश भेजो। ऐप सर्वर क्लाइंट ऐप को संदेश भेजता है:
- संदेश या तो अधिसूचना कंपोजर या एक विश्वसनीय वातावरण में बना है, और एक संदेश अनुरोध FCM बैकएंड को भेजा जाता है।
- FCM बैकएंड संदेश अनुरोध प्राप्त करता है, एक संदेश आईडी और अन्य मेटाडेटा उत्पन्न करता है, और इसे प्लेटफ़ॉर्म विशिष्ट ट्रांसपोर्ट लेयर पर भेजता है।
- जब डिवाइस ऑनलाइन होता है, तो डिवाइस पर प्लेटफॉर्म-विशिष्ट ट्रांसपोर्ट लेयर के माध्यम से संदेश भेजा जाता है।
- डिवाइस पर, क्लाइंट ऐप संदेश या सूचना प्राप्त करता है।
- एक संदेश भेजो। ऐप सर्वर क्लाइंट ऐप को संदेश भेजता है: