लोकल एम्युलेटर सुइट को इंस्टॉल, कॉन्फ़िगर, और इंटिग्रेट करें

Firebase Local Emulator Suite को अलग-अलग प्रोटोटाइप और टेस्टिंग एनवायरमेंट के लिए इंस्टॉल और कॉन्फ़िगर किया जा सकता है. जैसे, एक बार में होने वाले प्रोटोटाइपिंग सेशन से लेकर, प्रोडक्शन-स्केल के लिए लगातार इंटिग्रेशन वाले वर्कफ़्लो तक.

Local Emulator Suite इंस्टॉल करना

Emulator Suite इंस्टॉल करने से पहले, आपको इन चीज़ों की ज़रूरत होगी:

  • Node.js का 16.0 या इसके बाद वाला वर्शन होना चाहिए.
  • Java JDK का 11 या इसके बाद का वर्शन.

Emulator Suite इंस्टॉल करने के लिए:

  1. Firebase सीएलआई इंस्टॉल करें. अगर आपके पास पहले से Firebase CLI इंस्टॉल नहीं है, तो इसे अभी इंस्टॉल करें. Emulator Suite का इस्तेमाल करने के लिए, आपको सीएलआई का 8.14.0 या इसके बाद का वर्शन चाहिए. इस निर्देश का इस्तेमाल करके, यह पता लगाया जा सकता है कि आपने कौनसा वर्शन इंस्टॉल किया है:
    firebase --version
  2. अगर आपने अब तक ऐसा नहीं किया है, तो मौजूदा वर्किंग डायरेक्ट्री को Firebase प्रोजेक्ट के तौर पर शुरू करें. इसके लिए, स्क्रीन पर दिखने वाले निर्देशों का पालन करके यह तय करें कि किन प्रॉडक्ट का इस्तेमाल करना है:
    firebase init
  3. Emulator Suite सेट अप करें. यह कमांड, कॉन्फ़िगरेशन विज़र्ड को शुरू करता है. इसकी मदद से, अपनी पसंद के एमुलेटर चुने जा सकते हैं, उनसे जुड़ी एमुलेटर बाइनरी फ़ाइलें डाउनलोड की जा सकती हैं, और डिफ़ॉल्ट पोर्ट सही न होने पर एमुलेटर पोर्ट सेट किए जा सकते हैं.
    firebase init emulators

किसी एमुलेटर को इंस्टॉल करने के बाद, अपडेट की जांच नहीं की जाती. साथ ही, Firebase CLI का वर्शन अपडेट करने तक, कोई और अपडेट अपने-आप डाउनलोड नहीं होगा.

Emulator Suite कॉन्फ़िगर करना

firebase.json फ़ाइल में, एम्युलेटर के नेटवर्क पोर्ट और सुरक्षा के नियमों की परिभाषाओं का पाथ कॉन्फ़िगर किया जा सकता है:

  • firebase init emulators को चलाकर या firebase.json में मैन्युअल तरीके से बदलाव करके, एमुलेटर पोर्ट बदलें.
  • firebase.json में मैन्युअल तरीके से बदलाव करके, सुरक्षा नियमों की परिभाषाओं का पाथ बदलें.

अगर इन सेटिंग को कॉन्फ़िगर नहीं किया जाता है, तो एमुलेटर अपने डिफ़ॉल्ट पोर्ट पर सुनेंगे. साथ ही, Cloud Firestore, Realtime Database, और Cloud Storage for Firebase एमुलेटर, ओपन डेटा सिक्योरिटी के साथ चलेंगे.

आदेश ब्यौरा
init emulators एम्युलेटर को शुरू करने वाला विज़र्ड शुरू करें. इंस्टॉल किए जाने वाले एम्युलेटर की पहचान करें और एम्युलेटर पोर्ट की सेटिंग तय करें. हालांकि, ऐसा करना ज़रूरी नहीं है. init emulators से कोई नुकसान नहीं होता. डिफ़ॉल्ट सेटिंग स्वीकार करने पर, एमुलेटर का मौजूदा कॉन्फ़िगरेशन सुरक्षित रहेगा.

पोर्ट कॉन्फ़िगरेशन

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

