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