स्थानीय एमुलेटर सुइट को स्थापित, कॉन्फ़िगर और एकीकृत करें

फायरबेस लोकल एमुलेटर सूट को विभिन्न प्रोटोटाइप और परीक्षण वातावरणों के लिए स्थापित और कॉन्फ़िगर किया जा सकता है, एक-ऑफ़ प्रोटोटाइप सत्र से लेकर उत्पादन-पैमाने पर निरंतर एकीकरण वर्कफ़्लो तक कुछ भी।

स्थानीय एम्यूलेटर सुइट स्थापित करें

एम्यूलेटर सूट स्थापित करने से पहले आपको इसकी आवश्यकता होगी:

  • Node.js संस्करण 16.0 या उच्चतर।
  • जावा जेडीके संस्करण 11 या उच्चतर।

एम्यूलेटर सुइट स्थापित करने के लिए:

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

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

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

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

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

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

आज्ञा विवरण
init अनुकरणकर्ता एक एमुलेटर इनिशियलाइज़ेशन विज़ार्ड प्रारंभ करें। स्थापित किए जाने वाले एमुलेटर की पहचान करें और वैकल्पिक रूप से एमुलेटर पोर्ट सेटिंग्स निर्दिष्ट करें। init emulators गैर-विनाशकारी है; डिफ़ॉल्ट स्वीकार करने से वर्तमान एमुलेटर कॉन्फ़िगरेशन सुरक्षित रहेगा।

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

प्रत्येक एमुलेटर पसंदीदा डिफ़ॉल्ट मान के साथ आपकी मशीन पर एक अलग पोर्ट से जुड़ता है।

एम्यूलेटर डिफ़ॉल्ट पोर्ट
प्रमाणीकरण 9099
एम्यूलेटर सुइट यूआई 4000
क्लाउड फ़ंक्शंस 5001
इवेंटआर्क 9299
रीयलटाइम डेटाबेस 9000
क्लाउड फायरस्टोर 8080
फायरबेस के लिए क्लाउड स्टोरेज 9199
फायरबेस होस्टिंग 5000
पब/उप 8085

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

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

आम तौर पर सभी एमुलेटर इनवोकेशन के लिए एक प्रोजेक्ट आईडी सेट करना एक अच्छा अभ्यास है, ताकि एमुलेटर सूट यूआई, विभिन्न उत्पाद एमुलेटर, और एक विशेष एमुलेटर के सभी चल रहे इंस्टेंस सभी मामलों में सही ढंग से संचार कर सकें।

जब स्थानीय एमुलेटर सूट वातावरण में एकाधिक प्रोजेक्ट आईडी का पता लगाता है तो चेतावनी जारी करता है, हालांकि आप अपने firebase.json में singleProjectMode कुंजी को false पर सेट करके इस व्यवहार को ओवरराइड कर सकते हैं।

आप बेमेल के लिए प्रोजेक्ट आईडी घोषणा(घोषणाओं) की जांच कर सकते हैं:

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

उदाहरण के लिए, यदि आप जावा हीप स्पेस से संबंधित त्रुटियों का अनुभव करते हैं, तो आप अधिकतम जावा हीप आकार को 4GB तक बढ़ा सकते हैं:

export JAVA_TOOL_OPTIONS="-Xmx4g"
firebase emulators:start

रिक्त स्थान से अलग किए गए उद्धरण चिह्नों में एकाधिक झंडे निर्दिष्ट किए जा सकते हैं, जैसे JAVA_TOOL_OPTIONS="-Xms2g -Xmx4g" झंडे केवल एमुलेटर के जावा-आधारित घटकों को प्रभावित करते हैं और फायरबेस सीएलआई के अन्य हिस्सों, जैसे एमुलेटर सूट यूआई, पर कोई प्रभाव नहीं पड़ता है।

एम्यूलेटर प्रारंभ करें

आप एमुलेटर को मैन्युअल रूप से समाप्त होने तक चलाने के लिए शुरू कर सकते हैं, या निर्दिष्ट परीक्षण स्क्रिप्ट की अवधि के लिए चलाने के लिए फिर स्वचालित रूप से बंद कर सकते हैं।

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

firebase emulators:exec विधि आम तौर पर निरंतर एकीकरण वर्कफ़्लो के लिए अधिक उपयुक्त है।

एमुलेटर डेटा निर्यात और आयात करें

आप साझा करने योग्य, सामान्य बेसलाइन डेटा सेट के रूप में उपयोग करने के लिए फायरबेस एमुलेटर के लिए प्रमाणीकरण, क्लाउड फायरस्टोर, रीयलटाइम डेटाबेस और क्लाउड स्टोरेज से डेटा निर्यात कर सकते हैं। जैसा कि ऊपर वर्णित है, इन डेटा सेटों को --import ध्वज का उपयोग करके आयात किया जा सकता है।

अनुकरणकर्ता: निर्यात export_directory

