Firebase Hosting आपकी साइट पर /__ से शुरू होने वाले यूआरएल रिज़र्व करता है. रिज़र्व किए गए इस
नेमस्पेस की मदद से, Firebase Hosting के साथ-साथ अन्य Firebase प्रॉडक्ट का इस्तेमाल करना आसान हो जाता है
Firebase Hosting.
ये रिज़र्व किए गए यूआरएल, Firebase पर डिप्लॉय करने (firebase deploy) और स्थानीय सर्वर पर अपना ऐप्लिकेशन चलाने (firebase serve) के दौरान, दोनों ही स्थितियों में उपलब्ध होते हैं.
रिज़र्व किए गए यूआरएल के लिए स्क्रिप्ट जोड़ना
Firebase Hosting को डिप्लॉय करने पर, यह HTTP/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 का अपने-आप कॉन्फ़िगरेशन
SDK के अपने-आप कॉन्फ़िगर होने की सुविधा से, एक ही कोडबेस से कई एनवायरमेंट (जैसे कि डेवलपमेंट, स्टेजिंग, और प्रोडक्शन) को मैनेज करना आसान हो जाता है. होस्टिंग के लिए रिज़र्व किए गए यूआरएल Hostingका इस्तेमाल करके, एक ही कोड को कई Firebase प्रोजेक्ट पर डिप्लॉय किया जा सकता है.
रिज़र्व किया गया नेमस्पेस, SDK को होस्ट करने के अलावा, होस्टिंग साइट से जुड़े Firebase प्रोजेक्ट के लिए SDK को शुरू करने से जुड़ा पूरा कॉन्फ़िगरेशन भी उपलब्ध कराता है.Hosting Firebase का यह कॉन्फ़िगरेशन और SDK को शुरू करने की सुविधा, एक स्क्रिप्ट से मिलती है. इसे सीधे तौर पर शामिल किया जा सकता है:
<!-- Load the Firebase SDKs before loading this file -->
<script src="/__/firebase/init.js"></script>
अगर आपको SDK को शुरू करने की प्रोसेस को खुद कंट्रोल करना है, तो Firebase के कॉन्फ़िगरेशन की वैल्यू, JSON फ़ॉर्मैट में भी उपलब्ध होती हैं:
fetch('/__/firebase/init.json').then(async response => {
firebase.initializeApp(await response.json());
});
Firebase JS SDK के उपलब्ध वर्शन (रिज़र्व किए गए Hosting यूआरएल से)
| Firebase प्रॉडक्ट | लाइब्रेरी रेफ़रंस (रिज़र्व किया गया यूआरएल) |
|---|---|
| Firebase कोर (ज़रूरी है) |
<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 का बेहतर तरीके से इस्तेमाल करने के लिए, Analytics के लिए Firebase SDK टूल भी जोड़ें. |
| 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 का बेहतर तरीके से इस्तेमाल करने के लिए, Analytics के लिए Firebase SDK टूल भी जोड़ें. |
| Firebase JavaScript SDK (पूरा SDK) |
<script src="/__/firebase/8.10.1/firebase.js"></script> |
पुष्टि करने में मददगार स्क्रिप्ट
Firebase Authentication, OAuth के ज़रिए पुष्टि करने वाली कंपनियों के साथ पुष्टि करने के लिए, खास JavaScript और एचटीएमएल उपलब्ध कराने के लिए, रिज़र्व किए गए नेमस्पेस का इस्तेमाल करता है. इससे, हर Firebase प्रोजेक्ट के लिए एक यूनीक Firebase सबडोमेन तय किया जा सकता है. इससे, Firebase Authentication की सुरक्षा बढ़ जाती है.
इसके अलावा, इससे firebase.initializeApp() के authDomain विकल्प के लिए, अपना कस्टम डोमेन इस्तेमाल किया जा सकता है. अगर
कोई कस्टम डोमेन कॉन्फ़िगर किया जाता है
Firebase Hostingके लिए, तो उस कस्टम डोमेन को भी तय किया जा सकता है. इसके लिए,
web.app या firebaseapp.com सबडोमेन का इस्तेमाल करने की ज़रूरत नहीं होती. कस्टम डोमेन का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए,
signInWithRedirect का इस्तेमाल करने के लिए सबसे सही तरीके
देखें.
रिज़र्व किए गए यूआरएल और सर्विस वर्कर
अगर कोई प्रोग्रेसिव वेब ऐप्लिकेशन (PWA) बनाया जा रहा है, तो हो सकता है कि आपने कोई ऐसा सर्विस वर्कर बनाया हो जिसमें "नेविगेशन फ़ॉलबैक" हो. साथ ही, अगर यह पहले से कैश मेमोरी में सेव किए गए आइटम की सूची से मेल नहीं खाता है, तो यह डिफ़ॉल्ट रूप से कोई खास यूआरएल रेंडर करता है.
अगर sw-precache लाइब्रेरी का इस्तेमाल किया जा रहा है, तो नेविगेशन फ़ॉलबैक की अनुमति वाली सूची की सेटिंग जोड़ी जा सकती है. इससे, रिज़र्व किया गया नेमस्पेस बाहर हो जाता है:
{
navigateFallbackWhitelist: [/^(?!\/__).*/]
}
आम तौर पर, बस यह याद रखें कि डबल-अंडरस्कोर नेमस्पेस, Firebase के इस्तेमाल के लिए रिज़र्व है. साथ ही, आपको अपने सर्विस वर्कर में इन अनुरोधों को इंटरसेप्ट नहीं करना चाहिए.