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

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

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

المتصفحات

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

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

بيئات أخرى

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

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

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

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

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

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

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

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

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

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

البيئات الملء التلقائي
الإصداران 7 و8 و9 من Safari الإسطبل الإسباني
العقدة < 6.5 الإسطبل الإسباني

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

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

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

الملء التلقائي الترخيص
الإصدار الإسباني 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) وإضافة رموز polyfill (الخيار useBuiltIns).

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

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

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

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

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