সমর্থিত পরিবেশ
The Firebase JavaScript SDK is officially supported in the following environments.
ব্রাউজার
| ফায়ারবেস পণ্য | প্রান্ত | ফায়ারফক্স | ক্রোম | iOS সাফারি | সাফারি |
|---|---|---|---|---|---|
| ফায়ারবেস এআই লজিক ১ | |||||
| Analytics | |||||
| App Check | |||||
| Authentication | |||||
| Cloud Firestore | (ব্যতীত) অধ্যবসায়) | (ব্যতীত) অধ্যবসায় যদি iOS < 10) | |||
| Cloud Functions | |||||
| Firebase ইনস্টলেশন | |||||
| Cloud Messaging | (এজ ১৭+, মোবাইল ছাড়া) | ||||
| Cloud Storage | |||||
| Data Connect | |||||
| Performance Monitoring | |||||
| Realtime Database | |||||
| Remote Config |
১. Firebase AI Logic-কে পূর্বে " Vertex AI in Firebase " বলা হতো।
অন্যান্য পরিবেশ
| ফায়ারবেস পণ্য | রিঅ্যাক্ট নেটিভ | নোড.জেএস (১৮+) | ক্রোম এক্সটেনশন | কর্ডোভা |
|---|---|---|---|---|
| ফায়ারবেস এআই লজিক ১ | ||||
| App Check | (using a custom provider to do native device attestation) | (একটি কাস্টম প্রোভাইডার ব্যবহার করে) | ||
| Analytics | ||||
| Authentication | ( দ্রষ্টব্য দেখুন) | ( দ্রষ্টব্য দেখুন) | ( দ্রষ্টব্য দেখুন) | ( দ্রষ্টব্য দেখুন) |
| Cloud Firestore | (ব্যতীত) অধ্যবসায়) | (ব্যতীত) অধ্যবসায়) | ||
| Cloud Functions | ||||
| Data Connect | ||||
| Firebase ইনস্টলেশন | ||||
| Cloud Messaging | ||||
| Cloud Storage | (ব্যতীত) আপলোড) | |||
| Performance Monitoring | ||||
| Realtime Database | ||||
| Remote Config |
১. Firebase AI Logic-কে পূর্বে " Vertex AI in Firebase " বলা হতো।
পলিফিল
Firebase JavaScript এসডিকে ওয়েব প্ল্যাটফর্মের সর্বশেষ মান অনুযায়ী তৈরি করা হয়েছে। কিছু পুরোনো ব্রাউজার এবং জাভাস্ক্রিপ্ট এনভায়রনমেন্ট ফায়ারবেসের জন্য প্রয়োজনীয় সমস্ত ফিচার সাপোর্ট করে না। যদি আপনাকে অবশ্যই এই ব্রাউজার/এনভায়রনমেন্টগুলো সাপোর্ট করতে হয়, তাহলে আপনাকে সেই অনুযায়ী পলিফিল লোড করতে হবে।
The sections below identify most of the polyfills you might need.
প্রয়োজনীয় পলিফিল
| পরিবেশ | পলিফিল |
|---|---|
| সাফারি ৭, ৮ এবং ৯ | ES স্থিতিশীল |
| নোড < ১০ | ES স্থিতিশীল |
ঐচ্ছিক পলিফিল
| পরিবেশ | পলিফিল | ফায়ারবেস পণ্য |
|---|---|---|
| ফেচ |
|
| ফেচ |
|
| ভিত্তি-৬৪ |
|
প্রস্তাবিত পলিফিল
| পলিফিল | লাইসেন্স |
|---|---|
| ES স্থিতিশীল | এমআইটি |
| ফেচ - `ক্রস-ফেচ` - পুরোনো ব্রাউজারগুলির জন্য সেরা | এমআইটি |
| fetch - `undici` - Node.js এর জন্য সেরা | এমআইটি |
| ভিত্তি-৬৪ | এমআইটি |
React Native এবং Expo-এর জন্য প্রয়োজনীয় পলিফিল সেটআপ
React Native এবং Expo-এর ক্ষেত্রে আপনি যদি একটি বেস-৬৪ এনকোডেড স্ট্রিং আপলোড করেন, তাহলে আপনাকে নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করতে হবে:
npm থেকে base-64 ইনস্টল করুন:
npm install base-64
base-64 থেকে decode ইম্পোর্ট করুন এবং এটিকে atob হিসেবে গ্লোবাল স্কোপে সংযুক্ত করুন, যাতে Cloud Storage এটি অ্যাক্সেস করতে পারে।
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
আপনার অ্যাপ্লিকেশনে পলিফিল যোগ করুন
বিকল্প ১ : (সুপারিশকৃত) Babel-এর সাথে সমন্বিত বান্ডলার ব্যবহার করুন
আপনি যদি বান্ডলার ব্যবহার করেন, তাহলে পলিফিল পেতে Babel এবং @babel/preset-env-এর সাথে ইন্টিগ্রেট করুন।
আপনার বান্ডলারের সাথে Babel-কে কীভাবে সংযুক্ত করবেন তা জানতে Babel-এর ইন্টারেক্টিভ সেটআপ গাইড ব্যবহার করুন।
Babel ব্যবহার করলে, আপনাকে ঠিক কোন পলিফিলগুলো অন্তর্ভুক্ত করতে হবে তা নিয়ে চিন্তা করতে হবে না। এর পরিবর্তে, আপনি কেবল ন্যূনতম ব্রাউজার এনভায়রনমেন্টগুলো নির্দিষ্ট করে দেন যা আপনাকে সাপোর্ট করতে হবে। এরপর Babel আপনার জন্য প্রয়োজনীয় পলিফিলগুলো যোগ করে দেয়। Babel নিশ্চিত করে যে ব্রাউজার সাপোর্টের জন্য আপনার প্রয়োজনীয়তাগুলো সবসময় পূরণ হয়, এমনকি যদি Firebase বা আপনার নিজের কোড নতুন ES ফিচার ব্যবহার করা শুরু করেও।
@babel/preset-env-এ এনভায়রনমেন্ট টার্গেট নির্দিষ্ট করার (option targets ) এবং পলিফিল যোগ করার (option useBuiltIns ) জন্য উপলব্ধ কনফিগারেশন অপশনগুলো সম্পর্কে বিস্তারিত তথ্য রয়েছে।
বিকল্প ২ : (সুপারিশ করা হয় না) ম্যানুয়ালি পলিফিল যোগ করুন
আপনি আপনার পছন্দের পলিফিল লাইব্রেরি (যেমন, core-js ) ব্যবহার করে ম্যানুয়ালি পলিফিল যোগ করতে পারেন।
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js একটি সর্বাঙ্গীণ পলিফিল ফাইলও প্রদান করে যা আপনি সরাসরি HTML পৃষ্ঠায় অন্তর্ভুক্ত করতে পারেন।
আপনি যদি Babel ব্যবহার না করেন, তবে পলিফিল ম্যানেজ করার জন্য এই অপশনটি একটি সুবিধাজনক উপায় হতে পারে। তবে, আমরা প্রোডাকশন অ্যাপের জন্য এই অল-ইন-ওয়ান অপশনটির সুপারিশ করি না, কারণ এতে সম্ভবত অপ্রয়োজনীয় পলিফিল অন্তর্ভুক্ত হবে, যা পেজের ওজন এবং ফলস্বরূপ পেজ লোড হওয়ার সময় বাড়িয়ে দেয়।