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

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

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

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

Firebase Admin SDK या FCM ऐप्लिकेशन सर्वर प्रोटोकॉल का इस्तेमाल करके, मैसेज के अनुरोध बनाए जा सकते हैं. साथ ही, इन्हें इन टारगेट को भेजा जा सकता है:

  • विषय का नाम
  • शर्त
  • FCM रजिस्ट्रेशन टोकन
  • डिवाइस ग्रुप का नाम (सिर्फ़ प्रोटोकॉल के लिए)

मैसेज में, पहले से तय किए गए फ़ील्ड वाला सूचना पेलोड, उपयोगकर्ता की ओर से तय किए गए फ़ील्ड वाला डेटा पेलोड या दोनों तरह के पेलोड वाला मैसेज भेजा जा सकता है. ज़्यादा जानकारी के लिए, मैसेज के टाइप देखें.

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

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

  • FCM बैकएंड को सही फ़ॉर्मैट में मैसेज के अनुरोध भेजे जा सकें.
  • अनुरोधों को हैंडल किया जा सके और उन्हें एक्स्पोनेंशियल बैक-ऑफ़ का इस्तेमाल करके फिर से भेजा जा सके.
  • सर्वर की अनुमति के क्रेडेंशियल और क्लाइंट के रजिस्ट्रेशन टोकन को सुरक्षित तरीके से सेव किया जा सके.

Firebase प्रोजेक्ट के लिए ज़रूरी क्रेडेंशियल

आपके Firebase प्रोजेक्ट के लिए, FCM की जिन सुविधाओं को लागू किया गया है उनके हिसाब से, आपको ये क्रेडेंशियल चाहिए होंगे:

क्रेडेंशियल ब्यौरा
प्रोजेक्ट आईडी यह आपके Firebase प्रोजेक्ट का यूनीक आइडेंटिफ़ायर है. इसका इस्तेमाल, FCM v1 HTTP एंडपॉइंट को भेजे जाने वाले अनुरोधों में किया जाता है. यह वैल्यू, Firebase कंसोल सेटिंग पैनल में उपलब्ध होती है.
रजिस्ट्रेशन टोकन यह एक यूनीक टोकन स्ट्रिंग है, जो हर क्लाइंट ऐप्लिकेशन इंस्टेंस की पहचान करती है. एक ऐप्लिकेशन इंस्टेंस और डिवाइस ग्रुप को मैसेज भेजने के लिए, रजिस्ट्रेशन टोकन ज़रूरी है. ध्यान दें कि रजिस्ट्रेशन टोकन को गोपनीय रखना ज़रूरी है.
भेजने वाले का आईडी यह एक यूनीक संख्या वाली वैल्यू है, जो Firebase प्रोजेक्ट बनाते समय जनरेट होती है. यह Cloud Messaging टैब में उपलब्ध होती है, जो Firebase कंसोल के सेटिंग पैनल में है. भेजने वाले का आईडी और प्रोजेक्ट नंबर एक ही होता है. भेजने वाले के आईडी का इस्तेमाल, हर उस व्यक्ति या कंपनी की पहचान करने के लिए किया जाता है जो क्लाइंट ऐप्लिकेशन को मैसेज भेज सकती है.
ऐक्सेस टोकन यह एक कम समय के लिए मान्य OAuth 2.0 टोकन है, जो HTTP v1 API को भेजे जाने वाले अनुरोधों को अनुमति देता है. यह टोकन, आपके Firebase प्रोजेक्ट के सर्विस खाते से जुड़ा होता है. ऐक्सेस टोकन बनाने और रोटेट करने के लिए, अनुरोध भेजने की अनुमति देना में बताया गया तरीका अपनाएं.

कोई सर्वर विकल्प चुनना

आपको FCM सर्वर के साथ इंटरैक्ट करने का कोई तरीका चुनना होगा. इसके लिए, Firebase Admin SDK या FCM HTTP v1 API का इस्तेमाल किया जा सकता है. Firebase Admin SDK को इस्तेमाल करने का सुझाव दिया जाता है. इसकी वजह यह है कि यह लोकप्रिय प्रोग्रामिंग भाषाओं के साथ काम करता है. साथ ही, इसमें पुष्टि करने और अनुमति देने की प्रोसेस को हैंडल करने के लिए, सुविधाजनक तरीके उपलब्ध हैं.Firebase Admin SDK

FCM सर्वर के साथ इंटरैक्ट करने के लिए, ये विकल्प उपलब्ध हैं:

Firebase Admin SDK

Firebase Admin SDK बैकएंड से पुष्टि करने की प्रोसेस को हैंडल करता है. साथ ही, यह मैसेज भेजने और विषय की सदस्यताओं को मैनेज करने में मदद करता है. Firebase Admin SDK की मदद से, ये काम किए जा सकते हैं:

  • ऐप्लिकेशन के अलग-अलग इंस्टेंस को मैसेज भेजना
  • उन विषयों और शर्तों वाले स्टेटमेंट को मैसेज भेजना जो एक या उससे ज़्यादा विषयों से मैच करते हैं
  • डिवाइस ग्रुप को मैसेज भेजना
  • ऐप्लिकेशन के इंस्टेंस को विषयों की सदस्यता लेना और सदस्यता रद्द करना
  • अलग-अलग टारगेट प्लैटफ़ॉर्म के हिसाब से, मैसेज पेलोड बनाना

Firebase Admin SDK सेट अप करने के लिए, अपने सर्वर में Firebase Admin SDK जोड़ना लेख पढ़ें. अगर आपके पास पहले से कोई Firebase प्रोजेक्ट है, तो SDK टूल जोड़ना लेख से शुरुआत करें. इसके अलावा, पक्का करें कि आपके प्रोजेक्ट के लिए, Cloud Messaging settings page पर Firebase Cloud Messaging API (V1) चालू हो. इसके बाद, Firebase Admin SDK इंस्टॉल हो जाने पर, अनुरोध भेजने के लिए लॉजिक लिखना शुरू किया जा सकता है.

FCM HTTP v1 API

FCM उन डेवलपर के लिए FCM HTTP v1 API उपलब्ध कराता है जो रॉ सर्वर प्रोटोकॉल को पसंद करते हैं.

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