Firebase JavaScript SDK'sı için desteklenen ortamlar

Desteklenen ortamlar

Firebase JavaScript SDK'sı 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
(kalıcılık
hariç)

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

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+) Chrome
Uzantıları
Cordova
Firebase AI Logic 1
App Check
(Yerel cihaz onayı için özel sağlayıcı kullanma)

(özel sağlayıcı kullanarak)
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
(kalıcılık
hariç)

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

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

Çoklu dolgular

Firebase JavaScript SDK'sı, web platformunun en son standartlarına göre oluşturulmuştur. Bazı eski tarayıcılar ve JavaScript ortamları, Firebase için gereken 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, ihtiyaç duyabileceğiniz polyfill'lerin çoğu açıklanmaktadı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 Kararlı 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

React Native ve Expo için Base64 ile kodlanmış 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 kaynağından içe aktarın ve Cloud Storage tarafından erişilebilmesi için atob olarak global kapsama 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ş paketleyici kullanın.

Paketleyici kullanıyorsanız polyfill'leri almak için Babel ve @babel/preset-env ile entegre edin.

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

Babel ile, dahil edilecek polyfill'ler konusunda endişelenmenize gerek kalmaz. Bunun yerine, desteklemeniz gereken minimum tarayıcı ortamlarını belirtirsiniz. 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) 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, doğrudan HTML sayfasına ekleyebileceğiniz hepsi bir arada polyfill dosyası da sağlar.

Babel kullanmıyorsanız polyfill'leri yönetmek için bu seçeneği kullanabilirsiniz. Ancak üretim uygulamaları için bu hepsi bir arada seçeneğini önermiyoruz. Bu seçenek, gereksiz polyfill'ler içerebileceğinden sayfa ağırlığını ve dolayısıyla sayfa yükleme süresini artırır.