यह सुविधा इन प्लैटफ़ॉर्म पर काम करती है
Firebase JavaScript SDK टूल, आधिकारिक तौर पर इन एनवायरमेंट में काम करता है.
ब्राउज़र
| Firebase प्रॉडक्ट | Edge | Firefox | Chrome | iOS Safari | Safari |
|---|---|---|---|---|---|
| Firebase AI Logic 1 | |||||
| Analytics | |||||
| App Check | |||||
| Authentication | |||||
| Cloud Firestore | ( पर्सिस्टेंस को छोड़कर) |
(iOS 10 से पहले के वर्शन में, डेटा सेव रखने की सुविधा को छोड़कर) |
|||
| Cloud Functions | |||||
| Cloud Messaging | (Edge 17+ वर्शन, मोबाइल को छोड़कर) |
||||
| Cloud Storage | |||||
| Firebase इंस्टॉल | |||||
| Performance Monitoring | |||||
| Realtime Database | |||||
| Remote Config | |||||
| SQL Connect |
1 Firebase AI Logic को पहले "Vertex AI in Firebase" कहा जाता था.
अन्य एनवायरमेंट
| Firebase प्रॉडक्ट | React Native | Node.js (18+) | Chrome एक्सटेंशन |
कॉर्डोवा |
|---|---|---|---|---|
| Firebase AI Logic 1 | ||||
| App Check | (नेटिव डिवाइस अटेस्टेशन के लिए, कस्टम प्रोवाइडर का इस्तेमाल करना) |
(कस्टम प्रोवाइडर का इस्तेमाल करके) |
||
| Analytics | ||||
| Authentication | (ध्यान दें देखें) |
(ध्यान दें देखें) |
(ध्यान दें देखें) |
(ध्यान दें देखें) |
| Cloud Firestore | ( पर्सिस्टेंस को छोड़कर) |
( पर्सिस्टेंस को छोड़कर) |
||
| Cloud Functions | ||||
| Cloud Messaging | ||||
| Cloud Storage | ( अपलोड किए गए वीडियो को छोड़कर) |
|||
| Firebase इंस्टॉल | ||||
| Performance Monitoring | ||||
| Realtime Database | ||||
| Remote Config | ||||
| SQL Connect |
1 Firebase AI Logic को पहले "Vertex AI in Firebase" कहा जाता था.
पॉलीफ़िल
Firebase JavaScript SDK को वेब प्लैटफ़ॉर्म के नए स्टैंडर्ड के हिसाब से बनाया गया है. कुछ पुराने ब्राउज़र और JavaScript एनवायरमेंट में, Firebase के लिए ज़रूरी सभी सुविधाएं काम नहीं करतीं. अगर आपको इन ब्राउज़र/एनवायरमेंट के साथ काम करना है, तो आपको इनके हिसाब से पॉलीफ़िल लोड करने होंगे.
यहां दिए गए सेक्शन में, उन ज़्यादातर पॉलीफ़िल के बारे में बताया गया है जिनकी आपको ज़रूरत पड़ सकती है.
ज़रूरी पॉलीफ़िल
| एनवायरमेंट | पॉलीफ़िल |
|---|---|
| Safari 7, 8, और 9 | ES Stable |
| Node < 10 | ES Stable |
वैकल्पिक पॉलीफ़िल
| एनवायरमेंट | पॉलीफ़िल | Firebase के प्रॉडक्ट |
|---|---|---|
|
फ़ेच करना |
|
|
फ़ेच करना |
|
|
base-64 |
|
सुझाए गए पॉलीफ़िल
| पॉलीफ़िल | लाइसेंस |
|---|---|
| ES स्टेबल | MIT |
| fetch - `cross-fetch` - पुराने ब्राउज़र के लिए सबसे सही | MIT |
| fetch - `undici` - Node.js के लिए सबसे सही | MIT |
| base-64 | MIT |
React Native और Expo के लिए ज़रूरी Polyfill सेटअप
अगर React Native और Expo के लिए, base-64 कोड में बदली गई स्ट्रिंग अपलोड की जा रही है, तो आपको यह तरीका अपनाना होगा:
npm से base-64 इंस्टॉल करें:
npm install base-64
base-64 से decode को इंपोर्ट करें और इसे ग्लोबल स्कोप में atob के तौर पर अटैच करें, ताकि Cloud Storage इसे ऐक्सेस कर सके.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
अपने ऐप्लिकेशन में पॉलीफ़िल जोड़ना
पहला विकल्प: (सुझाया गया) Babel के साथ इंटिग्रेट किए गए बंडलर का इस्तेमाल करना
अगर बंडलर का इस्तेमाल किया जा रहा है, तो पॉलीफ़िल पाने के लिए Babel और @babel/preset-env के साथ इंटिग्रेट करें.
Babel को अपने बंडलर के साथ इंटिग्रेट करने का तरीका जानने के लिए, Babel की इंटरैक्टिव सेटअप गाइड का इस्तेमाल करें.
Babel का इस्तेमाल करने पर, आपको यह चिंता करने की ज़रूरत नहीं होती कि कौनसे polyfill शामिल करने हैं. इसके बजाय, आपको उन ब्राउज़र एनवायरमेंट की जानकारी देनी होगी जिन्हें आपको सपोर्ट करना है. इसके बाद, Babel आपके लिए ज़रूरी polyfill जोड़ता है. Babel यह पक्का करता है कि ब्राउज़र के साथ काम करने की आपकी ज़रूरी शर्तें हमेशा पूरी हों. भले ही, Firebase या आपका कोड, ईएस की नई सुविधाओं का इस्तेमाल करना शुरू कर दे.
@babel/preset-env में, एनवायरमेंट टारगेट (विकल्प targets) तय करने और पॉलीफ़िल (विकल्प useBuiltIns) जोड़ने के लिए उपलब्ध कॉन्फ़िगरेशन विकल्पों के बारे में ज़्यादा जानकारी दी गई है.
दूसरा विकल्प: (सुझाया नहीं गया) मैन्युअल तरीके से पॉलीफ़िल जोड़ना
अपनी पसंदीदा polyfill लाइब्रेरी (उदाहरण के लिए, core-js) का इस्तेमाल करके, polyfill को मैन्युअल तरीके से जोड़ा जा सकता है.
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js, ऑल-इन-वन polyfill फ़ाइल भी उपलब्ध कराता है. इसे सीधे एचटीएमएल पेज में शामिल किया जा सकता है.
अगर Babel का इस्तेमाल नहीं किया जाता है, तो यह विकल्प पॉलीफ़िल को मैनेज करने का एक आसान तरीका हो सकता है. हालांकि, हम प्रोडक्शन ऐप्लिकेशन के लिए, इस ऑल-इन-वन विकल्प का सुझाव नहीं देते. ऐसा इसलिए, क्योंकि इसमें ऐसे polyfill शामिल हो सकते हैं जिनकी ज़रूरत नहीं है. इससे पेज वेट बढ़ जाता है और पेज लोड होने में ज़्यादा समय लगता है.