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 |
---|---|---|
| andare a prendere |
|
| base-64 |
|
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.