Unterstützte Umgebungen für das Firebase JavaScript SDK

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 Handy)
Cloud-Speicher
Leistungsüberwachung
Echtzeit-Datenbank
Remote-Konfig

Andere Umgebungen

Firebase-Produkt Nativ reagieren Node.js Chrom
Erweiterungen
Cordoba
App-Check
(unter Verwendung eines benutzerdefinierten Anbieters für die native Gerätebescheinigung)

(unter Verwendung eines benutzerdefinierten Anbieters )
Analytik
Authentifizierung
(siehe Hinweis )

(siehe Hinweis )

(siehe Hinweis )

(siehe Hinweis )
Cloud-Firestore
(außer
Beharrlichkeit)

(außer
Beharrlichkeit)
Cloud-Funktionen
Firebase-Installationen
Cloud-Messaging
Cloud-Speicher
(außer
Uploads)
Leistungsüberwachung
Echtzeit-Datenbank
Remote-Konfig

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 sind 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 Polyfills

Umgebungen Polyfills Firebase-Produkte
  • Knoten
  • Safari < 10.1
  • iOS < 10.3
bringen
  • Cloud-Funktionen
  • Leistungsüberwachung
  • Reagieren Sie auf Native und Expo
Basis-64
  • Cloud-Speicher

Vorgeschlagene 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:

Installieren Sie base-64 von npm:

npm install base-64

Importieren Sie decode von 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 Polyfills in Ihrer Anwendung hinzu

Option 1 : (Empfohlen) Verwenden Sie den in Babel integrierten Bundler

Wenn Sie einen Bundler verwenden, integrieren Sie ihn mit Babel und @babel/preset-env, um Polyfills zu erhalten.

Verwenden Sie Babels interaktive Einrichtungsanleitung, um zu erfahren, wie Sie Babel in Ihren Bundler integrieren.

Mit Babel müssen Sie sich keine Gedanken über die genau einzuschließenden Polyfills machen. Stattdessen geben Sie die minimalen Browserumgebungen an, die Sie unterstützen müssen. Babel fügt dann die erforderlichen 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 beginnen, neue ES-Funktionen zu verwenden.

@babel/preset-env enthält 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 mithilfe Ihrer bevorzugten Polyfill-Bibliotheken (z. B. core-js ) manuell hinzufügen.

import 'core-js/stable'
import 'cross-fetch/polyfill';

core-js bietet auch eine All-in-One-Polyfill-Datei , die Sie direkt in die HTML-Seite einfügen können.

Diese Option kann eine praktische Methode zum Verwalten von Polyfills sein, wenn Sie Babel nicht verwenden. Wir empfehlen diese All-in-One-Option jedoch nicht für Produktions-Apps, da sie wahrscheinlich unnötige Polyfills enthalten wird, was das Seitengewicht und damit die Seitenladezeit erhöht.