Firebase एक्सटेंशन

Firebase एक्सटेंशन, पहले से तैयार किए गए समाधानों की मदद से आपके ऐप्लिकेशन के फ़ंक्शन तेज़ी से डिप्लॉय करने में मदद करते हैं.

इंस्टॉल हो जाने के बाद, Firebase एक्सटेंशन एचटीटीपीएस अनुरोधों, Cloud शेड्यूलर इवेंट या दूसरे Firebase प्रॉडक्ट से इवेंट ट्रिगर करने के लिए, खास टास्क या कई टास्क पूरा करता है. जैसे, Cloud Firestore या Firebase Cloud से मैसेज.

एक्सटेंशन हब एक्सप्लोर करें किसी एक्सटेंशन को इंस्टॉल करने का तरीका जानें अपना एक्सटेंशन बनाने का तरीका जानें

मुख्य सुविधाएं

डेवलपमेंट, रखरखाव, और कारोबार को बढ़ाने में लगने वाले समय को कम करें

एक्सटेंशन एक पैकेज किया गया समाधान है, इसलिए आपको बस एक्सटेंशन को इंस्टॉल और कॉन्फ़िगर करना होगा.

एक्सटेंशन की मदद से, ऐसे कोड के बारे में रिसर्च करने, लिखने, और उसे डीबग करने में समय नहीं लगता जो आपके ऐप्लिकेशन या प्रोजेक्ट के लिए फ़ंक्शन लागू करता है या अपने-आप काम करता है.

अपने ऐप्लिकेशन या प्रोजेक्ट के लिए समाधान ढूंढने के लिए, एक्सटेंशन हब एक्सप्लोर करें.

कॉन्फ़िगर करने और फिर से इस्तेमाल करने के लिए बनाया गया

एक्सटेंशन का इंस्टॉल किया गया हर इंस्टेंस यूनीक होता है.

उन एक्सटेंशन के लिए कॉन्फ़िगरेशन वैल्यू तय की जा सकती हैं जो आपके ऐप्लिकेशन, प्रोजेक्ट या इस्तेमाल के उदाहरण के लिए यूनीक हों. एक्सटेंशन क्या करता है, इसके आधार पर, ये वैल्यू करीब-करीब कुछ भी हो सकती हैं: Cloud Firestore पाथ, इमेज डाइमेंशन या GitHub यूआरएल.

एक ही एक्सटेंशन का इस्तेमाल, अलग-अलग प्रोजेक्ट में किया जा सकता है. एक प्रोजेक्ट में, एक ही एक्सटेंशन के कई इंस्टेंस इंस्टॉल भी किए जा सकते हैं. इंस्टॉल किए गए हर इंस्टेंस का अपना कस्टमाइज़ किया गया कॉन्फ़िगरेशन हो सकता है.

Firebase प्लैटफ़ॉर्म को इंटिग्रेट करता है

एक्सटेंशन आपके मौजूदा आर्किटेक्चर के उस हिस्से को भर सकते हैं जो मौजूद नहीं था.

एक्सटेंशन उन Firebase प्रॉडक्ट से जनरेट किए गए इवेंट का जवाब दे सकते हैं जिन्हें आपने अपने ऐप्लिकेशन में पहले से इस्तेमाल किया है. Firebase के किसी प्रॉडक्ट में बदलाव करने पर, एक्सटेंशन को अपना काम करने के लिए ट्रिगर किया जा सकता है. इतना ही नहीं, किसी दूसरे प्रॉडक्ट का इस्तेमाल करने पर भी ऐसा हो सकता है. उदाहरण के लिए, किसी खास रीयल टाइम डेटाबेस में लिखने से, Firebase क्लाउड से मैसेज की नई सूचना भेजी जा सकती है.

एक्सटेंशन आपके Firebase प्रोजेक्ट को Google Cloud Platform के अन्य प्रॉडक्ट (जैसे, BigQuery और Google Translate) या तीसरे पक्ष की सेवाओं (जैसे, Mailchimp और Bit.ly) के साथ भी इंटिग्रेट कर सकता है.

ट्रिगर करने के इवेंट, Firebase के इवेंट तक ही सीमित नहीं हैं. सीधे एचटीटीपीएस अनुरोध या शेड्यूल किए गए इंटरवल पर एक्सटेंशन ट्रिगर किए जा सकते हैं.

सुरक्षा और सीमित ऐक्सेस

एक्सटेंशन के लिए ऐप्लिकेशन लॉजिक, बैकएंड पर काम करता है. इसके लिए, Google Cloud Functions का इस्तेमाल किया जाता है. इस वजह से, कोड को क्लाइंट से पूरी तरह अलग कर दिया जाता है.

साथ ही, एक्सटेंशन खुद आपके बाकी प्रोजेक्ट से अलग होते हैं क्योंकि इंस्टॉल किए गए एक्सटेंशन को सिर्फ़ उन संसाधनों और डेटा का सीमित ऐक्सेस दिया जाता है जो इंस्टॉलेशन से पहले साफ़ तौर पर सूची में शामिल होते हैं.

कोई रखरखाव नहीं

अपने Firebase प्रोजेक्ट के लिए, कोई एक्सटेंशन इंस्टॉल और कॉन्फ़िगर करें. इसके बाद, बैकएंड आपके एक्सटेंशन की ज़रूरतों के हिसाब से, कंप्यूटिंग संसाधनों को अपने-आप स्केल करता है.

