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