Ambienti supportati per Firebase JavaScript SDK

Ambienti supportati

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

Browser

Prodotto Firebase Bordo Firefox Cromo iOSSafari Safari
Controllo dell'app
Analitica
Autenticazione
Cloud Fire Store
(tranne
persistenza)

(tranne
persistenza
se iOS < 10)
Funzioni del cloud
Installazioni Firebase
Messaggistica sul cloud
(Edge 17+, eccetto dispositivi mobili)
Archiviazione nel cloud
Monitoraggio delle prestazioni
Banca dati in tempo reale
Configurazione remota

Altri ambienti

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

(utilizzando un provider personalizzato )
Analitica
Autenticazione
(Vedi nota )

(Vedi nota )

(Vedi nota )

(Vedi nota )
Cloud Fire Store
(tranne
persistenza)

(tranne
persistenza)
Funzioni del cloud
Installazioni Firebase
Messaggistica sul cloud
Archiviazione nel cloud
(tranne
caricamenti)
Monitoraggio delle prestazioni
Banca dati 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 è necessario supportare questi browser/ambienti, è necessario caricare i polyfill di conseguenza.

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

Polyfill richiesti

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 del cloud
  • Monitoraggio delle prestazioni
  • React Native ed Expo
base-64
  • Archiviazione nel 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 con codifica base 64, devi effettuare le seguenti operazioni:

Installa base-64 da npm:

npm install base-64

Importa decode da base-64 e collegala 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) utilizzare bundler integrato con Babel

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

Utilizza la guida interattiva alla configurazione 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 iniziano a utilizzare nuove funzionalità ES.

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

Opzione 2 : (non consigliata) Aggiungi manualmente i polyfill

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 tutto in uno 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 poiché probabilmente includerà polyfill non necessari, che aumentano il peso della pagina e quindi il tempo di caricamento della pagina.