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

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

लोकल एम्युलेटर सुइट इंस्टॉल करें

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

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

एम्युलेटर सुइट को इंस्टॉल करने के लिए:

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

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

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

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

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

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

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

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

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

एमुलेटर डिफ़ॉल्ट पोर्ट
पुष्टि करना 9099
एम्युलेटर सुइट का यूज़र इंटरफ़ेस (यूआई) 4000
Cloud Functions 5001
Eventarc 9299
Realtime Database 9000
Cloud Firestore 8080
Firebase के लिए Cloud Storage 9199
Firebase होस्टिंग 5000
Pub/Sub 8085

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

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

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

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

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

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

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

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

export JAVA_TOOL_OPTIONS="-Xmx4g"
firebase emulators:start

एक से ज़्यादा फ़्लैग को ऐसे कोट में रखा जा सकता है जिन्हें स्पेस से अलग किया गया हो, जैसे कि JAVA_TOOL_OPTIONS="-Xms2g -Xmx4g". फ़्लैग सिर्फ़ एम्युलेटर के Java-आधारित कॉम्पोनेंट पर असर डालते हैं और Firebase सीएलआई के दूसरे हिस्सों, जैसे कि एम्युलेटर सुइट यूज़र इंटरफ़ेस (यूआई) पर कोई असर नहीं डालते.

स्टार्ट अप एम्युलेटर

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

आदेश जानकारी
emulator:शुरू करें firebase.json में कॉन्फ़िगर किए गए Firebase प्रॉडक्ट के लिए, एम्युलेटर शुरू करें. जब तक पूरी तरह से बंद नहीं किया जाता, तब तक एम्युलेटर प्रोसेस चलती रहेंगी. emulators:start को कॉल करने पर, एम्युलेटर पहले से इंस्टॉल नहीं होने पर, एम्युलेटर ~/.cache/firebase/emulators/ में डाउनलोड हो जाएंगे.
झंडा जानकारी
--only ज़रूरी नहीं. तय करें कि कौनसे एम्युलेटर शुरू हों. एम्युलेटर,
--inspect-functions debug_port ज़रूरी नहीं. तय किए गए पोर्ट (या तर्क छोड़े जाने पर डिफ़ॉल्ट पोर्ट 9229) पर, फ़ंक्शन के ब्रेकपॉइंट डीबग करने की सुविधा चालू करने के लिए, Cloud Functions एम्युलेटर का इस्तेमाल करें. ध्यान दें कि जब यह फ़्लैग दिया जाता है, तो Cloud Functions एम्युलेटर, क्रम से चलने वाले खास मोड पर स्विच करता है जिसमें फ़ंक्शन को एक ही प्रोसेस में, क्रम से चलने वाले (एफ़आईएफ़ओ) क्रम में चलाया जाता है. इससे फ़ंक्शन को डीबग करने की प्रक्रिया आसान हो जाती है. हालांकि, यह काम कई प्रक्रियाओं और क्लाउड में एक साथ काम करने वाले फ़ंक्शन से अलग होता है.
--export-on-exit= ज़रूरी नहीं. पुष्टि, Cloud Firestore, रीयलटाइम डेटाबेस या Firebase एम्युलेटर के लिए Cloud Storage के साथ इस्तेमाल करें. 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 ज़रूरी नहीं. पुष्टि, Cloud Firestore, रीयलटाइम डेटाबेस या Firebase एम्युलेटर के लिए Cloud Storage के साथ इस्तेमाल करें. --export-on-exit स्टार्टअप विकल्प या emulators:export कमांड का इस्तेमाल करके चालू की गई पुष्टि, Cloud Firestore, रीयलटाइम डेटाबेस या 'Firebase एम्युलेटर' इंस्टेंस के लिए Cloud Storage का इस्तेमाल करके डेटा इंपोर्ट करें. एम्युलेटर मेमोरी में मौजूद मौजूदा डेटा को अपडेट कर दिया जाएगा.
सिम्युलेटर:एक्सपेरिमेंट scriptpath firebase.json में कॉन्फ़िगर किए गए Firebase प्रॉडक्ट के लिए, एम्युलेटर शुरू करने के बाद scriptpath पर स्क्रिप्ट चलाएं. स्क्रिप्ट के चलने के बाद, एम्युलेटर की प्रोसेस अपने-आप बंद हो जाएंगी.
झंडा जानकारी
--only ज़रूरी नहीं. तय करें कि कौनसे एम्युलेटर शुरू हों. एम्युलेटर के लिए, एक या एक से ज़्यादा नामों की जानकारी देने वाली, कॉमा लगाकर अलग की गई सूची दें. जैसे, 'firestore', 'database', 'Functions', 'hosting' या 'pubsub'.
--inspect-functions debug_port ज़रूरी नहीं. तय किए गए पोर्ट (या तर्क छूट जाने पर डिफ़ॉल्ट पोर्ट 9229) पर, फ़ंक्शन के ब्रेकपॉइंट डीबग करने की सुविधा चालू करने के लिए, Cloud Functions एम्युलेटर का इस्तेमाल करें. ध्यान दें कि जब यह फ़्लैग दिया जाता है, तो Cloud Functions एम्युलेटर, क्रम से चलने वाले खास एक्ज़ीक्यूशन मोड पर स्विच करता है, जिसमें फ़ंक्शन को एक ही प्रोसेस में क्रम से (एफ़आईएफ़ओ) क्रम में चलाया जाता है. इससे फ़ंक्शन डीबग करने की प्रोसेस आसान हो जाती है. हालांकि, क्लाउड पर फ़ंक्शन एक साथ काम करने के तरीके, मल्टी-प्रोसेस से अलग होते हैं.
--export-on-exit= ज़रूरी नहीं. पुष्टि, Cloud Firestore, रीयलटाइम डेटाबेस या Firebase एम्युलेटर के लिए Cloud Storage के साथ इस्तेमाल करें. 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 ज़रूरी नहीं. पुष्टि, Cloud Firestore, रीयलटाइम डेटाबेस या Firebase एम्युलेटर के लिए Cloud Storage के साथ इस्तेमाल करें. --export-on-exit स्टार्टअप विकल्प या emulators:export कमांड का इस्तेमाल करके चालू की गई पुष्टि, Cloud Firestore, रीयलटाइम डेटाबेस या 'Firebase एम्युलेटर' इंस्टेंस के लिए Cloud Storage का इस्तेमाल करके डेटा इंपोर्ट करें. एम्युलेटर मेमोरी में मौजूद डेटा को बदल दिया जाएगा.
--ui ज़रूरी नहीं. एक्ज़ीक्यूशन के दौरान एम्युलेटर यूज़र इंटरफ़ेस (यूआई) चलाएं.

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

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

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

