Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

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

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

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

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

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

  1. फायरबेस सीएलआई स्थापित करें। यदि आपके पास पहले से Firebase CLI स्थापित नहीं है, तो इसे अभी स्थापित करें । एमुलेटर सूट का उपयोग करने के लिए आपको सीएलआई संस्करण 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 और वेब प्रोजेक्ट को कॉन्फ़िगर करते समय आपके द्वारा सेट किए गए प्लेटफ़ॉर्म-विशिष्ट प्रोजेक्ट ID कॉन्फ़िगरेशन की भी जाँच करें।

सुरक्षा नियम विन्यास

एमुलेटर 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/ पर स्थापित और कैश की जाती हैं।

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

एक प्रमाणीकरण टोकन उत्पन्न करें (केवल होस्टिंग एमुलेटर)

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

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

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

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

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

चल रहे एमुलेटर की सूची बनाएं

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

एमुलेटर एसडीके एकीकरण

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

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

एंड्रॉयड Apple प्लेटफॉर्म वेब फायरबेस यूआई
एंड्रॉयड
फायरबेस यूआई
आईओएस
फायरबेस यूआई
वेब
रीयलटाइम डेटाबेस 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 लागू नहीं लागू नहीं लागू नहीं
मेजबानी लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं
एक्सटेंशन लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं लागू नहीं

व्यवस्थापक एसडीके उपलब्धता

नोड जावा अजगर जाना
रीयलटाइम डेटाबेस 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 भविष्य भविष्य भविष्य
क्लाउड फ़ंक्शंस लागू नहीं लागू नहीं लागू नहीं लागू नहीं
मेजबानी लागू नहीं लागू नहीं लागू नहीं लागू नहीं
एक्सटेंशन लागू नहीं लागू नहीं लागू नहीं लागू नहीं