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 |
---|---|---|
| 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 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.