एम्युलेटर डिफ़ॉल्ट पोर्ट
Authentication 9099
Emulator Suite UI 4000
Cloud Functions 5001
Eventarc 9299
Realtime Database 9000
Cloud Firestore 8080
Cloud Storage for Firebase 9199
Firebase Hosting 5000
Pub/Sub 8085

प्रोजेक्ट आईडी का कॉन्फ़िगरेशन

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

आम तौर पर, सभी एमुलेटर के इस्तेमाल के लिए एक प्रोजेक्ट आईडी सेट करना अच्छा होता है. इससे Emulator Suite UI, अलग-अलग प्रॉडक्ट एमुलेटर, और किसी खास एमुलेटर के सभी चल रहे इंस्टेंस, सभी मामलों में सही तरीके से कम्यूनिकेट कर सकते हैं.

जब Local Emulator Suite को एनवायरमेंट में एक से ज़्यादा प्रोजेक्ट आईडी का पता चलता है, तो वह चेतावनियां जारी करता है. हालांकि, firebase.json में singleProjectMode कुंजी को false पर सेट करके, ऐसा किया जा सकता है.

प्रोजेक्ट आईडी से जुड़े एलानों को देखा जा सकता है, ताकि इनमें जानकारी मेल न खाती हो:

  • कमांड लाइन में डिफ़ॉल्ट प्रोजेक्ट. डिफ़ॉल्ट रूप से, प्रोजेक्ट आईडी, firebase init या firebase use से चुने गए प्रोजेक्ट से, स्टार्टअप पर लिया जाएगा. प्रोजेक्ट की सूची देखने और यह देखने के लिए कि कौनसा प्रोजेक्ट चुना गया है, firebase projects:list का इस्तेमाल करें.
  • नियमों के यूनिट टेस्ट. प्रोजेक्ट आईडी, अक्सर Rules Unit Testing लाइब्रेरी के तरीकों initializeTestEnvironment या initializeTestApp के कॉल में बताया जाता है.
  • कमांड लाइन --project फ़्लैग. Firebase CLI --project फ़्लैग पास करने पर, डिफ़ॉल्ट प्रोजेक्ट बदल जाता है. आपको यह पक्का करना होगा कि फ़्लैग की वैल्यू, यूनिट टेस्ट और ऐप्लिकेशन शुरू करने की प्रोसेस में प्रोजेक्ट आईडी से मेल खाती हो.

Apple प्लैटफ़ॉर्म, Android, और वेब प्रोजेक्ट को कॉन्फ़िगर करते समय, आपने प्लैटफ़ॉर्म के हिसाब से जो प्रोजेक्ट आईडी कॉन्फ़िगर किए हैं उन्हें भी देखें.

सुरक्षा नियमों का कॉन्फ़िगरेशन

एमुलेटर, firebase.json में database, firestore, और storage कॉन्फ़िगरेशन कुंजियों से सुरक्षा नियमों का कॉन्फ़िगरेशन ले लेंगे.

{
  // Existing firebase configuration ...
  "database": {
    "rules": "database.rules.json"
  },
  "firestore": {
    "rules": "firestore.rules"
  },
  "storage": {
    "rules": "storage.rules"
  }

  // ...

  // Optional emulator configuration. Default
  // values are used if absent.
  "emulators": {
    "singleProjectMode": false, // do not warn on detection of multiple project IDs
    "firestore": {
      "port": "8080"
    },
    "ui": {
      "enabled": true,      // Default is `true`
      "port": 4000          // If unspecified, see CLI log for selected port
    },
    "auth": {
      "port": "9099"
    },
    "pubsub": {
      "port": "8085"
    }
  }
}

Java के विकल्पों की जानकारी देना

Realtime Database एमुलेटर, Cloud Firestore एमुलेटर, और Cloud Storage for Firebase एमुलेटर का कुछ हिस्सा, Java पर आधारित है. इसे एनवायरमेंट वैरिएबल JAVA_TOOL_OPTIONS की मदद से, JVM फ़्लैग के हिसाब से बनाया जा सकता है.

