Firebase JavaScript SDK'sı için desteklenen ortamlar

Desteklenen ortamlar

Firebase JavaScript SDK'sı aşağıdaki ortamlarda resmi olarak desteklenmektedir.

Tarayıcılar

Firebase ürünü Edge Firefox Chrome iOS Safari Safari
App Check
Analytics
Authentication
Cloud Firestore
(
kalıcılık hariç)

(iOS 10'dan önceki sürümlerde
persistence
hariç)
Cloud Functions
Firebase yükleme
Cloud Messaging
(Uç 17+, mobil cihazlar hariç)
Cloud Storage
Performance Monitoring
Realtime Database
Remote Config
Vertex AI in Firebase

Diğer ortamlar

Firebase ürünü Doğal tepki ver Node.js (18+) Chrome
Uzantıları
Cordova
App Check
(yerel cihaz kimlik doğrulaması yapmak için özel sağlayıcı kullanma)

(özel sağlayıcı kullanılarak)
Analytics
Authentication
(Not'a bakın)

(Not'a bakın)

(Not'a bakın)

(Not'a bakın)
Cloud Firestore
(
kalıcılık hariç)

(
kalıcılık hariç)
Cloud Functions
Firebase yükleme
Cloud Messaging
Cloud Storage
(yüklemeler
hariç)
Performance Monitoring
Realtime Database
Remote Config
Vertex AI in Firebase

Çoklu dolgular

Firebase JavaScript SDK'sı, web platformunun en son standartları temel alınarak geliştirilmiştir. Bazı eski tarayıcılar ve JavaScript ortamları, Firebase'in ihtiyaç duyduğu tüm özellikleri desteklemez. Bu tarayıcıları/ortamları desteklemeniz gerekiyorsa polyfill'leri uygun şekilde yüklemeniz gerekir.

Aşağıdaki bölümlerde, ihtiyaç duyabileceğiniz polyfill'lerin çoğu tanımlanmaktadır.

Gerekli polyfill'ler

Ortam Çoklu dolgular
Safari 7, 8 ve 9 ES Stable
Düğüm < 10 ES Stable

İsteğe bağlı polyfill'ler

Ortam Polifill'ler Firebase ürünleri
  • Safari 10.1'den eski sürümler
  • iOS 10.3'ten eski sürümler
fetch
  • Authentication
  • Cloud Firestore
  • Cloud Functions
  • Performance Monitoring
  • Düğüm < 18
fetch
  • Authentication
  • Cloud Firestore
  • Cloud Functions
  • Cloud Storage
  • React Native ve Expo
64 tabanlı
  • Cloud Storage

Önerilen polyfill'ler

Polifill'ler Lisans
ES Stable MIT
getir - "çapraz getirme" - eski tarayıcılar için en iyisi MIT
fetch - `undici` - Node.js için en iyi seçenektir MIT
64 tabanlı MIT

React Native ve Sergileme için Gerekli Polyfill Kurulumu

React Native ve Expo için base64 kodlu bir dize yüklüyorsanız aşağıdakileri yapmanız gerekir:

npm'den base-64'ü yükleyin:

npm install base-64

decode öğesini base-64'dan içe aktarın ve Cloud Storage'ın erişebilmesi için genel kapsama atob olarak ekleyin.

import { decode } from 'base-64';

if(typeof atob === 'undefined') {
  global.atob = decode;
}

Uygulamanıza polyfill ekleme

1. Seçenek: (Önerilir) Babel ile entegre edilmiş bir paketleyici kullanın

Paketleyici kullanıyorsanız çoklu dolguları elde etmek için Babel ve @babel/preset-env ile entegrasyon yapın.

Babel'i paketleyicinizle nasıl entegre edeceğinizi öğrenmek için Babel'in etkileşimli kurulum kılavuzunu kullanın.

Babel ile, eklenecek tam polyfill'ler hakkında endişelenmenize gerek yoktur. Bunun yerine, desteklemeniz gereken minimum tarayıcı ortamlarını belirtirsiniz. Ardından Babel, gerekli polyfill'leri sizin için ekler. Babel, Firebase veya kendi kodunuz yeni ES özelliklerini kullanmaya başlasa bile tarayıcı desteğiyle ilgili gereksinimlerinizin her zaman karşılanmasını sağlar.

@babel/preset-env, ortam hedeflerini belirtmek (targets seçeneği) ve polyfill eklemek (useBuiltIns seçeneği) için kullanılabilen yapılandırma seçenekleri hakkında ayrıntılı bilgi içerir.

2. Seçenek: (Önerilmez) Polifillleri manuel olarak ekleme

En sevdiğiniz polyfill kitaplıklarını (ör. core-js) kullanarak polyfill'leri manuel olarak ekleyebilirsiniz.

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

core-js, doğrudan HTML sayfasına dahil edebileceğiniz her şey dahil bir polyfill dosyası da sağlar.

Babel kullanmıyorsanız bu seçenek, polyfill'leri yönetmenin kolay bir yolu olabilir. Ancak, sayfa ağırlığını ve dolayısıyla sayfa yüklenme süresini artıran gereksiz çoklu doldurma işlemleri içermesi muhtemel olduğundan bu hepsi bir arada seçeneği üretim uygulamaları için önermeyiz.