सिम्युलेटर:एक्सपोर्ट करें export_directory

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

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

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

कंटेनर के तौर पर इस्तेमाल किए जा रहे एम्युलेटर सुइट की इमेज

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

इन बातों पर ध्यान दें:

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

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

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

अगर आपका लगातार इंटिग्रेशन वर्कफ़्लो, Firebase होस्टिंग पर निर्भर करता है, तो आपको 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 या एक्सटेंशन एम्युलेटर में चल रहे किसी भी onDelete फ़ंक्शन को ट्रिगर किए बिना, Cloud Firestore एम्युलेटर का पूरा डेटा मिटाना चाहें.

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

curl -X PUT localhost:4400/functions/disableBackgroundTriggers

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

{
  "enabled": false
}

लोकल फ़ंक्शन ट्रिगर को बंद करने के बाद उन्हें चालू करने के लिए, एम्युलेटर हब के /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 फ़्यूचर लागू नहीं
पुष्टि करना 20.0.0 7.0.0 8.0.0 7.0.0 फ़्यूचर 4.7.2
Firebase के लिए Cloud Storage 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 लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं
एक्‍सटेंशन लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं

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

नोड Java Python शुरू करें
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
पुष्टि करना 9.3.0 7.2.0 5.0.0 4.2.0
Firebase के लिए Cloud Storage 9.8.0 फ़्यूचर फ़्यूचर फ़्यूचर
Cloud Functions लागू नहीं लागू नहीं लागू नहीं लागू नहीं
Hosting लागू नहीं लागू नहीं लागू नहीं लागू नहीं
एक्‍सटेंशन लागू नहीं लागू नहीं लागू नहीं लागू नहीं