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

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

تتوافق حزمة تطوير البرامج (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
  • العقدة
  • Safari < 10.1
  • iOS < 10.3
الجلب
  • Cloud Functions
  • Performance Monitoring
  • التفاعل مع الإعلانات المدمجة مع المحتوى ومعرض 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 أو 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 غير ضرورية، مما يزيد من محتوى الصفحة الوزن وبالتالي وقت تحميل الصفحة.