उदाहरण के लिए, अगर आपको Java ढेर के स्पेस से जुड़ी गड़बड़ियां आ रही हैं, तो Java ढेर का साइज़ 4 जीबी तक बढ़ाया जा सकता है:

export JAVA_TOOL_OPTIONS="-Xmx4g"
firebase emulators:start

एक से ज़्यादा फ़्लैग को कोटेशन में डाला जा सकता है और उन्हें स्पेस से अलग किया जा सकता है, जैसे कि JAVA_TOOL_OPTIONS="-Xms2g -Xmx4g". फ़्लैग का असर, सिर्फ़ एमुलेटर के Java-based कॉम्पोनेंट पर पड़ता है. इनका असर Firebase CLI के दूसरे हिस्सों पर नहीं पड़ता, जैसे कि Emulator Suite UI.

एम्युलेटर शुरू करना

एमुलेटर को मैन्युअल तरीके से बंद किए जाने तक या तय की गई टेस्ट स्क्रिप्ट के दौरान चलाने के लिए सेट किया जा सकता है. इसके बाद, वे अपने-आप बंद हो जाएंगे.

आदेश ब्यौरा
emulators:start firebase.json में कॉन्फ़िगर किए गए Firebase प्रॉडक्ट के लिए, एमुलेटर शुरू करें. एमुलेटर प्रोसेस तब तक चलती रहेंगी, जब तक उन्हें साफ़ तौर पर बंद नहीं किया जाता. emulators:start को कॉल करने पर, एम्युलेटर पहले से इंस्टॉल नहीं होने पर, एम्युलेटर ~/.cache/firebase/emulator/ में डाउनलोड हो जाएंगे.
झंडा ब्यौरा
--only ज़रूरी नहीं. तय करें कि कौनसे एम्युलेटर शुरू हों. कॉमा लगाकर अलग किए गए एमुलेटर के नामों की सूची दें. इसमें 'auth', 'database', 'firestore', 'functions', 'hosting' या 'pubsub' में से एक या एक से ज़्यादा नाम शामिल करें.
--inspect-functions debug_port ज़रूरी नहीं. तय किए गए पोर्ट पर फ़ंक्शन के लिए ब्रेकपॉइंट डीबगिंग की सुविधा चालू करने के लिए, Cloud Functions एम्युलेटर के साथ इस्तेमाल करें. अगर आर्ग्युमेंट नहीं दिया गया है, तो डिफ़ॉल्ट पोर्ट 9229 का इस्तेमाल किया जाएगा. ध्यान दें कि यह फ़्लैग इस्तेमाल करने पर, Cloud Functions एमुलेटर एक खास क्रम में फ़ंक्शन चलाने वाले मोड पर स्विच हो जाता है. इस मोड में, फ़ंक्शन एक ही प्रोसेस में, क्रम से (एफ़आईएफ़ओ) चलाए जाते हैं. इससे फ़ंक्शन की डीबगिंग आसान हो जाती है. हालांकि, यह व्यवहार, क्लाउड में फ़ंक्शन को कई प्रोसेस में, एक साथ चलाने से अलग होता है.
--export-on-exit= ज़रूरी नहीं. Authentication, Cloud Firestore, Realtime Database या Cloud Storage for Firebase एमुलेटर के साथ इस्तेमाल करें. emulators:export कमांड के लिए बताए गए तरीके के मुताबिक, शटडाउन होने पर एमुलेटर को किसी डायरेक्ट्री में डेटा एक्सपोर्ट करने का निर्देश दें. एक्सपोर्ट डायरेक्ट्री को इस फ़्लैग के साथ दिखाया जा सकता है: firebase emulators:start --export-on-exit=./saved-data. अगर --import का इस्तेमाल किया जाता है, तो एक्सपोर्ट पाथ डिफ़ॉल्ट रूप से उसी पर सेट होता है; उदाहरण के लिए: firebase emulators:start --import=./data-path --export-on-exit. आखिर में, अगर आप चाहें, तो --import और --export-on-exit फ़्लैग में अलग-अलग डायरेक्ट्री पाथ डालें.
--import=import_directory ज़रूरी नहीं. Authentication, Cloud Firestore, Realtime Database या Cloud Storage for Firebase एमुलेटर के साथ इस्तेमाल करें. --export-on-exit स्टार्टअप विकल्प या emulators:export कमांड का इस्तेमाल करके सेव किए गए डेटा को, Authentication, Cloud Firestore, Realtime Database या Cloud Storage for Firebase एमुलेटर इंस्टेंस में इंपोर्ट करें. एमुलेटर की मेमोरी में मौजूद मौजूदा डेटा को बदल दिया जाएगा.
emulators:exec scriptpath firebase.json में कॉन्फ़िगर किए गए Firebase प्रॉडक्ट के एमुलेटर शुरू करने के बाद, scriptpath पर स्क्रिप्ट चलाएं. स्क्रिप्ट के चलने के बाद, एमुलेटर प्रोसेस अपने-आप बंद हो जाएंगी.
झंडा ब्यौरा
--only ज़रूरी नहीं. यह तय करें कि कौनसे एम्युलेटर शुरू हों. एम्युलेटर,
--inspect-functions debug_port ज़रूरी नहीं. तय किए गए पोर्ट पर फ़ंक्शन के लिए ब्रेकपॉइंट डीबगिंग की सुविधा चालू करने के लिए, Cloud Functions एम्युलेटर के साथ इस्तेमाल करें. अगर आर्ग्युमेंट नहीं दिया गया है, तो डिफ़ॉल्ट पोर्ट 9229 का इस्तेमाल किया जाएगा. ध्यान दें कि यह फ़्लैग दिए जाने पर, Cloud Functions एम्युलेटर, क्रम से लगाए गए खास मोड पर स्विच करता है. इसमें, फ़ंक्शन को एक ही प्रोसेस में, क्रम से चलने वाले (एफ़आईएफ़ओ) क्रम में एक्ज़ीक्यूट किया जाता है. इससे फ़ंक्शन को डीबग करने की प्रोसेस आसान हो जाती है. हालांकि, इसका तरीका क्लाउड में एक साथ कई प्रोसेस और एक साथ चलने वाले एक्ज़ीक्यूशन से अलग होता है.
--export-on-exit= ज़रूरी नहीं. Authentication, Cloud Firestore, Realtime Database या Cloud Storage for Firebase एमुलेटर के साथ इस्तेमाल करें. emulators:export कमांड के लिए बताए गए तरीके के मुताबिक, शटडाउन होने पर एमुलेटर को किसी डायरेक्ट्री में डेटा एक्सपोर्ट करने का निर्देश दें. एक्सपोर्ट डायरेक्ट्री को इस फ़्लैग की मदद से तय किया जा सकता है: firebase emulators:start --export-on-exit=./saved-data. --import का इस्तेमाल करने पर, एक्सपोर्ट पाथ डिफ़ॉल्ट रूप से वही होता है; उदाहरण के लिए: firebase emulators:start --import=./data-path --export-on-exit. आखिर में, अगर आप चाहें, तो --import और --export-on-exit फ़्लैग में अलग-अलग डायरेक्ट्री पाथ डालें.
--import=import_directory ज़रूरी नहीं. Authentication, Cloud Firestore, Realtime Database या Cloud Storage for Firebase एमुलेटर के साथ इस्तेमाल करें. --export-on-exit स्टार्टअप विकल्प या emulators:export कमांड का इस्तेमाल करके सेव किए गए डेटा को, Authentication, Cloud Firestore, Realtime Database या Cloud Storage for Firebase एमुलेटर इंस्टेंस में इंपोर्ट करें. एमुलेटर की मेमोरी में मौजूद मौजूदा डेटा को बदल दिया जाएगा.
--ui ज़रूरी नहीं. एक्ज़ीक्यूशन के दौरान एम्युलेटर यूज़र इंटरफ़ेस (यूआई) चलाएं.

