البيئات المتوافقة مع حزمة تطوير البرامج (SDK) لJavaScript لمنصّة Firebase

البيئات المتوافقة

يتم دعم حزمة تطوير برامج JavaScript لمنصّة Firebase رسميًا في البيئات التالية.

المتصفحات

منتج Firebase Edge Firefox Chrome متصفح iOS Safari Safari
فحص التطبيقات
إحصاءات Google
المصادقة
Cloud Firestore
(باستثناء
المثابرة)

(باستثناء
الثبات
في حال كان نظام التشغيل iOS < 10)
وظائف السحابة الإلكترونية
عمليات تثبيت Firebase
المراسلة عبر السحابة الإلكترونية
(Edge 17+ ، باستثناء الجوّال)
التخزين في السحابة الإلكترونية
مراقبة الأداء
قاعدة بيانات الوقت الفعلي
الإعداد عن بُعد
Vertex AI for Firebase

بيئات أخرى

منتج Firebase التفاعل المدمج مع المحتوى Node.js إضافات
Chrome
كوردوفا
فحص التطبيقات
(استخدام مقدّم خدمة مخصّص لإجراء مصادقة الجهاز الأصلي)

(باستخدام مقدّم خدمة مخصّص)
إحصاءات Google
المصادقة
(يُرجى الاطّلاع على الملاحظة)

(يُرجى الاطّلاع على الملاحظة)

(يُرجى الاطّلاع على الملاحظة)

(يُرجى الاطّلاع على الملاحظة)
Cloud Firestore
(باستثناء
المثابرة)

(باستثناء
المثابرة)
وظائف السحابة الإلكترونية
عمليات تثبيت Firebase
المراسلة عبر السحابة الإلكترونية
التخزين في السحابة الإلكترونية
(باستثناء
عمليات التحميل)
مراقبة الأداء
قاعدة بيانات الوقت الفعلي
الإعداد عن بُعد
Vertex AI for Firebase

تعويض الميزات المفقودة من المتصفحات

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

تحدد الأقسام أدناه معظم رموز polyfill التي قد تحتاجها.

رموز polyfill المطلوبة

البيئات رموز polyfill
Safari 7 و8 و9 إسطبل ES
العقدة < 6.5 إسطبل ES

رموز polyfill اختيارية

البيئات رموز polyfill منتجات Firebase
  • العُقدة
  • Safari < 10.1
  • iOS < 10.3
جلب
  • وظائف السحابة الإلكترونية
  • مراقبة الأداء
  • التفاعل مع الإصدارات الأصلية والمعرض
base-64
  • Cloud Storage

رموز polyfill المقترَحة

رموز polyfill الترخيص
قناة ES الثابتة MIT
جلب MIT
base-64 MIT

إعداد 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;
}

إضافة رموز polyfill إلى تطبيقك

الخيار 1: (يُنصح به) استخدام أداة الحِزم المدمجة مع Babel

إذا كنت تستخدم أداة حزم، يمكنك الدمج مع Babel و@babel/preset-env للحصول على رموز polyfill.

استخدِم دليل الإعداد التفاعلي من Babel لمعرفة كيفية دمج Babel مع أداة الحِزم.

باستخدام Babel، لا داعي للقلق بشأن أشكال polyfill المحددة التي يجب تضمينها. بدلاً من ذلك، يمكنك تحديد الحد الأدنى من بيئات المتصفح التي تحتاج إلى دعمها. بعد ذلك، يضيف Babel رموز polyfill اللازمة لك. يضمن Babel دائمًا استيفاء متطلبات التوافق مع المتصفِّح، حتى إذا بدأ Firebase أو التعليمات البرمجية في استخدام ميزات ES الجديدة.

يتضمن @babel/preset-env معلومات تفصيلية حول خيارات الضبط المتاحة لتحديد أهداف البيئة (الخيار targets) وإضافة رموز polyfills (الخيار useBuiltIns).

الخيار 2: (لا ننصح بهذا الخيار) إضافة رموز polyfill يدويًا

يمكنك إضافة رموز polyfill يدويًا باستخدام مكتبات رموز polyfill المفضّلة لديك (على سبيل المثال، core-js).

import 'core-js/stable'
import 'cross-fetch/polyfill';

توفر السمة core-js أيضًا ملف polyfill شامل يمكنك تضمينه مباشرةً في صفحة HTML.

قد يكون هذا الخيار طريقة سهلة لإدارة رموز polyfill إذا كنت لا تستخدم Babel. ومع ذلك، لا ننصح باستخدام هذا الخيار الشامل لتطبيقات الإنتاج لأنّه من المحتمل أن يتضمّن رموز polyfill غير ضرورية، ما يؤدي إلى زيادة حجم الصفحة وبالتالي زيادة وقت تحميل الصفحة.