रिज़र्व किए गए यूआरएल से Firebase SDK टूल लोड करें

Firebase Hosting आपकी साइट पर /__ से शुरू होने वाले यूआरएल रिज़र्व करता है. यह आरक्षित नेमस्पेस, Firebase Hosting के साथ-साथ अन्य Firebase प्रॉडक्ट का इस्तेमाल करना आसान बनाता है.

ये रिज़र्व किए गए यूआरएल, Firebase पर डिप्लॉय करने (firebase deploy) और स्थानीय सर्वर पर ऐप्लिकेशन चलाने (firebase serve), दोनों ही स्थितियों में उपलब्ध होते हैं.

आरक्षित यूआरएल के लिए स्क्रिप्ट जोड़ना

डप्लॉय किए जाने पर Firebase Hosting को एचटीटीपी/2 पर दिखाया जाता है. इसलिए, एक ही ऑरिजिन से फ़ाइलें लोड करके परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. Firebase Hosting, Firebase JavaScript SDK के वर्शन 8 को इन खास यूआरएल से दिखाता है:

/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js

हमारा सुझाव है कि सिर्फ़ उन लाइब्रेरी को लोड करें जिनका इस्तेमाल आपके ऐप्लिकेशन में किया जाता है. उदाहरण के लिए, सिर्फ़ Authentication और Cloud Firestore को शामिल करने के लिए, <body> टैग के सबसे नीचे, लेकिन Firebase की किसी भी सेवा का इस्तेमाल करने से पहले, यहां दी गई स्क्रिप्ट जोड़ें:

<body>
  <!-- Insert these scripts at the bottom of the HTML, but before you use any Firebase services -->
  <!-- Firebase App (the core Firebase SDK) is always required and must be listed first -->
  <script src="/__/firebase/8.10.1/firebase-app.js"></script>

  <!-- Add Firebase products that you want to use -->
  <script src="/__/firebase/8.10.1/firebase-auth.js"></script>
  <script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
</body>

SDK टूल का अपने-आप कॉन्फ़िगर होना

एसडीके के अपने-आप कॉन्फ़िगर होने की सुविधा की मदद से, एक ही कोडबेस से कई एनवायरमेंट (जैसे कि डेवलपमेंट, स्टेजिंग, और प्रोडक्शन) को आसानी से मैनेज किया जा सकता है. Hosting के लिए रिज़र्व किए गए यूआरएल का इस्तेमाल करके, एक ही कोड को कई Firebase प्रोजेक्ट में डिप्लॉय किया जा सकता है.

आरक्षित नेमस्पेस, एसडीके को होस्ट करने के साथ-साथ, Hosting साइट से जुड़े Firebase प्रोजेक्ट के लिए एसडीके को शुरू करने से जुड़ा ज़रूरी कॉन्फ़िगरेशन भी उपलब्ध कराता है. यह Firebase कॉन्फ़िगरेशन और SDK टूल के शुरू होने की जानकारी, एक स्क्रिप्ट से मिलती है. इसे सीधे तौर पर शामिल किया जा सकता है:

<!-- Load the Firebase SDKs before loading this file -->
<script src="/__/firebase/init.js"></script>

Firebase पर डिप्लॉय करने या अपने ऐप्लिकेशन को स्थानीय तौर पर टेस्ट करने पर, यह स्क्रिप्ट ऐक्टिव Firebase प्रोजेक्ट के लिए Firebase JavaScript SDK टूल को अपने-आप कॉन्फ़िगर करती है और SDK टूल को शुरू करती है.

अगर आपको खुद ही Firebase को शुरू करना है, तो Firebase कॉन्फ़िगरेशन की वैल्यू JSON फ़ॉर्म में भी उपलब्ध हैं:

fetch('/__/firebase/init.json').then(async response => {
  firebase.initializeApp(await response.json());
});

उपलब्ध Firebase JS SDK टूल (आरक्षित Hosting यूआरएल से)

