البيئات المدعومة لـ Firebase JavaScript SDK

البيئات المدعومة

يتم دعم Firebase JavaScript SDK رسميًا في البيئات التالية.

المتصفحات

منتج فايربيس حافة ثعلب النار كروم iOS سفاري سفاري
فحص التطبيق
التحليلات
المصادقة
سحابة فايرستور
(يستثني
إصرار)

(يستثني
إصرار
إذا كان iOS <10)
وظائف السحابة
منشآت Firebase
المراسلة السحابية
(الحافة 17+، باستثناء الهاتف المحمول)
سحابة التخزين
مراقبة الاداء
قاعدة بيانات الوقت الحقيقي
التكوين عن بعد

بيئات أخرى

منتج فايربيس رد الفعل الأصلي Node.js كروم
ملحقات
قرطبة
فحص التطبيق
(باستخدام موفر مخصص للقيام بشهادة الجهاز الأصلي)

(باستخدام موفر مخصص )
التحليلات
المصادقة
(انظر الملاحظة )

(انظر الملاحظة )

(انظر الملاحظة )

(انظر الملاحظة )
سحابة فايرستور
(يستثني
إصرار)

(يستثني
إصرار)
وظائف السحابة
منشآت Firebase
المراسلة السحابية
سحابة التخزين
(يستثني
التحميلات)
مراقبة الاداء
قاعدة بيانات الوقت الحقيقي
التكوين عن بعد

حشوات متعددة

تم تصميم Firebase JavaScript SDK وفقًا لأحدث معايير النظام الأساسي للويب. لا تدعم بعض المتصفحات القديمة وبيئات JavaScript جميع الميزات التي يتطلبها Firebase. إذا كان يجب عليك دعم هذه المتصفحات/البيئات، فأنت بحاجة إلى تحميل polyfills وفقًا لذلك.

تحدد الأقسام أدناه معظم عمليات التعبئة المتعددة التي قد تحتاجها.

polyfills المطلوبة

البيئات حشوات متعددة
سفاري 7 و 8 و 9 إس مستقر
العقدة <6.5 إس مستقر

حشوات متعددة اختيارية

البيئات حشوات متعددة منتجات فايربايس
  • العقدة
  • سفاري <10.1
  • دائرة الرقابة الداخلية <10.3
أحضر
  • وظائف السحابة
  • مراقبة الاداء
  • رد الفعل الأصلي والمعرض
قاعدة 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. ومع ذلك، لا نوصي بهذا الخيار الشامل لتطبيقات الإنتاج لأنه من المحتمل أن يتضمن عمليات تعبئة متعددة غير ضرورية، مما يزيد من وزن الصفحة وبالتالي وقت تحميل الصفحة.