Ambienti supportati per Firebase JavaScript SDK

Ambienti supportati

L'SDK JavaScript di Firebase è ufficialmente supportato nei seguenti ambienti.

Browser

Prodotto base fuoco Bordo Firefox Cromo Safari iOS Safari
Controllo dell'app
Analitica
Autenticazione
CloudFirestore
(tranne
persistenza)

(tranne
persistenza
se iOS < 10)
Funzioni cloud
Installazioni Firebase
Messaggi sulla nuvola
(Edge 17+, eccetto mobile)
Archiviazione cloud
Monitoraggio delle prestazioni
Database in tempo reale
Configurazione remota

Altri ambienti

Prodotto base fuoco Reagisci nativo Node.js Cromo
Estensioni
Cordova
Controllo dell'app
(utilizzando un provider personalizzato per eseguire l'attestazione nativa del dispositivo)

(utilizzando un provider personalizzato )
Analitica
Autenticazione
(vedi Nota )

(vedi Nota )

(vedi Nota )

(vedi Nota )
CloudFirestore
(tranne
persistenza)

(tranne
persistenza)
Funzioni cloud
Installazioni Firebase
Messaggi sulla nuvola
Archiviazione cloud
(tranne
caricamenti)
Monitoraggio delle prestazioni
Database in tempo reale
Configurazione remota

Polyfill

L'SDK JavaScript di Firebase è basato sugli standard più recenti della piattaforma web. Alcuni browser e ambienti JavaScript meno recenti non supportano tutte le funzionalità richieste da Firebase. Se devi supportare questi browser/ambienti, devi caricare i polyfill di conseguenza.

Le sezioni seguenti identificano la maggior parte dei polyfill di cui potresti aver bisogno.

Polyfill obbligatori

Ambienti Polyfill
Safari 7, 8 e 9 ES Stabile
Nodo < 6,5 ES Stabile

Polyfill opzionali

Ambienti Polyfill Prodotti Firebase
  • Nodo
  • Safari < 10.1
  • iOS < 10.3
andare a prendere
  • Funzioni cloud
  • Monitoraggio delle prestazioni
  • Reagire Nativo ed Expo
base-64
  • Archiviazione cloud

Polyfill suggeriti

Polyfill Licenza
ES Stabile MIT
andare a prendere MIT
base-64 MIT

Configurazione Polyfill richiesta per React Native ed Expo

Per React Native ed Expo se stai caricando una stringa codificata in base 64, devi fare quanto segue:

Installa base-64 da npm:

npm install base-64

Importa decode da base-64 e allegala all'ambito globale come atob in modo che Cloud Storage possa accedervi.

import { decode } from 'base-64';

if(typeof atob === 'undefined') {
  global.atob = decode;
}

Aggiungi polyfill nella tua applicazione

Opzione 1 : (consigliata) Usa bundler integrato con Babel

Se stai usando un bundler, integra con Babel e @babel/preset-env per ottenere i polyfill.

Usa la guida all'installazione interattiva di Babel per scoprire come integrare Babel con il tuo bundler.

Con Babel, non devi preoccuparti degli esatti polyfill da includere. Invece, specifichi gli ambienti browser minimi che devi supportare. Babel aggiunge quindi i polyfill necessari per te. Babel garantisce che i tuoi requisiti per il supporto del browser siano sempre soddisfatti, anche se Firebase o il tuo codice inizia a utilizzare le nuove funzionalità ES.

@babel/preset-env contiene informazioni dettagliate sulle opzioni di configurazione disponibili per specificare i target dell'ambiente (option targets ) e aggiungere polyfill (option useBuiltIns ).

Opzione 2 : (non consigliata) Aggiungi i polyfill manualmente

Puoi aggiungere polyfill manualmente utilizzando le tue librerie polyfill preferite (ad esempio, core-js ).

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

core-js fornisce anche un file polyfill all-in-one che puoi includere direttamente nella pagina HTML.

Questa opzione può essere un modo conveniente per gestire i polyfill se non usi Babel. Tuttavia, non consigliamo questa opzione all-in-one per le app di produzione in quanto probabilmente includerà polyfill non necessari, che aumentano il peso della pagina e quindi il tempo di caricamento della pagina.