Firebase JavaScript SDK'sı için desteklenen ortamlar

Desteklenen ortamlar

Firebase JavaScript SDK, aşağıdaki ortamlarda resmi olarak desteklenir.

Tarayıcılar

Firebase ürünü Edge Firefox Chrome iOS Safari Safari
Firebase AI Logic 1
Analytics
App Check
Authentication
Cloud Firestore
(except
persistence)

(iOS < 10 ise
kalıcılık
hariç)
Cloud Functions
Firebase yükleme
Cloud Messaging
(Mobil hariç Edge 17 ve sonraki sürümler)
Cloud Storage
Data Connect
Performance Monitoring
Realtime Database
Remote Config

1 Firebase AI Logic, daha önce "Vertex AI in Firebase" olarak adlandırılıyordu.

Diğer ortamlar

Firebase ürünü React Native Node.js (18 yaş ve üzeri) Chrome
Uzantılar
Cordova
Firebase AI Logic 1
App Check
(yerel cihaz doğrulama için özel sağlayıcı kullanılarak)

(özel sağlayıcı kullanılarak)
Analytics
Authentication
(Not bölümüne bakın)

(Not bölümüne bakın)

(Not bölümüne bakın)

(Not bölümüne bakın)
Cloud Firestore
(except
persistence)

(except
persistence)
Cloud Functions
Data Connect
Firebase yükleme
Cloud Messaging
Cloud Storage
(yüklemeler
hariç)
Performance Monitoring
Realtime Database
Remote Config

1 Firebase AI Logic, daha önce "Vertex AI in Firebase" olarak adlandırılıyordu.

Çoklu dolgular

Firebase JavaScript SDK, web platformunun en son standartlarına göre oluşturulmuştur. Bazı eski tarayıcılar ve JavaScript ortamları, Firebase'in gerektirdiği tüm özellikleri desteklemez. Bu tarayıcıları/ortamları desteklemeniz gerekiyorsa polyfill'leri buna göre yüklemeniz gerekir.

Aşağıdaki bölümlerde, ihtiyacınız olabilecek çoğu polyfill tanımlanmaktadır.

Gerekli polyfill'ler

Ortam Polyfill'ler
Safari 7, 8 ve 9 ES Stable
Düğüm < 10 ES Stable

İsteğe bağlı polyfill'ler

Ortam Polyfill'ler Firebase ürünleri
  • Safari < 10.1
  • iOS < 10.3
fetch
  • Authentication
  • Cloud Firestore
  • Cloud Functions
  • Performance Monitoring
  • Düğüm < 18
fetch
  • Authentication
  • Cloud Firestore
  • Cloud Functions
  • Cloud Storage
  • React Native ve Expo
base-64
  • Cloud Storage

Önerilen polyfill'ler

Polyfill'ler Lisans
ES Mevcut ürün MIT
fetch - `cross-fetch` - eski tarayıcılar için en iyisi MIT
fetch - `undici` - Node.js için en iyisi MIT
base-64 MIT

React Native ve Expo için gerekli polyfill kurulumu

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

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

npm install base-64

decode öğesini base-64 konumundan içe aktarın ve atob olarak genel kapsama ekleyin. Böylece Cloud Storage öğesi bu öğeye erişebilir.

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 polyfill'ler almak 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 hangi polyfill'leri ekleyeceğiniz konusunda endişelenmenize gerek kalmaz. Bunun yerine, desteklemeniz gereken minimum tarayıcı ortamlarını belirtirsiniz. Babel daha sonra 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 (targets seçeneği) belirtme ve polyfill'ler (useBuiltIns seçeneği) ekleme için kullanılabilen yapılandırma seçenekleri hakkında ayrıntılı bilgi içerir.

2. Seçenek: (Önerilmez) Polyfill'leri 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 ayrıca HTML sayfasına doğrudan ekleyebileceğiniz bir hepsi bir arada polyfill dosyası da sağlar.

Bu seçenek, Babel kullanmıyorsanız polyfill'leri yönetmek için uygun bir yöntem olabilir. Ancak, bu hepsi bir arada seçeneği üretim uygulamaları için önermiyoruz. Bu seçenek, gereksiz çoklu doldurmalar içereceğinden sayfa ağırlığını ve dolayısıyla sayfa yüklenme süresini artırır.