محیط های پشتیبانی شده
Firebase JavaScript SDK به طور رسمی در محیط های زیر پشتیبانی می شود.
مرورگرها
محصول Firebase | لبه | فایرفاکس | کروم | سافاری iOS | سافاری |
---|---|---|---|---|---|
App Check | |||||
Analytics | |||||
Authentication | |||||
Cloud Firestore | (به جز پشتکار) | (به جز پایداری اگر iOS < 10) | |||
Cloud Functions | |||||
تاسیسات Firebase | |||||
Cloud Messaging | (Edge 17+، به جز موبایل) | ||||
Cloud Storage | |||||
Performance Monitoring | |||||
Realtime Database | |||||
Remote Config | |||||
Vertex AI in Firebase |
محیط های دیگر
محصول Firebase | React Native | Node.js (18+) | کروم برنامه های افزودنی | کوردووا |
---|---|---|---|---|
App Check | (با استفاده از یک ارائه دهنده سفارشی برای تأیید دستگاه بومی) | (با استفاده از یک ارائه دهنده سفارشی ) | ||
Analytics | ||||
Authentication | (نگاه کنید به یادداشت ) | (نگاه کنید به یادداشت ) | (نگاه کنید به یادداشت ) | (نگاه کنید به یادداشت ) |
Cloud Firestore | (به جز پشتکار) | (به جز پشتکار) | ||
Cloud Functions | ||||
تاسیسات Firebase | ||||
Cloud Messaging | ||||
Cloud Storage | (به جز آپلودها) | |||
Performance Monitoring | ||||
Realtime Database | ||||
Remote Config | ||||
Vertex AI in Firebase |
پلی پرها
Firebase JavaScript SDK بر اساس آخرین استانداردهای پلت فرم وب ساخته شده است. برخی از مرورگرهای قدیمی و محیط های جاوا اسکریپت از همه ویژگی های مورد نیاز Firebase پشتیبانی نمی کنند. اگر باید از این مرورگرها/محیطها پشتیبانی کنید، باید polyfills را متناسب با آن بارگیری کنید.
بخشهای زیر بیشتر پلیفیلهایی را که ممکن است به آنها نیاز داشته باشید، مشخص میکند.
پلی پرهای مورد نیاز
محیط ها | پلی پرها |
---|---|
سافاری 7 و 8 و 9 | ES پایدار |
گره < 10 | ES پایدار |
پلی پرهای اختیاری
محیط ها | پلی پرها | محصولات Firebase |
---|---|---|
| واکشی |
|
| واکشی |
|
| پایه-64 |
|
پلی فیل های پیشنهادی
پلی پرها | مجوز |
---|---|
ES پایدار | MIT |
واکشی - «واکش متقابل» - بهترین برای مرورگرهای قدیمی | MIT |
fetch - `undici` - بهترین برای Node.js | MIT |
پایه-64 | MIT |
راه اندازی Polyfill مورد نیاز برای React Native و Expo
برای React Native و Expo اگر رشته کدگذاری شده پایه ۶۴ را آپلود می کنید، باید موارد زیر را انجام دهید:
نصب base-64 از npm:
npm install base-64
decode
از base-64
وارد کنید و آن را به عنوان atob
به دامنه جهانی متصل کنید تا Cloud Storage بتواند به آن دسترسی داشته باشد.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
polyfills را در برنامه خود اضافه کنید
گزینه 1 : (توصیه می شود) از باندلر ادغام شده با Babel استفاده کنید
اگر از باندلر استفاده میکنید، با Babel و @babel/preset-env ادغام کنید تا polyfills دریافت کنید.
از راهنمای تنظیم تعاملی Babel برای یادگیری نحوه ادغام Babel با باندلر خود استفاده کنید.
با بابل، لازم نیست نگران پلی پرهای دقیقی باشید که باید اضافه شوند. در عوض، حداقل محیط های مرورگر را که باید پشتیبانی کنید، مشخص می کنید. سپس بابل پلی فیل های لازم را برای شما اضافه می کند. Babel تضمین می کند که الزامات شما برای پشتیبانی مرورگر همیشه برآورده می شود، حتی اگر Firebase یا کد شما شروع به استفاده از ویژگی های جدید ES کند.
@babel/preset-env اطلاعات دقیقی درباره گزینههای پیکربندی موجود برای تعیین اهداف محیطی ( targets
گزینهای) و افزودن polyfills (گزینه useBuiltIns
) دارد.
گزینه 2 : (توصیه نمی شود) polyfills را به صورت دستی اضافه کنید
میتوانید با استفاده از کتابخانههای پلیفیل مورد علاقهتان (مثلاً core-js
) پلیفیلها را به صورت دستی اضافه کنید.
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
همچنین یک فایل polyfill همهکاره ارائه میکند که میتوانید مستقیماً در صفحه HTML قرار دهید.
اگر از Babel استفاده نمی کنید، این گزینه می تواند راهی مناسب برای مدیریت polyfills باشد. با این حال، ما این گزینه همهکاره را برای برنامههای تولیدی توصیه نمیکنیم ، زیرا احتمالاً شامل پلیپرهای غیرضروری است که وزن صفحه و در نتیجه زمان بارگذاری صفحه را افزایش میدهد.