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