एक्सटेंशन प्रकाशक सिंहावलोकन

फायरबेस एक्सटेंशन HTTP अनुरोधों के जवाब में या फायरबेस क्लाउड मैसेजिंग, क्लाउड फायरस्टोर, या पब/सब जैसे अन्य फायरबेस और Google उत्पादों से घटनाओं को ट्रिगर करने के लिए एक विशिष्ट कार्य या कार्यों का सेट करता है।

आप व्यक्तिगत उपयोग के लिए या फायरबेस एक्सटेंशन हब में दुनिया के साथ साझा करने के लिए अपना स्वयं का एक्सटेंशन बना सकते हैं। उदाहरण के लिए, आपका एक्सटेंशन एक विशिष्ट कार्य कर सकता है जिसकी आपके ऐप को नियमित रूप से आवश्यकता होती है, या यह आपकी कंपनी के एपीआई में से किसी एक तक पहुंच को आसान बना सकता है। अपना एक्सटेंशन बनाने के बाद, आप इसे दूसरों के साथ साझा कर सकते हैं। वे उपयोगकर्ता अपने स्वयं के फायरबेस प्रोजेक्ट में उपयोग के लिए एक्सटेंशन को इंस्टॉल और कॉन्फ़िगर कर सकते हैं।

एक विस्तार की संरचना

आप किसी एक्सटेंशन के बारे में तीन मुख्य घटकों के रूप में सोच सकते हैं:

  • क्लाउड फ़ंक्शंस कोड, जावास्क्रिप्ट या टाइपस्क्रिप्ट में
  • मेटाडेटा जो आपके एक्सटेंशन का वर्णन करता है
  • आपके उपयोगकर्ताओं को आपके एक्सटेंशन को कॉन्फ़िगर करने और उपयोग करने में मदद करने के लिए दस्तावेज़ीकरण

एक एक्सटेंशन विकसित करने के लिए, आप इन घटकों को निम्नलिखित संरचना में इकट्ठा करते हैं:

example-extension
├── functions
│   ├── integration-tests
│   │   ├── extensions
│   │   │   └── example-extension.env
│   │   ├── firebase.json
│   │   └── integration-test.spec.js
│   ├── index.js
│   └── package.json
├── README.md
├── PREINSTALL.md
├── POSTINSTALL.md
├── CHANGELOG.md
├── icon.png
└── extension.yaml
  • functions निर्देशिका में जावास्क्रिप्ट या टाइपस्क्रिप्ट में आपका क्लाउड फ़ंक्शंस कोड होता है। यह वह कोड है जो फायरबेस और Google सेवाओं द्वारा ट्रिगर की गई घटनाओं के जवाब में एक्सटेंशन के कार्य करता है।
  • extension.yaml फ़ाइल में आपके एक्सटेंशन के बारे में मेटाडेटा शामिल है, जैसे कि इसके ट्रिगर्स और IAM एक्सेस भूमिकाएं, साथ ही कोई भी पैरामीटर जिसे आप उपयोगकर्ता-कॉन्फ़िगर करने योग्य बनाना चाहते हैं।
  • PREINSTALL , POSTINSTALL , और CHANGELOG फ़ाइलें न्यूनतम दस्तावेज़ हैं जो आपके एक्सटेंशन के पास होनी चाहिए। ये फ़ाइलें आपके उपयोगकर्ताओं को यह जानने में मदद करती हैं कि आपका एक्सटेंशन क्या करता है, इसका उपयोग कैसे करें और आपने क्या अपडेट किए हैं। आपको उपयोगकर्ताओं को आपके एक्सटेंशन को पहचानने में मदद करने के लिए एक आइकन भी प्रदान करना चाहिए। जब उपयोगकर्ता आपके एक्सटेंशन को एक्सप्लोर, इंस्टॉल और प्रबंधित करते हैं तो फ़ायरबेस कंसोल, फ़ायरबेस सीएलआई और एक्सटेंशन हब इन फ़ाइलों की सामग्री प्रदर्शित करते हैं।

