আপনার ওয়েব অ্যাপের সাথে 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 অটোমেটিক শুরু করুন

Firebase App Hosting-এর মতো Google এনভায়রনমেন্ট, বিল্ড টাইম ও রানটাইমে নো-আর্গুমেন্ট কনস্ট্রাক্টর কলের মাধ্যমে সহজ অ্যাপ ইনিশিয়ালাইজেশন প্রদান করে। এটি Firebase Admin SDK for Node.js – একটি সার্ভার-সাইড SDK যা Firebase কার্যকারিতার একটি বড় ক্ষেত্র আনলক করে এবং আপনার ওয়েব অ্যাপে খুব কার্যকর হতে পারে – এবং Firebase JavaScript SDK-এর একটি ফিচার।

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-এর পাশাপাশি Cloud Run, App Engine ও Cloud Run ফাংশন সহ অন্যান্য Google সার্ভার এনভায়রনমেন্টে কাজ করে।

জাভাস্ক্রিপ্ট SDK

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

জাভাস্ক্রিপ্ট SDK-এর জন্য, এই ইনিশিয়ালাইজেশন স্ট্র্যাটেজি App Hosting-এ কাজ করে।

অটোমেটিক পূরণ হওয়া ভ্যালু ওভাররাইড করুন

অটোমেটিক ইনজেক্ট করা ডিফল্ট কনফিগারেশন আপনি ওভাররাইড করতে পারবেন। মনে রাখবেন যে এই বিকল্পগুলি Admin SDK এবং জাভাস্ক্রিপ্ট SDK-এর মধ্যে আলাদা।

Admin SDKটি ওভাররাইড

Realtime Database, Cloud Storage বা Cloud Functions-এর মতো পরিষেবার জন্য কাস্টম ইনিশিয়ালাইজেশন বিকল্প নির্দিষ্ট করতে, FIREBASE_CONFIG এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করুন। FIREBASE_CONFIG ভেরিয়েবলের কন্টেন্ট { অক্ষর দিয়ে শুরু হলে, সেটি JSON অবজেক্ট হিসেবে পার্স করা হবে। অন্যথায়, SDK ধরে নেয় যে স্ট্রিংটি হল বিকল্প সহ JSON ফাইলের পাথ।

# apphosting.yaml

env:
  - variable: FIREBASE_CONFIG
    value: '{"databaseURL":"https://project-id-default-rtdb.firebaseio.com","projectId":"my-project-id"}'

জাভাস্ক্রিপ্ট SDK ওভাররাইড

জাভাস্ক্রিপ্ট 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 ইনস্টল করেন, তাহলে 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 সহ ডায়নামিক ওয়েব অ্যাপে Firebase ব্যবহার করুন লিঙ্কে বর্ণিত কিছু নির্দিষ্ট সার্ভার সাইড স্ট্র্যাটেজি প্রয়োগ করে আপনি নিজের App Hosting ব্যাকএন্ডকে অপব্যবহার থেকে সুরক্ষিত রাখতে পারবেন।