आम तौर पर, firebase emulators:exec तरीका, लगातार इंटिग्रेशन वाले वर्कफ़्लो के लिए ज़्यादा सही होता है.

एमुलेटर का डेटा एक्सपोर्ट और इंपोर्ट करना

Authentication, Cloud Firestore, Realtime Database, और Cloud Storage for Firebase एमुलेटर से डेटा एक्सपोर्ट किया जा सकता है, ताकि उसे शेयर किए जा सकने वाले सामान्य बेसलाइन डेटा के तौर पर इस्तेमाल किया जा सके. इन डेटा सेट को ऊपर बताए गए तरीके के मुताबिक, --import फ़्लैग का इस्तेमाल करके इंपोर्ट किया जा सकता है.

emulators:export export_directory

Authentication, Cloud Firestore, Realtime Database या Cloud Storage for Firebase एम्युलेटर. चल रहे Cloud Firestore, Realtime Database या Cloud Storage for Firebase एमुलेटर इंस्टेंस से डेटा एक्सपोर्ट करें. अगर तय किया गया export_directory पहले से मौजूद नहीं है, तो उसे बनाया जाएगा. अगर बताई गई डायरेक्ट्री मौजूद है, तो आपसे पुष्टि करने के लिए कहा जाएगा कि पिछले एक्सपोर्ट किए गए डेटा को ओवरराइट किया जाए. --force फ़्लैग का इस्तेमाल करके, इस प्रॉम्प्ट को छोड़ा जा सकता है. एक्सपोर्ट डायरेक्ट्री में, डेटा मेनिफ़ेस्ट फ़ाइल firebase-export-metadata.json होती है.

