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