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