البيئات المتوافقة
تتوافق حزمة تطوير برامج 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 |
---|---|---|
|
الجلب |
|
|
base-64 |
|
رموز 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 غير ضرورية، ما يزيد من وزن الصفحة، وبالتالي من وقت تحميلها.