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