Firebase JavaScript SDK टूल के साथ काम करने वाले एनवायरमेंट

इन प्लैटफ़ॉर्म पर काम करता है

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 प्रॉडक्ट
  • Safari < 10.1
  • iOS < 10.3
fetch
  • Authentication
  • Cloud Firestore
  • Cloud Functions
  • Performance Monitoring
  • नोड < 18
fetch
  • Authentication
  • Cloud Firestore
  • Cloud Functions
  • Cloud Storage
  • React Native और Expo
base-64
  • Cloud Storage

सुझाए गए पॉलीफ़िल

पॉलीफ़िल लाइसेंस
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 का इस्तेमाल नहीं किया जाता है, तो यह विकल्प पॉलीफ़िल मैनेज करने का आसान तरीका हो सकता है. हालांकि, हम प्रोडक्शन ऐप्लिकेशन के लिए, इस ऑल-इन-वन विकल्प का सुझाव नहीं देते हैं. इसकी वजह यह है कि इसमें गैर-ज़रूरी पॉलीफ़िल शामिल हो सकते हैं. इससे पेज का साइज़ बढ़ जाता है और इसलिए, पेज लोड होने में ज़्यादा समय लगता है.