अपने वेब ऐप्लिकेशन के साथ Firebase SDK टूल इंटिग्रेट करना

Firebase App Hosting डाइनैमिक वेब ऐप्लिकेशन के लिए सबसे सही है. इन्हें Firebase JavaScript SDK और Node.js के लिए Firebase Admin SDK की मदद से बनाया जाता है. पूरी सुविधाओं वाले वेब ऐप्लिकेशन में, Firebase SDK टूल अहम भूमिका निभाते हैं. जैसे, Authentication, Cloud Firestore, और App Check . इस गाइड में, Firebase SDK टूल को ऑप्टिमाइज़ करने के लिए कुछ अहम रणनीतियों के बारे में बताया गया है. साथ ही, Firebase App Hosting पर अपने वेब ऐप्लिकेशन में Firebase को इंटिग्रेट करने का तरीका भी बताया गया है.

Firebase Admin SDK और वेब SDK टूल को अपने-आप शुरू करना

Google के एनवायरमेंट, जैसे कि Firebase App Hosting, ऐप्लिकेशन को आसानी से शुरू करने की सुविधा देते हैं. इसके लिए, बिल्ड प्रोसेस में लगने वाले समय और रनटाइम में, बिना किसी आर्ग्युमेंट वाले कंस्ट्रक्टर कॉल का इस्तेमाल किया जाता है. यह सुविधा, Firebase Admin SDK for Node.js और Firebase JavaScript SDK, दोनों में उपलब्ध है. for Node.js, सर्वर-साइड SDK है. इसकी मदद से, Firebase की कई सुविधाओं का इस्तेमाल किया जा सकता है. यह आपके वेब ऐप्लिकेशन के लिए बहुत काम का हो सकता है.

initializeApp() की मदद से, Firebase App Hosting को वेब ऐप्लिकेशन के कॉन्फ़िगरेशन को अपने-आप भरने की अनुमति दी जा सकती है. साथ ही, अगर आपको डिफ़ॉल्ट वैल्यू बदलनी हैं, तो खास वैल्यू पर ज़्यादा कंट्रोल रखने का विकल्प भी चुना जा सकता है.

बिना किसी आर्ग्युमेंट के शुरू करना

डिफ़ॉल्ट कॉन्फ़िगरेशन वैल्यू के साथ या तो Firebase Admin SDK या Firebase JavaScript SDK को शुरू करने के लिए, बिना किसी आर्ग्युमेंट के initializeApp() का इस्तेमाल करें.

Admin SDK

import { initializeApp } from 'firebase-admin/app';
const app = initializeApp();

Admin SDK के लिए, यह शुरू करने की रणनीति, App Hosting के साथ-साथ Google के अन्य सर्वर एनवायरमेंट में भी काम करती है. इनमें Cloud Run, App Engine, और Cloud Run फ़ंक्शन शामिल हैं.

JavaScript SDK

import { initializeApp } from 'firebase/app';
const app = initializeApp();

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 स्क्रिप्ट की मदद से, अपने-आप शुरू होने की सुविधा सेट अप हो जाती है. postinstall स्क्रिप्ट, एनवायरमेंट वैरिएबल FIREBASE_WEBAPP_CONFIG को ढूंढती है. यह वैरिएबल, App Hosting Cloud Build एनवायरमेंट में अपने-आप सेट हो जाता है.

अगर JS SDK को Cloud Build के बाहर इंस्टॉल किया जा रहा है, तो Firebase JavaScript SDK इंस्टॉल करते समय, आपको इस एनवायरमेंट वैरिएबल को खुद सेट करना होगा.

इंस्टॉल करते समय, एनवायरमेंट को मैन्युअल तरीके से सेट अप करने के लिए:

  1. Firebase Firebase कंसोल से, अपने Firebase वेब ऐप्लिकेशन के कॉन्फ़िगरेशन ऑब्जेक्ट को कॉपी करें.

  2. टर्मिनल से, npm install कमांड चलाने से पहले, FIREBASE_WEBAPP_CONFIG एनवायरमेंट वैरिएबल सेट करें.

FIREBASE_WEBAPP_CONFIG="{...}" npm install firebase

अपने Firebase प्रोजेक्ट या वेब ऐप्लिकेशन में बदलाव करने पर, इस कमांड को फिर से चलाएं. इंटरमीडिएट कैश (जैसे, .next/cache) को भी साफ़ करना पड़ सकता है.

एसएसआर के लिए 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 Check का इस्तेमाल किया जा सकता है App Hosting. एसएसआर की सुविधा वाले डाइनैमिक वेब ऐप्लिकेशन में Firebase का इस्तेमाल करना लेख में बताई गई, सर्वर साइड की कुछ खास रणनीतियों को लागू करके, App Hosting बैकएंड को गलत इस्तेमाल से बचाया जा सकता है.