फायरबेस एमुलेटर के लिए प्रमाणीकरण, क्लाउड फायरस्टोर, रीयलटाइम डेटाबेस या क्लाउड स्टोरेज । फायरबेस एमुलेटर इंस्टेंस के लिए चल रहे क्लाउड फायरस्टोर, रीयलटाइम डेटाबेस या क्लाउड स्टोरेज से डेटा निर्यात करें। निर्दिष्ट export_directory बनाई जाएगी यदि यह पहले से मौजूद नहीं है। यदि निर्दिष्ट निर्देशिका मौजूद है, तो आपको यह पुष्टि करने के लिए कहा जाएगा कि पिछले निर्यात डेटा को अधिलेखित किया जाना चाहिए। आप --force ध्वज का उपयोग करके इस संकेत को छोड़ सकते हैं। निर्यात निर्देशिका में एक डेटा मेनिफेस्ट फ़ाइल, firebase-export-metadata.json शामिल है।

आप ऊपर वर्णित --export-on-exit फ़्लैग का उपयोग करके बंद होने पर एमुलेटर को स्वचालित रूप से डेटा निर्यात करने का निर्देश दे सकते हैं।

अपने सीआई सिस्टम के साथ एकीकृत करें

कंटेनरीकृत एमुलेटर सुइट छवियाँ चलाना

एक विशिष्ट सीआई सेटअप में कंटेनरों के साथ एमुलेटर सूट की स्थापना और कॉन्फ़िगरेशन सीधा है।

ध्यान देने योग्य कुछ मुद्दे हैं:

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

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

एक ऑथ टोकन जनरेट करें (केवल होस्टिंग एम्यूलेटर)

यदि आपका निरंतर एकीकरण वर्कफ़्लो फ़ायरबेस होस्टिंग पर निर्भर करता है, तो आपको firebase emulators:exec । अन्य एमुलेटरों को लॉगिन की आवश्यकता नहीं है।

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

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

अंतिम उपाय के रूप में, आप बस अपनी बिल्ड स्क्रिप्ट में टोकन शामिल कर सकते हैं, लेकिन सुनिश्चित करें कि अविश्वसनीय पार्टियों के पास पहुंच न हो। इस हार्ड-कोडित दृष्टिकोण के लिए, आप firebase emulators:exec कमांड में --token "YOUR_TOKEN_STRING_HERE" जोड़ सकते हैं।

एम्यूलेटर हब रेस्ट एपीआई का उपयोग करें

चल रहे अनुकरणकर्ताओं की सूची बनाएं

वर्तमान में चल रहे एमुलेटर को सूचीबद्ध करने के लिए, एमुलेटर हब के /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
  }
}

पृष्ठभूमि फ़ंक्शन ट्रिगर सक्षम/अक्षम करें

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

स्थानीय फ़ंक्शन ट्रिगर्स को अस्थायी रूप से अक्षम करने के लिए, एम्यूलेटर हब के /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
}

एम्यूलेटर एसडीके एकीकरण

इस अनुभाग की तालिकाएँ इंगित करती हैं कि कौन से एमुलेटर क्लाइंट और एडमिन एसडीके द्वारा समर्थित हैं। भविष्य का मतलब है कि एमुलेटर समर्थन की योजना बनाई गई है लेकिन अभी तक उपलब्ध नहीं है।

क्लाइंट एसडीके उपलब्धता

एंड्रॉयड एप्पल प्लेटफार्म वेब फायरबेस यूआई
एंड्रॉयड
फायरबेस यूआई
आईओएस
फायरबेस यूआई
वेब
रीयलटाइम डेटाबेस 19.4.0 7.2.0 8.0.0 6.4.0 भविष्य एन/ए
क्लाउड फायरस्टोर 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
फायरबेस के लिए क्लाउड स्टोरेज 20.0.0 8.0.0 8.4.0 7.0.0 11.0.0 एन/ए
क्लाउड फ़ंक्शंस 19.1.0 7.2.0 8.0.0 एन/ए एन/ए एन/ए
मेजबानी एन/ए एन/ए एन/ए एन/ए एन/ए एन/ए
एक्सटेंशन एन/ए एन/ए एन/ए एन/ए एन/ए एन/ए

व्यवस्थापक SDK उपलब्धता

नोड जावा अजगर जाना
रीयलटाइम डेटाबेस 8.6.0 6.10.0 2.18.0 भविष्य
क्लाउड फायरस्टोर 8.0.0 6.10.0 3.0.0 1.0.0
प्रमाणीकरण 9.3.0 7.2.0 5.0.0 4.2.0
फायरबेस के लिए क्लाउड स्टोरेज 9.8.0 भविष्य भविष्य भविष्य
क्लाउड फ़ंक्शंस एन/ए एन/ए एन/ए एन/ए
मेजबानी एन/ए एन/ए एन/ए एन/ए
एक्सटेंशन एन/ए एन/ए एन/ए एन/ए