Firebase Cloud Messaging के सर्वर साइड में दो कॉम्पोनेंट होते हैं:
- Google की ओर से उपलब्ध कराया गया FCM बैकएंड.
- आपका ऐप्लिकेशन सर्वर या कोई अन्य भरोसेमंद सर्वर एनवायरमेंट जहां आपके सर्वर का लॉजिक चलता है. जैसे, Firebase के लिए Cloud Functions या Google के मैनेज किए जाने वाले अन्य क्लाउड एनवायरमेंट.
आपका ऐप्लिकेशन सर्वर या भरोसेमंद सर्वर एनवायरमेंट, FCM बैकएंड को मैसेज के अनुरोध भेजता है. इसके बाद, बैकएंड उन मैसेज को उपयोगकर्ताओं के डिवाइसों पर चल रहे क्लाइंट ऐप्लिकेशन पर भेजता है.
Firebase Admin SDK या FCM ऐप्लिकेशन सर्वर प्रोटोकॉल का इस्तेमाल करके, मैसेज के अनुरोध बनाए जा सकते हैं. साथ ही, उन्हें इस तरह के टारगेट पर भेजा जा सकता है:
- विषय का नाम
- शर्त
- FCM रजिस्ट्रेशन टोकन
- डिवाइस ग्रुप का नाम (अब इस्तेमाल नहीं किया जाता, 29 सितंबर, 2027 को हटा दिया जाएगा)
पहले से तय फ़ील्ड से बने सूचना पेलोड, उपयोगकर्ता के तय किए गए फ़ील्ड के डेटा पेलोड या दोनों तरह के पेलोड वाले मैसेज भेजे जा सकते हैं. ज़्यादा जानकारी के लिए, मैसेज के टाइप देखें.
भरोसेमंद सर्वर एनवायरमेंट के लिए ज़रूरी शर्तें
आपके ऐप्लिकेशन के सर्वर एनवायरमेंट को ये ज़रूरी शर्तें पूरी करनी होंगी:
- FCM बैकएंड को सही फ़ॉर्मैट में मैसेज के अनुरोध भेज सकता है.
- अनुरोधों को मैनेज कर सकता हो और एक्स्पोनेंशियल बैक-ऑफ़ का इस्तेमाल करके उन्हें फिर से भेज सकता हो.
- सर्वर की अनुमति देने वाले क्रेडेंशियल और क्लाइंट रजिस्ट्रेशन टोकन को सुरक्षित तरीके से सेव कर सकता हो.
Firebase प्रोजेक्ट के लिए ज़रूरी क्रेडेंशियल
FCM की कौनसी सुविधाएं लागू की जा रही हैं, इसके आधार पर आपको अपने Firebase प्रोजेक्ट से ये क्रेडेंशियल चाहिए हो सकते हैं:
| क्रेडेंशियल | ब्यौरा |
|---|---|
| प्रोजेक्ट आईडी | आपके Firebase प्रोजेक्ट का यूनीक आइडेंटिफ़ायर, जिसका इस्तेमाल FCM v1 एचटीटीपी एंडपॉइंट के अनुरोधों में किया जाता है. यह वैल्यू, Firebase कंसोल के सेटिंग पैनल में उपलब्ध है. |
| रजिस्ट्रेशन टोकन | एक यूनीक टोकन स्ट्रिंग, जो हर क्लाइंट ऐप्लिकेशन इंस्टेंस की पहचान करती है. किसी एक ऐप्लिकेशन इंस्टेंस और डिवाइस ग्रुप को मैसेज भेजने के लिए, रजिस्ट्रेशन टोकन ज़रूरी है. ध्यान दें कि रजिस्ट्रेशन टोकन को गोपनीय रखना ज़रूरी है. |
| भेजने वाले का आईडी | Firebase प्रोजेक्ट बनाते समय जनरेट की गई एक यूनीक न्यूमेरिक वैल्यू. यह Firebase कंसोल के सेटिंग पैनल में, Cloud Messaging टैब में उपलब्ध होती है. भेजने वाले का आईडी, प्रोजेक्ट नंबर के जैसा ही होता है. भेजने वाले के आईडी का इस्तेमाल, ईमेल भेजने वाले हर व्यक्ति की पहचान करने के लिए किया जाता है. इससे, क्लाइंट ऐप्लिकेशन को मैसेज भेजे जा सकते हैं. |
| ऐक्सेस टोकन | कम समय के लिए मान्य OAuth 2.0 टोकन, जो एचटीटीपी v1 एपीआई को किए जाने वाले अनुरोधों को अनुमति देता है. यह टोकन, आपके Firebase प्रोजेक्ट से जुड़े सेवा खाते से जुड़ा होता है. ऐक्सेस टोकन बनाने और उन्हें रोटेट करने के लिए, अनुरोध भेजने की अनुमति दें में बताया गया तरीका अपनाएं. |
सर्वर का कोई विकल्प चुनें
आपको FCM सर्वर के साथ इंटरैक्ट करने का तरीका तय करना होगा: इसके लिए, Firebase Admin SDK या FCM एचटीटीपी v1 एपीआई का इस्तेमाल करें. Firebase Admin SDK का इस्तेमाल करने का सुझाव दिया जाता है. इसकी वजह यह है कि यह लोकप्रिय प्रोग्रामिंग भाषाओं के साथ काम करता है. साथ ही, पुष्टि करने और अनुमति देने के लिए, इसमें आसान तरीके उपलब्ध हैं.
FCM सर्वर से इंटरैक्ट करने के लिए, ये विकल्प उपलब्ध हैं:
Firebase Admin SDK, जो Node, Java, Python, C#, और Go के साथ काम करती है.
FCM एचटीटीपी v1 एपीआई, एक REST API है. इसमें सुरक्षित तरीके से अनुमति देने की सुविधा और क्रॉस-प्लैटफ़ॉर्म मैसेज सेवा की सुविधाएं मिलती हैं. Firebase Admin SDK इसी प्रोटोकॉल पर आधारित है और इसमें इसके सभी फ़ायदे मिलते हैं.
Firebase Admin SDK
Firebase Admin SDK, बैकएंड के साथ पुष्टि करने की प्रोसेस को मैनेज करता है. साथ ही, मैसेज भेजने और विषय की सदस्यताओं को मैनेज करने में मदद करता है. Firebase Admin SDK की मदद से, ये काम किए जा सकते हैं:
- ऐप्लिकेशन के अलग-अलग इंस्टेंस पर मैसेज भेजना
- एक या उससे ज़्यादा विषयों से मैच करने वाले विषयों और शर्त वाले स्टेटमेंट पर मैसेज भेजें
- डिवाइस ग्रुप को मैसेज भेजना
- ऐप्लिकेशन इंस्टेंस को विषयों की सदस्यता लेने और छोड़ने की अनुमति देना
- अलग-अलग टारगेट प्लैटफ़ॉर्म के हिसाब से मैसेज पेलोड बनाएं
Firebase Admin SDK को सेट अप करने के लिए, अपने सर्वर में Firebase Admin SDK जोड़ें लेख पढ़ें. अगर आपके पास पहले से कोई Firebase प्रोजेक्ट है, तो SDK टूल जोड़ें से शुरू करें. साथ ही, अपने प्रोजेक्ट के लिए क्लाउड से मैसेज की सेटिंग वाले पेज पर जाकर, Firebase क्लाउड से मैसेज एपीआई (V1) को चालू करना न भूलें. इसके बाद, Firebase Admin SDK इंस्टॉल हो जाने पर, अनुरोध भेजने के लिए लॉजिक लिखना शुरू किया जा सकता है.
FCM एचटीटीपी v1 एपीआई
FCM, उन डेवलपर के लिए FCM एचटीटीपी v1 एपीआई उपलब्ध कराता है जो रॉ सर्वर प्रोटोकॉल को प्राथमिकता देते हैं.
मैसेज भेजने के लिए, ऐप्लिकेशन सर्वर एचटीटीपी हेडर और एचटीटीपी बॉडी के साथ पोस्ट अनुरोध जारी करता है. एचटीटीपी बॉडी में JSON की-वैल्यू पेयर शामिल होते हैं. हेडर और बॉडी के विकल्पों के बारे में ज़्यादा जानने के लिए, FCM एचटीटीपी v1 एपीआई का इस्तेमाल करके मैसेज भेजना लेख पढ़ें.