आपको क्रेडेंशियल, सर्वर कॉन्फ़िगरेशन, नए सर्वर के प्रावधान या पुराने सर्वर के बंद होने की चिंता नहीं करनी होती.

यह कैसे काम करता है?

मुख्य रूप से, Firebase एक्सटेंशन ऐसा कोड होता है जो आपके ऐप्लिकेशन या प्रोजेक्ट में किसी खास तरीके से तय किए गए इवेंट होने पर, काम करता है.

एक्सटेंशन का लॉजिक, Firebase के लिए Cloud Functions का इस्तेमाल करके लिखा गया है. एक्सटेंशन में मौजूद फ़ंक्शन, इवेंट की सेवा देने वाली कंपनियों और प्रोग्राम को लागू करने की शर्तों के बारे में बताते हैं. उदाहरण के लिए, Cloud Firestore में बदलाव, एचटीटीपीएस अनुरोध या Cloud शेड्यूलर इवेंट.

एक्सटेंशन, फ़ंक्शन का इस्तेमाल करते हैं, फिर भी, एक्सटेंशन और फ़ंक्शन के बीच एक मुख्य अंतर यह है कि एक्सटेंशन, extension.yaml की खास जानकारी वाली फ़ाइल पर निर्भर होता है. इसमें इनके बारे में साफ़ तौर पर बताया गया है:

  • एक्सटेंशन, Google की जिन सेवाओं (एपीआई) का इस्तेमाल करेगा
  • एक्सटेंशन को इस्तेमाल करने के लिए ज़रूरी ऐक्सेस भूमिकाएं
  • एक्सटेंशन से जुड़े ऐसे संसाधन जिन्हें चलाने के लिए एक्सटेंशन की ज़रूरत होती है
  • एक्सटेंशन के लिए कॉन्फ़िगर किए जा सकने वाले पैरामीटर

किसी प्रोजेक्ट में एक एक्सटेंशन को कई बार इंस्टॉल किया जा सकता है, जिसमें इंस्टॉल किए गए हर इंस्टेंस का कॉन्फ़िगरेशन अलग-अलग होता है.

किसी एक्सटेंशन का इंस्टेंस इंस्टॉल करने पर, Firebase ये काम करता है:

  1. यह आपको एक्सटेंशन के इस इंस्टेंस के लिए इस्तेमाल किए जाने वाले, कॉन्फ़िगरेशन के लिए ज़रूरी वैल्यू (पैरामीटर) तय करने का निर्देश देता है.
  2. प्रोजेक्ट के लिए, extension.yaml फ़ाइल से, सूची में शामिल एपीआई चालू करता है.
  3. एक्सटेंशन के इस इंस्टेंस में इस्तेमाल करने के लिए, नया सेवा खाता बनाता है और उसे सूची में दी गई ऐक्सेस भूमिकाएं असाइन करता है. एक्सटेंशन इंस्टेंस, इस सेवा खाते को दिए गए ऐक्सेस का इस्तेमाल करके अपने कोड को एक्ज़ीक्यूट करता है.
  4. एक्सटेंशन इंस्टेंस (उदाहरण के लिए, फ़ंक्शन) के लिए, सूची में दिए गए संसाधन उपलब्ध कराता है.

ध्यान रखें कि एक्सटेंशन के इंस्टॉल किए गए हर इंस्टेंस का अपना सेवा खाता और अलग-अलग प्रावधान होते हैं.

extension.yaml फ़ाइल के अलावा, एक्सटेंशन डायरेक्ट्री में README जैसी निर्देश देने वाली फ़ाइलें भी शामिल होती हैं. इनमें, कॉन्फ़िगरेशन से जुड़े टास्क पूरे करने या आम तौर पर एक्सटेंशन का इस्तेमाल करने में आपकी मदद करने के लिए जानकारी होती है.

इंस्टॉल करने के बाद, किसी एक्सटेंशन को फिर से कॉन्फ़िगर किया जा सकता है (नए पैरामीटर की वैल्यू तय किया जा सकता है). साथ ही, एक्सटेंशन को नए वर्शन में अपडेट किया जा सकता है. अपने प्रोजेक्ट से किसी एक्सटेंशन को कभी भी अनइंस्टॉल किया जा सकता है.

Firebase सीएलआई और Firebase कंसोल, दोनों से आपको एक्सटेंशन इंस्टॉल करने, देखने, और मैनेज करने की सुविधा मिलती है.

लागू करने का पाथ

एक्सटेंशन ढूंढना

एक्सटेंशन हब में उपलब्ध एक्सटेंशन के बारे में जानें.

किसी एक्सटेंशन का आकलन करना, उसे इंस्टॉल और कॉन्फ़िगर करना

अपने ऐप्लिकेशन या प्रोजेक्ट की ज़रूरत को पूरा करने वाला एक्सटेंशन मिलने पर, एक्सटेंशन एम्युलेटर की मदद से एक्सटेंशन का आकलन किया जा सकता है. इसके बाद, Firebase कंसोल या Firebase सीएलआई की मदद से एक्सटेंशन इंस्टॉल किया जा सकता है.

एक्सटेंशन को कॉन्फ़िगर करें, ताकि इसे आपके ऐप्लिकेशन या प्रोजेक्ट के हिसाब से बनाया जा सके.

एक्सटेंशन को मैनेज करना

Firebase कंसोल या Firebase सीएलआई का इस्तेमाल करके, इंस्टॉल किया गया एक्सटेंशन देखें और उसे मैनेज करें.

अगले चरण