Firebase प्रॉडक्ट लाइब्रेरी का रेफ़रंस (आरक्षित यूआरएल)
Firebase Core
(ज़रूरी है)
<script src="/__/firebase/8.10.1/firebase-app.js"></script>
Analytics
<script src="/__/firebase/8.10.1/firebase-analytics.js"></script>
App Check
<script src="/__/firebase/8.10.1/firebase-app-check.js"></script>
Authentication
<script src="/__/firebase/8.10.1/firebase-auth.js"></script>
Cloud Firestore
<script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
Cloud Functions for Firebase Client SDK
<script src="/__/firebase/8.10.1/firebase-functions.js"></script>
Firebase इंस्टॉल
<script src="/__/firebase/8.10.1/firebase-installations.js"></script>
Cloud Messaging
<script src="/__/firebase/8.10.1/firebase-messaging.js"></script>

Cloud Messaging का बेहतर तरीके से इस्तेमाल करने के लिए, Cloud Messaging के लिए Firebase SDK टूल भी जोड़ें.Analytics

Cloud Storage
<script src="/__/firebase/8.10.1/firebase-storage.js"></script>
Performance Monitoring
(बीटा रिलीज़)
<script src="/__/firebase/8.10.1/firebase-performance.js"></script>
Realtime Database
<script src="/__/firebase/8.10.1/firebase-database.js"></script>
Remote Config
(बीटा रिलीज़)
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script>

Remote Config का बेहतर तरीके से इस्तेमाल करने के लिए, Remote Config के लिए Firebase SDK टूल भी जोड़ें.Analytics

Firebase JavaScript SDK
(पूरा एसडीके)
<script src="/__/firebase/8.10.1/firebase.js"></script>

पुष्टि करने में मदद करने वाले ऐप्लिकेशन

Firebase Authentication, रिज़र्व किए गए नेमस्पेस का इस्तेमाल करता है. इससे खास JavaScript और एचटीएमएल उपलब्ध कराया जाता है, ताकि OAuth के ज़रिए पुष्टि करने की प्रोसेस पूरी की जा सके. इससे हर Firebase प्रोजेक्ट के पास एक यूनीक Firebase सबडोमेन होता है. इससे Firebase Authentication की सुरक्षा बढ़ जाती है.

इसके अलावा, इससे आपको authDomain के firebase.initializeApp() विकल्प के लिए, अपने कस्टम डोमेन का इस्तेमाल करने की अनुमति मिलती है. अगर आपने Firebase Hosting के लिए कोई कस्टम डोमेन कॉन्फ़िगर किया है, तो Firebase SDK टूल शुरू करते समय, उस कस्टम डोमेन (अपने web.app या firebaseapp.com सबडोमेन के बजाय) को भी तय किया जा सकता है. कस्टम डोमेन का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, signInWithRedirect का इस्तेमाल करने के सबसे सही तरीके देखें.

आरक्षित यूआरएल और सर्विस वर्कर

अगर कोई प्रोग्रेसिव वेब ऐप्लिकेशन (PWA) बनाया जा रहा है, तो ऐसा सर्विस वर्कर बनाया जा सकता है जिसमें "नेविगेशन फ़ॉलबैक" हो. साथ ही, अगर वह पहले से कैश की गई आइटम की सूची से मेल नहीं खाता है, तो डिफ़ॉल्ट रूप से किसी खास यूआरएल को रेंडर करता हो.

अगर sw-precache लाइब्रेरी का इस्तेमाल किया जा रहा है, तो नेविगेशन फ़ॉलबैक की अनुमति वाली सूची की सेटिंग जोड़ी जा सकती है. इससे रिज़र्व किए गए नेमस्पेस को बाहर रखा जा सकता है:

{
  navigateFallbackWhitelist: [/^(?!\/__).*/]
}

आम तौर पर, बस यह याद रखें कि डबल-अंडरस्कोर नेमस्पेस, Firebase के इस्तेमाल के लिए रिज़र्व है. साथ ही, आपको अपने सर्विस वर्कर में इन अनुरोधों को इंटरसेप्ट नहीं करना चाहिए.