ऊपर बताए गए --export-on-exit फ़्लैग का इस्तेमाल करके, एमुलेटर को शटडाउन होने पर डेटा अपने-आप एक्सपोर्ट करने का निर्देश दिया जा सकता है.

अपने सीआई सिस्टम से इंटिग्रेट करें

कंटेनर में मौजूद Emulator Suite की इमेज चलाना

आम तौर पर, सीआई सेटअप में कंटेनर के साथ Emulator Suite को इंस्टॉल और कॉन्फ़िगर करना आसान है.

ध्यान देने वाली कुछ बातें:

  • JAR फ़ाइलें ~/.cache/firebase/emulators/ पर इंस्टॉल और कैश मेमोरी में सेव की जाती हैं.

    • बार-बार डाउनलोड होने से बचने के लिए, इस पाथ को सीआई कैश मेमोरी में डेटा सेव किए जाने की सेटिंग में जोड़ा जा सकता है.
  • अगर आपके पास डेटा स्टोर करने की जगह में firebase.json फ़ाइल नहीं है, तो आपको emulators:start या emulators:exec कमांड में एक कमांड लाइन आर्ग्युमेंट जोड़ना होगा. इससे यह तय किया जा सकेगा कि कौनसे एम्युलेटर इस्तेमाल करने चाहिए. उदाहरण के लिए,
    --only functions,firestore.

पुष्टि करने वाला टोकन जनरेट करना (सिर्फ़ होस्टिंग एमुलेटर के लिए)

अगर आपके सीआई (कंटिन्यूअस इंटिग्रेशन) वर्कफ़्लो, Firebase Hosting पर निर्भर हैं, तो firebase emulators:exec को चलाने के लिए, आपको टोकन का इस्तेमाल करके लॉग इन करना होगा. अन्य इम्यूलेटर के लिए, लॉगिन करने की ज़रूरत नहीं होती.

टोकन जनरेट करने के लिए, अपने लोकल एनवायरमेंट पर firebase login:ci चलाएं. इसे किसी सीआई सिस्टम से नहीं चलाना चाहिए. पुष्टि करने के लिए निर्देशों का पालन करें. आपको हर प्रोजेक्ट के लिए, यह चरण सिर्फ़ एक बार पूरा करना होगा. ऐसा इसलिए, क्योंकि टोकन सभी बिल्ड के लिए मान्य होगा. टोकन को पासवर्ड की तरह इस्तेमाल किया जाना चाहिए. यह पक्का करें कि इसे सीक्रेट रखा गया हो.

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

आखिरी उपाय के तौर पर, अपनी बिल्ड स्क्रिप्ट में टोकन शामिल किया जा सकता है. हालांकि, यह पक्का करें कि भरोसेमंद पक्षों के पास इसका ऐक्सेस न हो. हार्ड कोड किए गए इस तरीके के लिए, firebase emulators:exec कमांड में --token "YOUR_TOKEN_STRING_HERE" जोड़ा जा सकता है.