अपना एक्सटेंशन बनाने के बाद, आप इसे प्रोजेक्ट में स्थापित करने या एक्सटेंशन हब पर प्रकाशित करने के लिए फायरबेस सीएलआई का उपयोग कर सकते हैं, जहां कोई भी इसे खोज सकता है और अपने प्रोजेक्ट में इंस्टॉल कर सकता है।

मेरा एक्सटेंशन किन उत्पादों के साथ इंटरैक्ट कर सकता है?

क्योंकि फायरबेस एक्सटेंशन क्लाउड फ़ंक्शंस का उपयोग करके अपना काम करता है, आप संभावित एकीकरण के प्रश्न के बारे में दो तरीकों से सोच सकते हैं: कौन से उत्पाद मेरे एक्सटेंशन के फ़ंक्शंस को ट्रिगर कर सकते हैं? और एक बार ट्रिगर होने पर, मेरे एक्सटेंशन के फ़ंक्शन किन उत्पादों के साथ इंटरैक्ट कर सकते हैं?

समर्थित फ़ंक्शन ट्रिगर

मैनुअल ट्रिगर्स

सबसे पहले, आप किसी फ़ंक्शन को मैन्युअल रूप से ट्रिगर कर सकते हैं। फायरबेस एक्सटेंशन और क्लाउड फ़ंक्शंस मैन्युअल रूप से ट्रिगर करने के दो तरीकों का समर्थन करते हैं:

  • HTTP ट्रिगर्स: किसी फ़ंक्शन को HTTP एंडपॉइंट पर तैनात करें
  • कॉल करने योग्य फ़ंक्शन: फायरबेस क्लाइंट एसडीके का उपयोग करके अपने क्लाउड फ़ंक्शंस को सीधे अपने आईओएस, एंड्रॉइड या वेब क्लाइंट कोड से कॉल करें।

आपके एक्सटेंशन से HTTP एंडपॉइंट्स को उजागर करके, आपका एक्सटेंशन संभावित रूप से वेबहुक का समर्थन करने वाली किसी भी वेब सेवा के साथ एकीकृत हो सकता है। कॉल करने योग्य फ़ंक्शंस के साथ, जो उपयोगकर्ता आपका एक्सटेंशन इंस्टॉल करते हैं, वे आपके एक्सटेंशन द्वारा लागू एपीआई तक पहुंचने के लिए क्लाइंट लाइब्रेरी के रूप में फायरबेस एसडीके का उपयोग कर सकते हैं।

फायरबेस सेवा ट्रिगर

अधिकांश फायरबेस उत्पाद ऐसी घटनाओं का उत्सर्जन करते हैं जो किसी एक्सटेंशन के क्लाउड फ़ंक्शंस को ट्रिगर कर सकते हैं।

  • एनालिटिक्स: जब एनालिटिक्स किसी इवेंट को लॉग करता है तो ट्रिगर फ़ंक्शन होता है
  • ऐप डिस्ट्रीब्यूशन: जब ऐप डिस्ट्रीब्यूशन अलर्ट ट्रिगर करता है तो ट्रिगर फ़ंक्शन होता है
  • प्रमाणीकरण: जब उपयोगकर्ता खाते बनाते और हटाते हैं तो ट्रिगर फ़ंक्शन होता है
  • क्लाउड फायरस्टोर: जब पेज बनाए जाते हैं, अपडेट किए जाते हैं या हटाए जाते हैं तो ट्रिगर फ़ंक्शन होता है
  • क्लाउड स्टोरेज : जब ऑब्जेक्ट अपलोड किए जाते हैं, संग्रहीत किए जाते हैं, या बकेट से हटाए जाते हैं तो ट्रिगर कार्य करता है
  • क्रैशलाइटिक्स: जब क्रैशलाइटिक्स अलर्ट ट्रिगर करता है तो ट्रिगर कार्य करता है
  • प्रदर्शन निगरानी: जब प्रदर्शन निगरानी एक अलर्ट ट्रिगर करती है तो ट्रिगर फ़ंक्शन होता है
  • रीयलटाइम डेटाबेस: जब डेटा बनाया जाता है, अद्यतन किया जाता है या हटाया जाता है तो ट्रिगर कार्य करता है
  • रिमोट कॉन्फिग: पैरामीटर अपडेट होने पर ट्रिगर कार्य करता है
  • टेस्ट लैब: जब टेस्ट लैब अलर्ट ट्रिगर करता है तो ट्रिगर कार्य करता है

