Firebase App Hosting, Node.js के लिए Firebase JavaScript SDK टूल और Firebase Admin SDK के साथ बनाए गए डाइनैमिक वेब ऐप्लिकेशन के लिए सबसे सही है. सभी सुविधाओं वाले वेब ऐप्लिकेशन में, Authentication, Cloud Firestore, और App Check जैसे Firebase SDK टूल की अहम भूमिका होती है. इस गाइड में, Firebase SDK टूल को ऑप्टिमाइज़ करने और Firebase App Hosting पर अपने वेब ऐप्लिकेशन में Firebase को जोड़ने के लिए, कुछ अहम रणनीतियों के बारे में बताया गया है.
Firebase Admin SDK और वेब SDK टूल अपने-आप शुरू होना
Firebase App Hosting जैसे Google के एनवायरमेंट, बिल्ड टाइम और रनटाइम पर, बिना किसी आर्ग्युमेंट वाले कन्स्ट्रक्टर कॉल की मदद से, ऐप्लिकेशन को आसानी से शुरू करने की सुविधा देते हैं. यह सुविधा, Node.js के लिए Firebase Admin SDK और Firebase JavaScript SDK टूल, दोनों में उपलब्ध है. Firebase Admin SDK for Node.js एक सर्वर-साइड SDK टूल है, जो Firebase की सुविधाओं के बड़े हिस्से को अनलॉक करता है. यह आपके वेब ऐप्लिकेशन में काफ़ी मददगार हो सकता है.
initializeApp()
की मदद से, Firebase App Hosting को वेब ऐप्लिकेशन कॉन्फ़िगरेशन को अपने-आप भरने की अनुमति दी जा सकती है. साथ ही, अगर आपको डिफ़ॉल्ट वैल्यू बदलनी हैं, तो कुछ वैल्यू पर बेहतर तरीके से कंट्रोल करने का विकल्प भी उपलब्ध होता है.
बिना किसी आर्ग्युमेंट के शुरू करना
Firebase JavaScript SDK टूल या Firebase Admin SDK को डिफ़ॉल्ट कॉन्फ़िगरेशन वैल्यू के साथ शुरू करने के लिए, किसी भी आर्ग्युमेंट के बिना initializeApp()
का इस्तेमाल करें:
Admin SDK
import { initializeApp } from 'firebase-admin/app';
const app = initializeApp();
JavaScript SDK
import { initializeApp } from 'firebase/app';
const app = initializeApp();
Admin SDK को शुरू करने के लिए यह रणनीति, App Hosting के साथ-साथ Google के अन्य सर्वर एनवायरमेंट में भी काम करती है. जैसे, Cloud Run, App Engine, और Cloud Functions. JavaScript SDK के लिए, यह रणनीति App Hosting पर काम करती है.
अपने-आप भरी गई वैल्यू बदलना
अपने-आप इंजेक्ट होने वाले डिफ़ॉल्ट कॉन्फ़िगरेशन को बदला जा सकता है. ध्यान दें कि Admin SDK और JavaScript SDK के बीच ये विकल्प अलग-अलग होते हैं.
Admin SDK बदलाव करना
रीयलटाइम डेटाबेस, Cloud Storage या Cloud Functions जैसी सेवाओं के लिए, शुरू करने के कस्टम विकल्पों को वैकल्पिक तौर पर तय करने के लिए, FIREBASE_CONFIG
एनवायरमेंट वैरिएबल का इस्तेमाल करें. अगर FIREBASE_CONFIG
वैरिएबल का कॉन्टेंट {
वर्ण से शुरू होता है, तो उसे JSON ऑब्जेक्ट के तौर पर पार्स किया जाएगा. ऐसा न करने पर, SDK यह मान लेता है कि स्ट्रिंग, विकल्पों वाली JSON फ़ाइल का पाथ है.
# apphosting.yaml
env:
- variable: FIREBASE_CONFIG
value: '{"credential: applicationDefault()","databaseURL":"https://project-id-default-rtdb.firebaseio.com"}'
JavaScript SDK टूल को बदलना
JavaScript SDK टूल को शुरू करने के लिए, App Hosting जो डिफ़ॉल्ट FIREBASE_WEBAPP_CONFIG
वैल्यू इंजेक्ट करता है उन्हें बदलने के लिए, apphosting.yaml
में वैल्यू डाली जा सकती हैं:
# apphosting.yaml
env:
- variable: FIREBASE_WEBAPP_CONFIG
value: '{"apiKey":"myApiKey","appId":"app:123","authDomain":"project-id.firebaseapp.com","databaseURL":"https://project-id-default-rtdb.firebaseio.com","messagingSenderId":"0123456789","projectId":"project-id","storageBucket":"project-id.firebasestorage.app"}'
अन्य एनवायरमेंट में अपने-आप शुरू होने की सुविधा का इस्तेमाल करना
Firebase JavaScript SDK टूल इंस्टॉल करने पर, अपने-आप शुरू होने की सुविधा को npm postinstall स्क्रिप्ट के साथ सेट अप किया जाता है. पोस्ट-इंस्टॉल स्क्रिप्ट, FIREBASE_WEBAPP_CONFIG
एनवायरमेंट वैरिएबल खोजती है. यह App Hosting Cloud Build एनवायरमेंट में अपने-आप सेट होता है.
अगर Cloud Build के अलावा किसी और प्लैटफ़ॉर्म पर JS SDK टूल इंस्टॉल किया जा रहा है, तो आपको Firebase JavaScript SDK टूल इंस्टॉल करते समय, इस एनवायरमेंट वैरिएबल को खुद से सेट करना होगा. उदाहरण के लिए, Firebase एमुलेटर सुइट के साथ इस्तेमाल करने के लिए, स्थानीय तौर पर.
इंस्टॉलेशन के दौरान, मैन्युअल तरीके से एनवायरमेंट सेट अप करने के लिए:
Firebase कंसोल से, अपना Firebase वेब ऐप्लिकेशन कॉन्फ़िगरेशन ऑब्जेक्ट कॉपी करें.
टर्मिनल से,
npm install
कमांड चलाने से पहलेFIREBASE_WEBAPP_CONFIG
एनवायरमेंट वैरिएबल सेट करें.
FIREBASE_WEBAPP_CONFIG="{...}" npm install firebase
जब भी Firebase प्रोजेक्ट या वेब ऐप्लिकेशन में बदलाव करें, तो इस निर्देश को फिर से चलाएं.
एसएसआर के लिए FirebaseServerApp
का इस्तेमाल करना
अगर आपने अपने वेब ऐप्लिकेशन के डेवलपमेंट में, Firebase JS SDK टूल या Firebase के अन्य क्लाइंट SDK टूल का इस्तेमाल किया है, तो हो सकता है कि आप FirebaseApp
इंटरफ़ेस और ऐप्लिकेशन इंस्टेंस को कॉन्फ़िगर करने के लिए, इसका इस्तेमाल करने के तरीके के बारे में जानते हों. सर्वर साइड पर मिलते-जुलते ऑपरेशन को आसान बनाने के लिए, Firebase FirebaseServerApp
उपलब्ध कराता है.
FirebaseServerApp
, FirebaseApp
का एक वैरिएंट है. इसका इस्तेमाल, सर्वर साइड रेंडरिंग (एसएसआर) वाले एनवायरमेंट में किया जाता है. इसमें क्लाइंट साइड रेंडरिंग (सीएसआर) / सर्वर साइड रेंडरिंग के बीच के Firebase सेशन को जारी रखने के लिए टूल शामिल हैं.
FirebaseServerApp
का इस्तेमाल करके:
- उपयोगकर्ता कॉन्टेक्स्ट में सर्वर-साइड कोड को लागू करें. इसके उलट, Firebase Admin SDK के पास एडमिन के सभी अधिकार होते हैं.
- एसएसआर (सर्वर साइड रेंडरिंग) वाले एनवायरमेंट में App Check का इस्तेमाल करने की अनुमति दें.
- क्लाइंट में बनाए गए Firebase Auth सेशन को जारी रखना.
इन कामों के लिए FirebaseServerApp
का इस्तेमाल करने के बारे में पूरी जानकारी के लिए, एसएसआर (सर्वर साइड रेंडरिंग) की मदद से, डाइनैमिक वेब ऐप्लिकेशन में Firebase का इस्तेमाल करना लेख पढ़ें.
अपने वेब ऐप्लिकेशन में App Check चालू करना
App Hosting पर अपने डाइनैमिक वेब ऐप्लिकेशन की सुरक्षा को बेहतर बनाने के लिए, App Check का इस्तेमाल किया जा सकता है. एसएसआर की मदद से डाइनैमिक वेब ऐप्लिकेशन में Firebase का इस्तेमाल करना में बताई गई, सर्वर साइड की कुछ खास रणनीतियों को लागू करके, अपने App Hosting बैकएंड को गलत इस्तेमाल से बचाया जा सकता है.