Firebase JavaScript SDK به طور رسمی در محیط های زیر پشتیبانی می شود.
محصول Firebase | حاشیه، غیرمتمرکز | فایرفاکس | کروم | سافاری iOS | سافاری |
---|---|---|---|---|---|
بررسی برنامه | |||||
تجزیه و تحلیل | |||||
احراز هویت | |||||
Cloud Firestore | (بجز ماندگاری) | (بجز ماندگاری اگر iOS < 10) | |||
توابع ابری | |||||
تاسیسات فایربیس | |||||
پیام رسانی ابری | (Edge 17+، به جز موبایل) | ||||
فضای ذخیره ابری | |||||
نظارت بر عملکرد | |||||
پایگاه داده بیدرنگ | |||||
پیکربندی از راه دور |
محصول Firebase | React Native | Node.js | کروم برنامه های افزودنی | کوردووا |
---|---|---|---|---|
بررسی برنامه | (با استفاده از یک ارائه دهنده سفارشی برای تأیید دستگاه بومی) | (با استفاده از یک ارائه دهنده سفارشی ) | ||
تجزیه و تحلیل | ||||
احراز هویت | ( یادداشت را ببینید ) | ( یادداشت را ببینید ) | ( یادداشت را ببینید ) | ( یادداشت را ببینید ) |
Cloud Firestore | (بجز ماندگاری) | (بجز ماندگاری) | ||
توابع ابری | ||||
تاسیسات فایربیس | ||||
پیام رسانی ابری | ||||
فضای ذخیره ابری | (بجز آپلودها) | |||
نظارت بر عملکرد | ||||
پایگاه داده بیدرنگ | ||||
پیکربندی از راه دور |
Firebase JavaScript SDK بر اساس آخرین استانداردهای پلت فرم وب ساخته شده است. برخی از مرورگرهای قدیمی و محیط های جاوا اسکریپت از همه ویژگی های مورد نیاز Firebase پشتیبانی نمی کنند. اگر باید از این مرورگرها/محیطها پشتیبانی کنید، باید polyfills را متناسب با آن بارگیری کنید.
بخشهای زیر بیشتر پلیفیلهایی را که ممکن است به آنها نیاز داشته باشید، مشخص میکند.
محیط ها | پلی پرها |
---|---|
سافاری 7 و 8 و 9 | ES پایدار |
گره < 6.5 | ES پایدار |
محیط ها | پلی پرها | محصولات Firebase |
---|---|---|
| رفتن و آوردن |
|
| پایه-64 |
|
پلی پرها | مجوز |
---|---|
ES پایدار | MIT |
رفتن و آوردن | MIT |
پایه-64 | MIT |
برای 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;
}
اگر از باندلر استفاده میکنید، با Babel و @babel/preset-env ادغام کنید تا polyfills دریافت کنید.
از راهنمای تنظیم تعاملی Babel برای یادگیری نحوه ادغام Babel با باندلر خود استفاده کنید.
با بابل، لازم نیست نگران پلی پرهای دقیقی باشید که باید اضافه شوند. در عوض، حداقل محیط های مرورگر را که باید پشتیبانی کنید، مشخص می کنید. سپس بابل پلی فیل های لازم را برای شما اضافه می کند. Babel تضمین می کند که الزامات شما برای پشتیبانی مرورگر همیشه برآورده می شود، حتی اگر Firebase یا کد شما شروع به استفاده از ویژگی های جدید ES کند.
@babel/preset-env اطلاعات دقیقی درباره گزینههای پیکربندی موجود برای تعیین اهداف محیطی ( targets
گزینهای) و افزودن polyfills (گزینه useBuiltIns
) دارد.
میتوانید با استفاده از کتابخانههای پلیفیل مورد علاقهتان (مثلاً core-js
) پلیفیلها را به صورت دستی اضافه کنید.
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
همچنین یک فایل polyfill همهکاره ارائه میکند که میتوانید مستقیماً در صفحه HTML قرار دهید.
اگر از Babel استفاده نمی کنید، این گزینه می تواند راهی مناسب برای مدیریت polyfills باشد. با این حال، ما این گزینه همهکاره را برای برنامههای تولیدی توصیه نمیکنیم، زیرا احتمالاً شامل پلیپرهای غیرضروری است که وزن صفحه و در نتیجه زمان بارگذاری صفحه را افزایش میدهد.