البيئات المدعومة
يتم دعم Firebase JavaScript SDK رسميًا في البيئات التالية.
المتصفحات
منتج Firebase | حافة | ثعلب النار | كروم | iOS Safari | سفاري |
---|---|---|---|---|---|
التحقق من التطبيق | |||||
تحليلات | |||||
المصادقة | |||||
سحابة Firestore | (يستثني إصرار) | (يستثني إصرار إذا iOS <10) | |||
وظائف السحابة | |||||
منشآت Firebase | |||||
المراسلة السحابية | (Edge 17+ ، باستثناء الهاتف المحمول) | ||||
سحابة التخزين | |||||
مراقبة الاداء | |||||
قاعدة بيانات الوقت الفعلي | |||||
التكوين عن بعد |
بيئات أخرى
منتج Firebase | رد الفعل الأصلي | Node.js | كروم ملحقات | كوردوفا |
---|---|---|---|---|
التحقق من التطبيق | (باستخدام موفر مخصص لإجراء تصديق الجهاز الأصلي) | (باستخدام مزود مخصص ) | ||
تحليلات | ||||
المصادقة | (انظر الملاحظة ) | (انظر الملاحظة ) | (انظر الملاحظة ) | (انظر الملاحظة ) |
سحابة Firestore | (يستثني إصرار) | (يستثني إصرار) | ||
وظائف السحابة | ||||
منشآت Firebase | ||||
المراسلة السحابية | ||||
سحابة التخزين | (يستثني تحميلات) | |||
مراقبة الاداء | ||||
قاعدة بيانات الوقت الفعلي | ||||
التكوين عن بعد |
بوليفيلس
تم تصميم Firebase JavaScript SDK وفقًا لأحدث معايير النظام الأساسي للويب. لا تدعم بعض المتصفحات القديمة وبيئات JavaScript جميع الميزات المطلوبة بواسطة Firebase. إذا كان يجب عليك دعم هذه المتصفحات / البيئات ، فأنت بحاجة إلى تحميل polyfill وفقًا لذلك.
تحدد الأقسام أدناه معظم polyfills التي قد تحتاجها.
polyfills المطلوبة
البيئات | بوليفيلس |
---|---|
سفاري 7 و 8 و 9 | ES مستقرة |
العقدة <6.5 | ES مستقرة |
بوليفيل اختياري
البيئات | بوليفيلس | منتجات Firebase |
---|---|---|
| أحضر |
|
| القاعدة 64 |
|
اقترح polyfills
بوليفيلس | رخصة |
---|---|
ES مستقرة | معهد ماساتشوستس للتكنولوجيا |
أحضر | معهد ماساتشوستس للتكنولوجيا |
القاعدة 64 | معهد ماساتشوستس للتكنولوجيا |
إعداد Polyfill المطلوب لـ React Native و Expo
بالنسبة لـ React Native و Expo إذا كنت تقوم بتحميل سلسلة مشفرة base-64 ، فأنت بحاجة إلى القيام بما يلي:
قم بتثبيت 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 ، لا داعي للقلق بشأن polyfill الدقيق لتضمينه. بدلاً من ذلك ، تحدد الحد الأدنى من بيئات المتصفح التي تحتاج إلى دعمها. يضيف Babel ثم polyfills اللازمة لك. تضمن Babel تلبية متطلباتك الخاصة بدعم المستعرض دائمًا ، حتى إذا بدأ Firebase أو التعليمات البرمجية الخاصة بك في استخدام ميزات ES الجديدة.
لدى @ babel / preset-env معلومات مفصلة حول خيارات التكوين المتاحة لتحديد أهداف البيئة ( targets
الخيارات) وإضافة polyfills (option useBuiltIns
).
الخيار 2 : (غير مستحسن) إضافة polyfills يدويًا
يمكنك إضافة polyfills يدويًا باستخدام مكتبات polyfill المفضلة لديك (على سبيل المثال ، core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
يوفر core-js
أيضًا ملف polyfill متعدد الإمكانات يمكنك تضمينه مباشرةً في صفحة HTML.
يمكن أن يكون هذا الخيار طريقة مناسبة لإدارة polyfill إذا كنت لا تستخدم Babel. ومع ذلك ، لا نوصي بخيار الكل في واحد هذا لتطبيقات الإنتاج لأنه من المحتمل أن يتضمن polyfills غير الضرورية ، مما يزيد من وزن الصفحة وبالتالي وقت تحميل الصفحة.