रिज़र्व किए गए यूआरएल से 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 टूल का अपने-आप कॉन्फ़िगर होना

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 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 का बेहतर तरीके से इस्तेमाल करने के लिए, 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 का इस्तेमाल करने के सबसे सही तरीके देखें.

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

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

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

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

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