আপনার ওয়েব অ্যাপের সাথে Firebase SDK গুলিকে একীভূত করুন৷

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 মতো গুগল পরিবেশগুলি বিল্ড টাইম এবং রানটাইমে নো-আর্গুমেন্ট কনস্ট্রাক্টর কলের মাধ্যমে সরলীকৃত অ্যাপ ইনিশিয়ালাইজেশন প্রদান করে। এটি 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();

জাভাস্ক্রিপ্ট এসডিকে

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

Admin SDK ইনিশিয়ালাইজেশনের জন্য এই কৌশলটি App Hosting ক্লাউড রান, অ্যাপ ইঞ্জিন এবং ক্লাউড ফাংশন সহ অন্যান্য গুগল সার্ভার পরিবেশে কাজ করে। জাভাস্ক্রিপ্ট SDK এর জন্য, এই কৌশলটি App Hosting এ কাজ করে।

স্বয়ংক্রিয়ভাবে জনবহুল মানগুলি ওভাররাইড করুন

আপনি স্বয়ংক্রিয়ভাবে ইনজেক্ট করা ডিফল্ট কনফিগারেশনটি ওভাররাইড করতে পারেন। মনে রাখবেন যে এই বিকল্পগুলি Admin SDK এবং জাভাস্ক্রিপ্ট 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 ওভাররাইড

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 ক্লাউড বিল্ড পরিবেশে স্বয়ংক্রিয়ভাবে সেট করা হয়।

আপনি যদি ক্লাউড বিল্ডের বাইরে JS SDK ইনস্টল করেন, তাহলে Firebase JavaScript SDK ইনস্টল করার সময় আপনাকে এই পরিবেশ পরিবর্তনশীলটি নিজেই সেট করতে হবে।

ইনস্টলেশনের সময় পরিবেশটি ম্যানুয়ালি সেট আপ করতে:

  1. Firebase কনসোল থেকে আপনার Firebase ওয়েব অ্যাপ কনফিগারেশন অবজেক্টটি কপি করুন।

  2. টার্মিনাল থেকে, npm install কমান্ড চালানোর আগে FIREBASE_WEBAPP_CONFIG এনভায়রনমেন্ট ভেরিয়েবল সেট করুন।

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

আপনার Firebase প্রজেক্ট বা ওয়েব অ্যাপ পরিবর্তন করার সময়, এই কমান্ডটি পুনরায় চালান। মধ্যবর্তী ক্যাশে (যেমন .next/cache ) সাফ করার প্রয়োজন হতে পারে।

SSR এর জন্য FirebaseServerApp ব্যবহার করুন

যদি আপনি আপনার ওয়েব অ্যাপ তৈরিতে Firebase JS SDK বা অন্যান্য Firebase ক্লায়েন্ট SDK-এর সাথে কাজ করে থাকেন, তাহলে আপনি সম্ভবত FirebaseApp ইন্টারফেস এবং অ্যাপের ইনস্ট্যান্স কনফিগার করার জন্য এটি কীভাবে ব্যবহার করবেন তার সাথে পরিচিত। সার্ভার সাইডে অনুরূপ ক্রিয়াকলাপ সহজতর করার জন্য, Firebase FirebaseServerApp প্রদান করে।

FirebaseServerApp হল FirebaseApp এর একটি রূপ যা সার্ভার সাইড রেন্ডারিং (SSR) পরিবেশে ব্যবহারের জন্য ব্যবহৃত হয়। এতে Firebase সেশনগুলি চালিয়ে যাওয়ার জন্য সরঞ্জামগুলি অন্তর্ভুক্ত রয়েছে যা ক্লায়েন্ট সাইড রেন্ডারিং (CSR) / সার্ভার সাইড রেন্ডারিং বিভাজনকে বিস্তৃত করে।

FirebaseServerApp ব্যবহার করে:

  • ব্যবহারকারীর প্রেক্ষাপটের মধ্যে সার্ভার-সাইড কোড কার্যকর করুন, যেখানে Firebase Admin SDK সম্পূর্ণ প্রশাসনিক অধিকার রয়েছে।
  • SSR পরিবেশে App Check ব্যবহার সক্ষম করুন।
  • ক্লায়েন্টে তৈরি করা একটি Firebase Auth সেশন চালিয়ে যান।

এই উদ্দেশ্যে FirebaseServerApp ব্যবহারের সম্পূর্ণ বিবরণের জন্য, SSR সহ গতিশীল ওয়েব অ্যাপগুলিতে Firebase ব্যবহার দেখুন।

আপনার ওয়েব অ্যাপে App Check সক্ষম করুন

App Hosting এ আপনার ডাইনামিক ওয়েব অ্যাপের নিরাপত্তা জোরদার করতে আপনি App Check ব্যবহার করতে পারেন। SSR-এর মাধ্যমে ডাইনামিক ওয়েব অ্যাপে Use Firebase- এ বর্ণিত কিছু নির্দিষ্ট সার্ভার সাইড কৌশল বাস্তবায়ন করে, আপনি আপনার App Hosting ব্যাকএন্ডকে অপব্যবহার থেকে রক্ষা করতে পারেন।