एम्युलेटर हब REST API का इस्तेमाल करें

चल रहे एम्युलेटर की सूची

मौजूदा एम्युलेटर को लिस्ट करने के लिए, एम्युलेटर हब के /emulators एंडपॉइंट पर GET का अनुरोध भेजें.

curl localhost:4400/emulators

इससे एक JSON ऑब्जेक्ट मिलेगा, जिसमें सभी चल रहे एम्युलेटर और उनके होस्ट/पोर्ट कॉन्फ़िगरेशन शामिल होंगे, उदाहरण के लिए:

{
  "hub":{
    "name": "hub",
    "host": "localhost",
    "port": 4400
  },
  "functions": {
    "name": "functions",
    "host": "localhost",
    "port": 5001
  }
  "firestore": {
    "name": "firestore",
    "host": "localhost",
    "port": 8080
  }
}

बैकग्राउंड फ़ंक्शन ट्रिगर चालू या बंद करना

कुछ मामलों में, आपको स्थानीय फ़ंक्शन और एक्सटेंशन ट्रिगर को कुछ समय के लिए बंद करना होगा. उदाहरण के लिए, हो सकता है कि आपको Cloud Functions या Extensions एमुलेटर में चल रहे किसी भी onDelete फ़ंक्शन को ट्रिगर किए बिना, Cloud Firestore एमुलेटर में मौजूद सारा डेटा मिटाना हो.

स्थानीय फ़ंक्शन ट्रिगर को कुछ समय के लिए बंद करने के लिए, Emulator Hub के PUT एंडपॉइंट पर /functions/disableBackgroundTriggers अनुरोध भेजें.

curl -X PUT localhost:4400/functions/disableBackgroundTriggers

इसका नतीजा, मौजूदा स्थिति की जानकारी देने वाला JSON ऑब्जेक्ट होगा.

{
  "enabled": false
}

बंद किए गए लोकल फ़ंक्शन ट्रिगर को चालू करने के लिए, Emulator Hub के /functions/enableBackgroundTriggers एंडपॉइंट पर PUT अनुरोध भेजें.

curl -X PUT localhost:4400/functions/enableBackgroundTriggers

इसका नतीजा, मौजूदा स्थिति की जानकारी देने वाला JSON ऑब्जेक्ट होगा.

{
  "enabled": true
}

एम्युलेटर SDK टूल इंटिग्रेशन

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

क्लाइंट SDK टूल की उपलब्धता

Android Apple प्लैटफ़ॉर्म वेब Firebase यूज़र इंटरफ़ेस
Android
Firebase यूज़र इंटरफ़ेस (यूआई)
iOS
Firebase यूज़र इंटरफ़ेस (यूआई)
वेब
Realtime Database 19.4.0 7.2.0 8.0.0 6.4.0 फ़्यूचर लागू नहीं
Cloud Firestore 21.6.0 7.2.0 8.0.0 6.4.0 फ़्यूचर लागू नहीं
Authentication 20.0.0 7.0.0 8.0.0 7.0.0 फ़्यूचर 4.7.2
Cloud Storage for Firebase 20.0.0 8.0.0 8.4.0 7.0.0 11.0.0 लागू नहीं
Cloud Functions 19.1.0 7.2.0 8.0.0 लागू नहीं लागू नहीं लागू नहीं
Hosting लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं
Extensions लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं

एडमिन SDK टूल की उपलब्धता

नोड Java Python Go
Realtime Database 8.6.0 6.10.0 2.18.0 फ़्यूचर
Cloud Firestore 8.0.0 6.10.0 3.0.0 1.0.0
Authentication 9.3.0 7.2.0 5.0.0 4.2.0
Cloud Storage for Firebase 9.8.0 फ़्यूचर फ़्यूचर फ़्यूचर
Cloud Functions लागू नहीं लागू नहीं लागू नहीं लागू नहीं
Hosting लागू नहीं लागू नहीं लागू नहीं लागू नहीं
Extensions लागू नहीं लागू नहीं लागू नहीं लागू नहीं