البيئات المتوافقة
تتوافق حزمة تطوير البرامج (SDK) Firebase JavaScript رسميًا مع البيئات التالية.
المتصفحات
منتج Firebase | Edge | Firefox | Chrome | Safari لنظام التشغيل iOS | Safari |
---|---|---|---|---|---|
App Check | |||||
Analytics | |||||
Authentication | |||||
Cloud Firestore | (باستثناء المثابرة) |
(باستثناء المثابرة إذا كان نظام التشغيل iOS < 10) |
|||
Cloud Functions | |||||
Firebase عملية تثبيت | |||||
Cloud Messaging | (Edge 17+ ، باستثناء الأجهزة الجوّالة) |
||||
Cloud Storage | |||||
Performance Monitoring | |||||
Realtime Database | |||||
Remote Config | |||||
Vertex AI in Firebase |
بيئات أخرى
منتج Firebase | التفاعل مع الإعلانات المدمجة مع المحتوى | Node.js | إضافات Chrome |
كوردوفا |
---|---|---|---|---|
App Check | (استخدام موفِّر مخصّص لمصادقة الجهاز الأصلي) |
(باستخدام مقدّم خدمة مخصّص) |
||
Analytics | ||||
Authentication | (يُرجى الاطّلاع على الملاحظة) |
(يُرجى الاطّلاع على الملاحظة) |
(يُرجى الاطّلاع على الملاحظة) |
(يُرجى الاطّلاع على الملاحظة) |
Cloud Firestore | (باستثناء المثابرة) |
(باستثناء المثابرة) |
||
Cloud Functions | ||||
Firebase عملية تثبيت | ||||
Cloud Messaging | ||||
Cloud Storage | (باستثناء عمليات التحميل) |
|||
Performance Monitoring | ||||
Realtime Database | ||||
Remote Config | ||||
Vertex AI in Firebase |
تعويض الميزات المفقودة من المتصفحات
تم إنشاء حزمة تطوير البرامج (SDK) Firebase JavaScript استنادًا إلى أحدث معايير النظام الأساسي للويب. بعض الإشعارات المتصفحات القديمة وبيئات JavaScript لا تدعم جميع الميزات يتطلبه Firebase. إذا كان يجب عليك التوافق مع هذه المتصفحات/البيئات، نحتاج إلى تحميل رموز polyfill وفقًا لذلك.
تحدّد الأقسام التالية معظم رموز polyfill التي قد تحتاج إليها.
رموز polyfill المطلوبة
البيئات | الملء التلقائي |
---|---|
Safari 7 و 8 و 9 | الإسطبل الإسباني |
العقدة < 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 أو polyfills.
استخدِم دليل الإعداد التفاعلي في 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 غير ضرورية، مما يزيد من محتوى الصفحة الوزن وبالتالي وقت تحميل الصفحة.