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 इंस्टॉलेशन
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
एक्सटेंशन
Cordova
Firebase AI Logic 1
App Check
(नेटिव डिवाइस की पुष्टि करने के लिए, कस्टम प्रोवाइडर का इस्तेमाल करना)

(कस्टम प्रोवाइडर का इस्तेमाल करके)
Analytics
Authentication
(ध्यान दें देखें)

(ध्यान दें देखें)

(ध्यान दें देखें)

(ध्यान दें देखें)
Cloud Firestore
(
परसिस्टेंस को छोड़कर)

(
परसिस्टेंस को छोड़कर)
Cloud Functions
Data Connect
Firebase इंस्टॉलेशन
Cloud Messaging
Cloud Storage
(
अपलोड को छोड़कर)
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

वैकल्पिक polyfills

एनवायरमेंट पॉलीफ़िल Firebase के प्रॉडक्ट
  • Safari 10.1 से पहले के वर्शन
  • iOS 10.3 से पहले के वर्शन
फ़ेच करें
  • Authentication
  • Cloud Firestore
  • Cloud Functions
  • Performance Monitoring
  • नोड की उम्र 18 साल से कम है
फ़ेच करें
  • Authentication
  • Cloud Firestore
  • Cloud Functions
  • Cloud Storage
  • React Native और Expo
base-64
  • Cloud Storage

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

पॉलीफ़िल लाइसेंस
ES स्थिर 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 के साथ इंटिग्रेट करें, ताकि आपके पास polyfills की सुविधा हो.

Babel को अपने बंडलर के साथ इंटिग्रेट करने का तरीका जानने के लिए, Babel की इंटरैक्टिव सेटअप गाइड का इस्तेमाल करें.

Babel की मदद से, आपको यह तय करने की ज़रूरत नहीं है कि कौनसे पॉलीफ़िल शामिल करने हैं. इसके बजाय, आपको उन ब्राउज़र एनवायरमेंट के बारे में बताना होगा जिन पर आपको अपने ऐप्लिकेशन को चलाना है. इसके बाद, Babel आपके लिए ज़रूरी पॉलीफ़िल जोड़ता है. Babel यह पक्का करता है कि ब्राउज़र के साथ काम करने की आपकी ज़रूरी शर्तें हमेशा पूरी होती रहें. भले ही, Firebase या आपका कोड, ES की नई सुविधाओं का इस्तेमाल शुरू कर दे.

@babel/preset-env में, एनवायरमेंट टारगेट (targets विकल्प) तय करने और पॉलीफ़िल (useBuiltIns विकल्प) जोड़ने के लिए, कॉन्फ़िगरेशन के उपलब्ध विकल्पों के बारे में पूरी जानकारी दी गई है.

दूसरा विकल्प: (इसका सुझाव नहीं दिया जाता) मैन्युअल तरीके से पॉलीफ़िल जोड़ना

अपनी पसंदीदा पॉलीफ़िल लाइब्रेरी (उदाहरण के लिए, core-js) का इस्तेमाल करके, पॉलीफ़िल को मैन्युअल तरीके से जोड़ा जा सकता है.

import 'core-js/stable'
import 'cross-fetch/polyfill';

core-js, सभी-एक-साथ-काम करने वाली polyfill फ़ाइल भी उपलब्ध कराता है. इसे सीधे एचटीएमएल पेज में शामिल किया जा सकता है.

अगर Babel का इस्तेमाल नहीं किया जा रहा है, तो यह विकल्प, पॉलीफ़िल को मैनेज करने का एक आसान तरीका हो सकता है. हालांकि, हम प्रोडक्शन ऐप्लिकेशन के लिए, एक ही जगह पर सभी सुविधाएं देने वाले इस विकल्प का सुझाव नहीं देते. इसकी वजह यह है कि इसमें ज़रूरत से ज़्यादा पॉलीफ़िल शामिल हो सकते हैं. इससे पेज का साइज़ बढ़ जाता है और पेज लोड होने में ज़्यादा समय लगता है.