Firebase एक्सटेंशन, क्वेरी के जवाब में कोई खास टास्क या कई तरह के टास्क पूरे करता है एचटीटीपी अनुरोध या दूसरे Firebase और Google प्रॉडक्ट से इवेंट ट्रिगर करना, जैसे Firebase क्लाउड से मैसेज, Cloud Firestore या Pub/Sub.
निजी इस्तेमाल के लिए या दुनिया के साथ शेयर करने के लिए, खुद का एक्सटेंशन बनाया जा सकता है Firebase एक्सटेंशन हब पर क्लिक करें. उदाहरण के लिए, आपका एक्सटेंशन कोई ऐसा काम कर सकता है जिसकी ज़रूरत आपके ऐप्लिकेशन को नियमित तौर पर पड़ती है. इसके अलावा, यह आपकी कंपनी के किसी एपीआई को ऐक्सेस करना आसान बना सकता है. एक्सटेंशन बनाने के बाद, उसे दूसरों के साथ शेयर किया जा सकता है. वे उपयोगकर्ता, एक्सटेंशन को इंस्टॉल और कॉन्फ़िगर कर सकते हैं, ताकि उसका इस्तेमाल खुद किया जा सके Firebase प्रोजेक्ट.
एक्सटेंशन का स्ट्रक्चर
एक्सटेंशन के बारे में तीन मुख्य कॉम्पोनेंट के तौर पर देखा जा सकता है:
- JavaScript या TypeScript में Cloud Functions कोड
- आपके एक्सटेंशन की जानकारी देने वाला मेटाडेटा
- आपके उपयोगकर्ताओं को एक्सटेंशन कॉन्फ़िगर करने और उनका इस्तेमाल करने में मदद करने वाले दस्तावेज़
एक्सटेंशन डेवलप करने के लिए, इन कॉम्पोनेंट को इन कॉम्पोनेंट में जोड़ें ढांचा:
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
डायरेक्ट्री में, JavaScript या TypeScript में आपका Cloud Functions कोड होता है. यह वह कोड है जो Firebase और Google की सेवाओं से ट्रिगर होने वाले इवेंट के जवाब में, एक्सटेंशन के टास्क करता है.extension.yaml
फ़ाइल में आपके एक्सटेंशन का मेटाडेटा होता है. जैसे, इसके ट्रिगर और IAM ऐक्सेस भूमिकाएं. साथ ही, इसमें ऐसे पैरामीटर भी होते हैं जिन्हें उपयोगकर्ता कॉन्फ़िगर कर सकता है.PREINSTALL
,POSTINSTALL
, औरCHANGELOG
फ़ाइलें, आपके एक्सटेंशन में मौजूद दस्तावेज़ों में कम से कम शामिल होनी चाहिए. इन फ़ाइलों की मदद से, उपयोगकर्ताओं को यह जानने में मदद मिलती है कि आपका एक्सटेंशन क्या करता है, उसका इस्तेमाल कैसे किया जाता है, और आपने उसमें क्या अपडेट किए हैं. आपने लोगों तक पहुंचाया मुफ़्त में उपयोगकर्ताओं को आपका एक्सटेंशन पहचानने में सहायता करने के लिए एक आइकन भी उपलब्ध कराना चाहिए. जब उपयोगकर्ता आपके एक्सटेंशन को एक्सप्लोर, इंस्टॉल, और मैनेज करते हैं, तो Firebase कंसोल, Firebase CLI, और एक्सटेंशन हब इन फ़ाइलों का कॉन्टेंट दिखाते हैं.
एक्सटेंशन बनाने के बाद, Firebase CLI का इस्तेमाल करके उसे किसी प्रोजेक्ट में इंस्टॉल किया जा सकता है या एक्सटेंशन हब में पब्लिश किया जा सकता है. यहां कोई भी व्यक्ति इसे ढूंढ सकता है और अपने प्रोजेक्ट में इंस्टॉल कर सकता है.
मेरा एक्सटेंशन किन प्रॉडक्ट के साथ इंटरैक्ट कर सकता है?
Firebase एक्सटेंशन, Cloud Functions का इस्तेमाल करके काम करता है. इसलिए, के बारे में दो तरह से जानने की कोशिश की: कौनसे प्रॉडक्ट मेरे एक्सटेंशन के फ़ंक्शन? और एक बार ट्रिगर होने पर, मेरे एक्सटेंशन कौन-से प्रॉडक्ट फ़ंक्शन इनके साथ कैसे इंटरैक्ट करते हैं?
काम करने वाले फ़ंक्शन ट्रिगर
मैन्युअल ट्रिगर
सबसे पहले, किसी फ़ंक्शन को मैन्युअल तरीके से ट्रिगर किया जा सकता है. Firebase एक्सटेंशन और Cloud Functions, फ़ंक्शन को मैन्युअल तरीके से ट्रिगर करने के दो तरीकों के साथ काम करते हैं:
- एचटीटीपी ट्रिगर: एचटीटीपी एंडपॉइंट पर फ़ंक्शन डिप्लॉय करना
- कॉल किए जा सकने वाले फ़ंक्शन: अपने Cloud Functions को सीधे अपने iOS से कॉल करें, Firebase क्लाइंट SDK टूल का इस्तेमाल करके, Android या वेब क्लाइंट कोड.
आपके एक्सटेंशन से एचटीटीपी एंडपॉइंट को सार्वजनिक करने से, आपका एक्सटेंशन वेबहुक के साथ काम करने वाली किसी भी वेब सेवा के साथ इंटिग्रेट कर सकते हैं. कॉल किए जा सकने वाले फ़ंक्शन की मदद से, आपके एक्सटेंशन को इंस्टॉल करने वाले उपयोगकर्ता, Firebase SDK टूल को क्लाइंट लाइब्रेरी के तौर पर इस्तेमाल कर सकते हैं. इससे, वे आपके एक्सटेंशन में लागू किए गए एपीआई को ऐक्सेस कर सकते हैं.
Firebase सेवा ट्रिगर
ज़्यादातर Firebase प्रॉडक्ट, ऐसे इवेंट का उत्सर्जन करते हैं जो किसी एक्सटेंशन के क्लाउड को ट्रिगर कर सकते हैं फ़ंक्शन.
- Analytics: जब Analytics किसी इवेंट को लॉग करता है, तो फ़ंक्शन ट्रिगर करता है
- ऐप्लिकेशन डिस्ट्रिब्यूशन: जब ऐप्लिकेशन डिस्ट्रिब्यूशन से कोई अलर्ट ट्रिगर होता है, तो फ़ंक्शन ट्रिगर होते हैं
- पुष्टि करना: जब उपयोगकर्ता खाते बनाते और मिटाते हैं, तब फ़ंक्शन ट्रिगर होता है
- Cloud Firestore: पेज बनाने, अपडेट करने या मिटाने पर फ़ंक्शन ट्रिगर करना
- Cloud Storage: ऑब्जेक्ट अपलोड होने, संग्रहित किए जाने या बकेट से हटाया गया
- Crashlytics: Crashlytics से मिलने वाले अलर्ट के ट्रिगर होने पर फ़ंक्शन ट्रिगर होते हैं
- परफ़ॉर्मेंस मॉनिटरिंग: जब परफ़ॉर्मेंस मॉनिटरिंग से कोई सूचना मिलती है, तो फ़ंक्शन ट्रिगर होते हैं
- रीयल टाइम डेटाबेस: डेटा बनाने, अपडेट करने या मिटाने पर फ़ंक्शन ट्रिगर करना
- रिमोट कॉन्फ़िगरेशन: पैरामीटर अपडेट होने पर फ़ंक्शन ट्रिगर करता है
- टेस्ट लैब: जब टेस्ट लैब किसी सूचना को ट्रिगर करे, तो फ़ंक्शन ट्रिगर करें
Google Cloud सेवा के ट्रिगर
एक्सटेंशन में ऐसे फ़ंक्शन भी शामिल हो सकते हैं जो Firebase के अलावा, Google Cloud की कई सेवाओं को ट्रिगर करते हैं:
- Cloud Pub/Sub: किसी एक्सटेंशन में ऐसे फ़ंक्शन शामिल हो सकते हैं जो तब ट्रिगर होते हैं इवेंट, कॉन्फ़िगर किए जा सकने वाले Pub/Sub विषय में पोस्ट किए जाते हैं.
- Cloud Scheduler: किसी एक्सटेंशन में ऐसे फ़ंक्शन शामिल किए जा सकते हैं जो तय किए गए शेड्यूल के मुताबिक काम करते हैं
- Cloud Tasks: किसी एक्सटेंशन में ऐसे फ़ंक्शन शामिल हो सकते हैं जिनका इस्तेमाल करके सूची में जोड़ा जा सकता है क्लाउड टास्क. Firebase एक्सटेंशन इस सुविधा का इस्तेमाल करके, आपको एक्सटेंशन लेखक, ऐसे फ़ंक्शन लिखें जो किसी एक्सटेंशन के "लाइफ़साइकल" का जवाब देते हों इवेंट: किसी प्रोजेक्ट में पहली बार इंस्टॉल किया जा रहा है, शामिल किया गया है और उसे फिर से कॉन्फ़िगर किया जा रहा है.
- Eventarc: किसी एक्सटेंशन में ऐसे फ़ंक्शन शामिल किए जा सकते हैं जो कॉन्फ़िगर किए जा सकने वाले Eventarc चैनल पर इवेंट पब्लिश होने पर ट्रिगर होते हैं. इसके उलट, कोई एक्सटेंशन अपने इवेंट को Eventarc चैनल पर पब्लिश कर सकता है, ताकि उपयोगकर्ता एक्सटेंशन के इवेंट से ट्रिगर होने वाले अपने फ़ंक्शन तय कर सकें.
फ़ंक्शन के साथ काम करने वाले
किसी एक्सटेंशन का Cloud फ़ंक्शन ट्रिगर होने के बाद, आम तौर पर इंटिग्रेशन की सीमा तय नहीं होती. यहां कुछ खास बातें बताई गई हैं, जिनसे पता चलता है कि आप क्या-क्या कर सकते हैं Cloud फ़ंक्शन से करें:
- Firebase या Google Cloud की ऐसी किसी भी सेवा को पढ़ना, उसमें डेटा डालना, और उससे इंटरैक्ट करना जो काम करने वाली IAM भूमिका का इस्तेमाल करती है.
- वेब एपीआई उपलब्ध कराने वाली तीसरे पक्ष की किसी भी सेवा के साथ काम करना.
- अगर आपने वेब एपीआई उपलब्ध कराया है, तो अपनी कस्टम सेवाओं के साथ काम करें.
- TensorFlow.js, Express.js वगैरह जैसी ज़्यादातर JavaScript लाइब्रेरी चलाएं.
एक्सटेंशन बनाने का तरीका
शुरू करें ट्यूटोरियल में, आपको पूरा एक्सटेंशन बनाने, उसकी जांच करने, और उसे पब्लिश करने की प्रोसेस के बारे में बताया गया है. एक्सटेंशन बनाने का तरीका जानने के लिए, इसे देखना सबसे सही है.
शुरुआती निर्देश को पढ़ने के बाद, आप विषय से जुड़ी गाइड, जो प्रॉडक्ट बनाने में इस्तेमाल होने वाले हर काम के बारे में बताती हैं आपका अपना एक्सटेंशन:
- किसी एक्सटेंशन के लिए फ़ंक्शन लिखना
- एक्सटेंशन में पैरामीटर का इस्तेमाल करना
- एक्सटेंशन के लिए सही ऐक्सेस सेट अप करना
- एक्सटेंशन लाइफ़साइकल इवेंट का जवाब देना
- किसी एक्सटेंशन में उपयोगकर्ता हुक जोड़ना
- अपने एक्सटेंशन के लिए उपयोगकर्ता दस्तावेज़ बनाना
- Extensions Hub पर एक्सटेंशन पब्लिश करना
- extension.yaml का पूरा रेफ़रंस