Google क्लाउड सेवा ट्रिगर

एक एक्सटेंशन में ऐसे फ़ंक्शन भी शामिल हो सकते हैं जो कई गैर-फ़ायरबेस Google क्लाउड सेवाओं को ट्रिगर करते हैं:

  • क्लाउड पब/सब : एक एक्सटेंशन में ऐसे फ़ंक्शंस शामिल हो सकते हैं जो कॉन्फ़िगर करने योग्य पब/सब विषय पर इवेंट पोस्ट किए जाने पर ट्रिगर होते हैं।
  • क्लाउड शेड्यूलर : एक एक्सटेंशन में ऐसे फ़ंक्शन शामिल हो सकते हैं जो एक निर्धारित शेड्यूल पर चलते हैं
  • क्लाउड कार्य : एक एक्सटेंशन में ऐसे फ़ंक्शन शामिल हो सकते हैं जिन्हें क्लाउड कार्य का उपयोग करके कतारबद्ध किया जा सकता है। फायरबेस एक्सटेंशन इस क्षमता का उपयोग आपको एक एक्सटेंशन लेखक के रूप में, ऐसे फ़ंक्शन लिखने की अनुमति देने के लिए करता है जो एक्सटेंशन के "जीवनचक्र" घटनाओं पर प्रतिक्रिया करते हैं: पहली बार किसी प्रोजेक्ट में इंस्टॉल किया जाना, एक नए संस्करण में अपग्रेड किया जाना और पुन: कॉन्फ़िगर किया जाना।
  • ईवेंटार्क : एक एक्सटेंशन में ऐसे फ़ंक्शंस शामिल हो सकते हैं जो कॉन्फ़िगर करने योग्य ईवेंटार्क चैनल पर इवेंट प्रकाशित होने पर ट्रिगर होते हैं; इसके विपरीत, एक एक्सटेंशन अपने स्वयं के ईवेंट को इवेंटार्क चैनल पर प्रकाशित कर सकता है ताकि उपयोगकर्ता अपने स्वयं के कार्यों को परिभाषित कर सकें जो किसी एक्सटेंशन के ईवेंट से ट्रिगर होते हैं।

कार्यों से समर्थित

एक बार जब किसी एक्सटेंशन का क्लाउड फ़ंक्शन चालू हो जाता है, तो संभावित एकीकरण की सीमा आम तौर पर खुली होती है। क्लाउड फ़ंक्शन से आप क्या कर सकते हैं इसके कुछ मुख्य अंश यहां दिए गए हैं:

  • समर्थित IAM भूमिका का उपयोग करने वाली किसी भी फ़ायरबेस या Google क्लाउड सेवा को पढ़ें, लिखें और अन्यथा इंटरैक्ट करें।
  • वेब एपीआई प्रदान करने वाली किसी भी तृतीय-पक्ष सेवा के साथ काम करें।
  • यदि आप एक वेब एपीआई प्रदान करते हैं तो अपनी कस्टम सेवाओं के साथ काम करें।
  • TensorFlow.js , Express.js इत्यादि सहित अधिकांश JavaScript लाइब्रेरी चलाएँ।

एक्सटेंशन कैसे बनाएं

गेट स्टार्टेड ट्यूटोरियल आपको संपूर्ण एक्सटेंशन के निर्माण, परीक्षण और प्रकाशन की प्रक्रिया से परिचित कराता है और यह सीखने का अनुशंसित तरीका है कि इसे कैसे बनाया जाए।

शुरू हो जाओ

आरंभ करने की मार्गदर्शिका को एक बार पढ़ने के बाद, आप अलग-अलग विषय मार्गदर्शिकाओं का उल्लेख कर सकते हैं, जो आपके स्वयं के एक्सटेंशन के निर्माण में शामिल प्रत्येक कार्य की व्याख्या करती हैं: