Unterstützte Umgebungen
Das Firebase JavaScript SDK wird in den folgenden Umgebungen offiziell unterstützt.
Browser
Firebase-Produkt | Rand | Feuerfuchs | Chrom | iOS-Safari | Safari |
---|---|---|---|---|---|
App-Check | |||||
Analytik | |||||
Authentifizierung | |||||
Cloud Firestore | (außer Beharrlichkeit) | (außer Beharrlichkeit wenn iOS < 10) | |||
Cloud-Funktionen | |||||
Firebase-Installationen | |||||
Cloud-Messaging | (Edge 17+, außer Mobil) | ||||
Cloud-Speicher | |||||
Leistungsüberwachung | |||||
Echtzeitdatenbank | |||||
Remote-Konfiguration |
Andere Umgebungen
Firebase-Produkt | Native reagieren | Node.js | Chrom Erweiterungen | Cordova |
---|---|---|---|---|
App-Check | (Verwendung eines benutzerdefinierten Anbieters zur Durchführung der nativen Gerätebescheinigung) | (mit einem benutzerdefinierten Anbieter ) | ||
Analytik | ||||
Authentifizierung | (siehe Anmerkung ) | (siehe Anmerkung ) | (siehe Anmerkung ) | (siehe Anmerkung ) |
Cloud Firestore | (außer Beharrlichkeit) | (außer Beharrlichkeit) | ||
Cloud-Funktionen | ||||
Firebase-Installationen | ||||
Cloud-Messaging | ||||
Cloud-Speicher | (außer Uploads) | |||
Leistungsüberwachung | ||||
Echtzeitdatenbank | ||||
Remote-Konfiguration |
Polyfills
Das Firebase JavaScript SDK basiert auf den neuesten Standards der Webplattform. Einige ältere Browser und JavaScript-Umgebungen unterstützen nicht alle von Firebase benötigten Funktionen. Wenn Sie diese Browser/Umgebungen unterstützen müssen, müssen Sie Polyfills entsprechend laden.
In den folgenden Abschnitten werden die meisten Polyfills aufgeführt, die Sie möglicherweise benötigen.
Erforderliche Polyfills
Umgebungen | Polyfills |
---|---|
Safari 7 & 8 & 9 | ES Stabil |
Knoten < 6.5 | ES Stabil |
Optionale Polyfüllungen
Umgebungen | Polyfills | Firebase-Produkte |
---|---|---|
| bringen |
|
| Basis-64 |
|
Empfohlene Polyfills
Polyfills | Lizenz |
---|---|
ES Stabil | MIT |
bringen | MIT |
Basis-64 | MIT |
Erforderliches Polyfill-Setup für React Native und Expo
Wenn Sie für React Native und Expo eine Base-64-codierte Zeichenfolge hochladen, müssen Sie Folgendes tun:
Base-64 von npm installieren:
npm install base-64
Importieren Sie decode
aus base-64
und hängen Sie sie als atob
an den globalen Bereich an, damit Cloud Storage darauf zugreifen kann.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
Fügen Sie Ihrer Anwendung Polyfills hinzu
Option 1 : (Empfohlen) Verwenden Sie den in Babel integrierten Bundler
Wenn Sie einen Bundler verwenden, integrieren Sie Babel und @babel/preset-env, um Polyfills zu erhalten.
Nutzen Sie die interaktive Einrichtungsanleitung von Babel, um zu erfahren, wie Sie Babel in Ihren Bundler integrieren.
Bei Babel müssen Sie sich keine Gedanken darüber machen, welche Polyfills genau eingefügt werden sollen. Stattdessen geben Sie die minimalen Browserumgebungen an, die Sie unterstützen müssen. Babel fügt dann die notwendigen Polyfills für Sie hinzu. Babel stellt sicher, dass Ihre Anforderungen an die Browserunterstützung immer erfüllt werden, auch wenn Firebase oder Ihr eigener Code neue ES-Funktionen verwenden.
@babel/preset-env bietet detaillierte Informationen zu den verfügbaren Konfigurationsoptionen zum Angeben von Umgebungszielen (Option targets
) und zum Hinzufügen von Polyfills (Option useBuiltIns
).
Option 2 : (Nicht empfohlen) Polyfills manuell hinzufügen
Sie können Polyfills manuell hinzufügen, indem Sie Ihre bevorzugten Polyfill-Bibliotheken verwenden (z. B. core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
bietet außerdem eine All-in-One-Polyfill-Datei , die Sie direkt in die HTML-Seite einfügen können.
Diese Option kann eine praktische Möglichkeit zum Verwalten von Polyfills sein, wenn Sie Babel nicht verwenden. Wir empfehlen diese All-in-One-Option jedoch nicht für Produktionsanwendungen, da sie wahrscheinlich unnötige Polyfills enthält, was das Seitengewicht und damit die Seitenladezeit erhöht.