आपका सर्वर एनवायरमेंट और FCM

Firebase Cloud Messaging के सर्वर साइड में दो कॉम्पोनेंट होते हैं:

  • Google की ओर से उपलब्ध कराया गया FCM बैकएंड.
  • आपका ऐप्लिकेशन सर्वर या अन्य भरोसेमंद सर्वर एनवायरमेंट, जहां आपका सर्वर लॉजिक काम करता है. जैसे, Firebase के लिए Cloud Functions या Google की ओर से मैनेज किए जाने वाले अन्य क्लाउड एनवायरमेंट.

आपका ऐप्लिकेशन सर्वर या भरोसेमंद सर्वर एनवायरमेंट, FCM बैकएंड को मैसेज के अनुरोध भेजता है. इसके बाद, यह बैकएंड उन क्लाइंट ऐप्लिकेशन को मैसेज भेजता है जो उपयोगकर्ताओं के डिवाइसों पर चल रहे हैं.

भरोसेमंद सर्वर एनवायरमेंट के लिए ज़रूरी शर्तें

आपके ऐप्लिकेशन के सर्वर एनवायरमेंट को ये शर्तें पूरी करनी होंगी:

  • 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

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 एचटीटीपी v1 एपीआई

FCM, उन डेवलपर के लिए FCM एचटीटीपी v1 एपीआई उपलब्ध कराता है जो रॉ सर्वर प्रोटोकॉल का इस्तेमाल करना चाहते हैं.

मैसेज भेजने के लिए, ऐप्लिकेशन सर्वर, एचटीटीपी हेडर और JSON की-वैल्यू पेयर से बनी एचटीटीपी बॉडी के साथ POST अनुरोध जारी करता है. हेडर और बॉडी के विकल्पों के बारे में ज़्यादा जानने के लिए, FCM HTTP v1 API का इस्तेमाल करके मैसेज भेजना लेख पढ़ें.