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 গুলি শুরু করুন৷
Google পরিবেশ যেমন Firebase App Hosting বিল্ড টাইম এবং রানটাইমে নো-আর্গুমেন্ট কনস্ট্রাক্টর কলের মাধ্যমে সরলীকৃত অ্যাপ ইনিশিয়ালাইজেশন প্রদান করে। এটি Node.js-এর জন্য Firebase Admin SDK এর একটি বৈশিষ্ট্য – একটি সার্ভার-সাইড SDK যা Firebase কার্যকারিতার একটি বৃহৎ এলাকা আনলক করে এবং আপনার ওয়েব অ্যাপ-এবং Firebase JavaScript SDK- এ খুবই উপযোগী হতে পারে।
initializeApp()
এর সাহায্যে, আপনি যদি ডিফল্ট মানগুলিকে ওভাররাইড করতে চান তবে নির্দিষ্ট মানগুলির উপর সূক্ষ্ম নিয়ন্ত্রণের বিকল্পটি রেখেও আপনি Firebase App Hosting স্বয়ংক্রিয়ভাবে আপনার জন্য ওয়েব অ্যাপ কনফিগারেশন তৈরি করতে দিতে পারেন।
কোন যুক্তি ছাড়া শুরু
Firebase JavaScript SDK বা Firebase Admin SDK ডিফল্ট কনফিগারেশন মান সহ আরম্ভ করতে, কোনো আর্গুমেন্ট সরবরাহ না করেই initializeApp()
ব্যবহার করুন:
Admin SDK
import { initializeApp } from 'firebase-admin/app';
const app = initializeApp();
জাভাস্ক্রিপ্ট SDK
import { initializeApp } from 'firebase/app';
const app = initializeApp();
Admin SDK সূচনার জন্য এই কৌশলটি App Hosting পাশাপাশি ক্লাউড রান, অ্যাপ ইঞ্জিন এবং ক্লাউড ফাংশন সহ অন্যান্য Google সার্ভার পরিবেশে কাজ করে। JavaScript SDK-এর জন্য, এই কৌশলটি App Hosting এ কাজ করে।
স্বয়ংসম্পূর্ণ মান ওভাররাইড করুন
আপনি ডিফল্ট কনফিগারেশন ওভাররাইড করতে পারেন যা স্বয়ংক্রিয়ভাবে ইনজেকশন হয়। মনে রাখবেন যে এই বিকল্পগুলি Admin SDK এবং JavaScript SDK-এর মধ্যে আলাদা৷
Admin SDK ওভাররাইড
রিয়েলটাইম ডেটাবেস, ক্লাউড স্টোরেজ, বা ক্লাউড ফাংশনগুলির মতো পরিষেবাগুলির জন্য কাস্টম শুরু করার বিকল্পগুলি ঐচ্ছিকভাবে নির্দিষ্ট করতে, FIREBASE_CONFIG
পরিবেশ পরিবর্তনশীল ব্যবহার করুন৷ যদি FIREBASE_CONFIG
ভেরিয়েবলের বিষয়বস্তু একটি {
অক্ষর দিয়ে শুরু হয় তবে এটি JSON অবজেক্ট হিসেবে পার্স করা হবে। অন্যথায় SDK অনুমান করে যে স্ট্রিং হল একটি JSON ফাইলের পথ যেখানে বিকল্পগুলি রয়েছে৷
# apphosting.yaml
env:
- variable: FIREBASE_CONFIG
value: '{"credential: applicationDefault()","databaseURL":"https://project-id-default-rtdb.firebaseio.com"}'
জাভাস্ক্রিপ্ট SDK ওভাররাইড
ডিফল্ট FIREBASE_WEBAPP_CONFIG
মানগুলিকে ওভাররাইড করতে যা App Hosting জাভাস্ক্রিপ্ট SDK প্রাথমিককরণের জন্য ইনজেক্ট করে, আপনি 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 পোস্ট-ইনস্টল স্ক্রিপ্টের সাথে স্বয়ংক্রিয় আরম্ভ সেট আপ করা হয়। পোস্ট ইন্সটল স্ক্রিপ্ট পরিবেশ পরিবর্তনশীল FIREBASE_WEBAPP_CONFIG
সন্ধান করে, যা App Hosting ক্লাউড বিল্ড পরিবেশে স্বয়ংক্রিয়ভাবে সেট করা হয়।
আপনি যদি ক্লাউড বিল্ডের বাইরে JS SDK ইনস্টল করেন, উদাহরণস্বরূপ ফায়ারবেস এমুলেটর স্যুটের সাথে স্থানীয়ভাবে ব্যবহারের জন্য, আপনি যখন Firebase JavaScript SDK ইনস্টল করবেন তখন আপনাকে এই পরিবেশ পরিবর্তনশীল সেট করতে হবে।
ইনস্টলেশনের সময় ম্যানুয়ালি পরিবেশ সেট আপ করতে:
Firebase কনসোল থেকে আপনার Firebase ওয়েব অ্যাপ কনফিগার অবজেক্ট কপি করুন।
একটি টার্মিনাল থেকে,
npm install
কমান্ড চালানোর আগেFIREBASE_WEBAPP_CONFIG
এনভায়রনমেন্ট ভেরিয়েবল সেট করুন।
FIREBASE_WEBAPP_CONFIG="{...}" npm install firebase
যে কোনো সময় আপনি আপনার Firebase প্রকল্প বা ওয়েব অ্যাপ পরিবর্তন করুন, এই কমান্ডটি পুনরায় চালান।
SSR এর জন্য FirebaseServerApp
ব্যবহার করুন
আপনি যদি আপনার ওয়েব অ্যাপের বিকাশে Firebase JS SDK বা অন্যান্য Firebase ক্লায়েন্ট SDK-এর সাথে কাজ করে থাকেন, তাহলে আপনি সম্ভবত FirebaseApp
ইন্টারফেসের সাথে পরিচিত এবং অ্যাপের দৃষ্টান্তগুলি কনফিগার করতে কীভাবে এটি ব্যবহার করতে হয় তা জানেন৷ সার্ভারের দিকে অনুরূপ ক্রিয়াকলাপ সহজতর করার জন্য, Firebase FirebaseServerApp
প্রদান করে।
FirebaseServerApp
সার্ভার সাইড রেন্ডারিং (SSR) পরিবেশে ব্যবহারের জন্য FirebaseApp
এর একটি রূপ। এতে ফায়ারবেস সেশনগুলি চালিয়ে যাওয়ার জন্য সরঞ্জামগুলি অন্তর্ভুক্ত রয়েছে যা ক্লায়েন্ট সাইড রেন্ডারিং (CSR) / সার্ভার সাইড রেন্ডারিং ডিভাইডকে বিস্তৃত করে।
এর জন্য FirebaseServerApp
ব্যবহার করুন:
- Firebase Admin SDK বিপরীতে ব্যবহারকারীর প্রেক্ষাপটে সার্ভার-সাইড কোড কার্যকর করুন যার সম্পূর্ণ প্রশাসনিক অধিকার রয়েছে।
- SSR পরিবেশে App Check ব্যবহার সক্ষম করুন।
- ক্লায়েন্টে তৈরি করা একটি Firebase Auth সেশন চালিয়ে যান।
এই উদ্দেশ্যে FirebaseServerApp
ব্যবহার করার সম্পূর্ণ বিশদের জন্য, SSR-এর সাথে গতিশীল ওয়েব অ্যাপে Firebase ব্যবহার করুন দেখুন।
আপনার ওয়েব অ্যাপে App Check সক্ষম করুন
App Hosting এ আপনার গতিশীল ওয়েব অ্যাপের নিরাপত্তা জোরদার করতে আপনি App Check ব্যবহার করতে পারেন। SSR এর সাথে ডাইনামিক ওয়েব অ্যাপে Firebase ব্যবহার করুন- এ বর্ণিত কিছু নির্দিষ্ট সার্ভার সাইড কৌশল প্রয়োগ করে, আপনি অপব্যবহারের হাত থেকে আপনার App Hosting ব্যাকএন্ডকে রক্ষা করতে পারেন।