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 |
---|---|---|
|
fetch |
|
|
fetch |
|
|
64 tabanlı |
|
Ö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.