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

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

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

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

  • Node.js का 16.0 या इसके बाद का वर्शन.
  • Java JDK 11 या इसके बाद का वर्शन.

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

  1. Firebase सीएलआई इंस्टॉल करें. अगर आपने Firebase CLI पहले से इंस्टॉल नहीं की है, तो इसे अभी इंस्टॉल करें. Emulator Suite का इस्तेमाल करने के लिए, आपको CLI 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
App Hosting 5002
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 हीप के ज़्यादा से ज़्यादा साइज़ को 4GB तक बढ़ाया जा सकता है:

export JAVA_TOOL_OPTIONS="-Xmx4g"
firebase emulators:start

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

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

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

आदेश ब्यौरा
emulators:start firebase.json में कॉन्फ़िगर किए गए Firebase प्रॉडक्ट के लिए, एम्युलेटर शुरू करें. इम्यूलेटर प्रोसेस तब तक चलती रहेंगी, जब तक उन्हें बंद नहीं किया जाता. कॉल करने पर emulators:start, एम्युलेटर ~/.cache/firebase/emulators/ में डाउनलोड हो जाएंगे. ऐसा तब होगा, जब वे पहले से इंस्टॉल न हों.
झंडा ब्यौरा
--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 एम्युलेटर इंस्टेंस में इंपोर्ट करें. एम्युलेटर की मेमोरी में मौजूद डेटा मिट जाएगा.
--log-verbosity=verbosity ज़रूरी नहीं. यह विकल्प, एम्युलेटर से मिलने वाले लॉगिंग आउटपुट की मात्रा को कम करता है, ताकि कंसोल और लॉग फ़ाइलों में नॉइज़ कम हो. मान्य वैल्यू DEBUG, INFO, QUIET, SILENT हैं.
emulators:exec scriptpath firebase.json में कॉन्फ़िगर किए गए Firebase प्रॉडक्ट के लिए, एम्युलेटर शुरू करने के बाद scriptpath पर स्क्रिप्ट चलाएं. स्क्रिप्ट के चलने की प्रोसेस पूरी होने के बाद, एम्युलेटर की प्रोसेस अपने-आप बंद हो जाएंगी.
झंडा ब्यौरा
--only ज़रूरी नहीं. यह तय करें कि कौनसे एम्युलेटर शुरू किए जा सकते हैं. कॉमा लगाकर अलग किए गए एम्युलेटर के नामों की सूची दें. इसमें 'firestore', 'database', '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 एम्युलेटर इंस्टेंस में इंपोर्ट करें. एम्युलेटर की मेमोरी में मौजूद डेटा बदल दिया जाएगा.
--ui ज़रूरी नहीं. स्क्रिप्ट चलाने के दौरान, Emulator UI को चलाएं.
--log-verbosity=verbosity ज़रूरी नहीं. यह विकल्प, एम्युलेटर से मिलने वाले लॉगिंग आउटपुट की मात्रा को कम करता है, ताकि कंसोल और लॉग फ़ाइलों में नॉइज़ कम हो. मान्य वैल्यू DEBUG, INFO, QUIET, SILENT हैं.

आम तौर पर, 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 को इंस्टॉल और कॉन्फ़िगर करना आसान है. इसके लिए, सामान्य CI सेटअप का इस्तेमाल किया जाता है.

इन बातों का ध्यान रखें:

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

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

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

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

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

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

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

Emulator Hub REST API का इस्तेमाल करना

चालू एम्युलेटर की सूची बनाना

फ़िलहाल चल रहे एम्युलेटर की सूची बनाने के लिए, Emulator Hub के /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 Firestore एम्युलेटर में मौजूद सभी डेटा को मिटाना हो सकता है. हालांकि, आपको Cloud Functions या Extensions एम्युलेटर में चल रहे किसी भी onDelete फ़ंक्शन को ट्रिगर नहीं करना है.

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

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 टूल की उपलब्धता

Android Apple के प्लैटफ़ॉर्म वेब Firebase UI
Android
Firebase UI
iOS
Firebase UI
Web
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 लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं

Admin 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 लागू नहीं लागू नहीं लागू नहीं लागू नहीं