इन प्लैटफ़ॉर्म पर काम करता है
Firebase JavaScript SDK, आधिकारिक तौर पर इन एनवायरमेंट में काम करता है.
ब्राउज़र
Firebase प्रॉडक्ट | Edge | Firefox | Chrome | iOS Safari | Safari |
---|---|---|---|---|---|
Firebase AI Logic 1 | |||||
Analytics | |||||
App Check | |||||
Authentication | |||||
Cloud Firestore | (except persistence) |
(except persistence if iOS < 10) |
|||
Cloud Functions | |||||
Firebase इंस्टॉल | |||||
Cloud Messaging | (Edge 17+, मोबाइल को छोड़कर) |
||||
Cloud Storage | |||||
Data Connect | |||||
Performance Monitoring | |||||
Realtime Database | |||||
Remote Config |
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 | (except persistence) |
(except persistence) |
||
Cloud Functions | ||||
Data Connect | ||||
Firebase इंस्टॉल | ||||
Cloud Messaging | ||||
Cloud Storage | (except uploads) |
|||
Performance Monitoring | ||||
Realtime Database | ||||
Remote Config |
1 Firebase AI Logic को पहले "Vertex AI in Firebase" कहा जाता था.
पॉलिफ़िल
Firebase JavaScript SDK, वेब प्लैटफ़ॉर्म के नए मानकों के हिसाब से बनाया गया है. कुछ पुराने ब्राउज़र और JavaScript एनवायरमेंट, Firebase के लिए ज़रूरी सभी सुविधाओं के साथ काम नहीं करते. अगर आपको इन ब्राउज़र/एनवायरमेंट के साथ काम करना है, तो आपको इसके हिसाब से पॉलीफ़िल लोड करने होंगे.
यहां दिए गए सेक्शन में, उन पॉलीफ़िल की पहचान की गई है जिनकी आपको ज़रूरत पड़ सकती है.
ज़रूरी पॉलीफ़िल
एनवायरमेंट | पॉलीफ़िल |
---|---|
Safari 7, 8, और 9 | ES Stable |
नोड < 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 का इस्तेमाल नहीं किया जाता है, तो यह विकल्प पॉलीफ़िल मैनेज करने का आसान तरीका हो सकता है. हालांकि, हम प्रोडक्शन ऐप्लिकेशन के लिए, इस ऑल-इन-वन विकल्प का सुझाव नहीं देते हैं. इसकी वजह यह है कि इसमें गैर-ज़रूरी पॉलीफ़िल शामिल हो सकते हैं. इससे पेज का साइज़ बढ़ जाता है और इसलिए, पेज लोड होने में ज़्यादा समय लगता है.