Entornos compatibles
El SDK de JavaScript de Firebase es oficialmente compatible con los siguientes entornos.
Navegadores
Producto base de fuego | Borde | Firefox | Cromo | Safari en iOS | Safari |
---|---|---|---|---|---|
Verificación de aplicaciones | |||||
Analítica | |||||
Autenticación | |||||
Tienda de fuego en la nube | (excepto persistencia) | (excepto persistencia si iOS <10) | |||
Funciones de la nube | |||||
Instalaciones de base de fuego | |||||
Mensajería en la nube | (Edge 17+, excepto móvil) | ||||
Almacenamiento en la nube | |||||
Supervisión del rendimiento | |||||
Base de datos en tiempo real | |||||
Configuración remota |
Otros ambientes
Producto base de fuego | Reaccionar nativo | Nodo.js | Cromo Extensiones | Córdoba |
---|---|---|---|---|
Verificación de aplicaciones | (usando un proveedor personalizado para realizar la certificación del dispositivo nativo) | (usando un proveedor personalizado ) | ||
Analítica | ||||
Autenticación | (ver nota ) | (ver nota ) | (ver nota ) | (ver nota ) |
Tienda de fuego en la nube | (excepto persistencia) | (excepto persistencia) | ||
Funciones de la nube | ||||
Instalaciones de base de fuego | ||||
Mensajería en la nube | ||||
Almacenamiento en la nube | (excepto cargas) | |||
Supervisión del rendimiento | ||||
Base de datos en tiempo real | ||||
Configuración remota |
Polirellenos
El SDK de JavaScript de Firebase se basa en los últimos estándares de la plataforma web. Algunos navegadores y entornos de JavaScript más antiguos no admiten todas las funciones requeridas por Firebase. Si debe admitir estos navegadores/entornos, entonces deberá cargar los polyfills en consecuencia.
Las secciones siguientes identifican la mayoría de los polyfills que podría necesitar.
Polirellenos requeridos
Ambientes | Polirellenos |
---|---|
Safaris 7 y 8 y 9 | ES estable |
Nodo < 6,5 | ES estable |
Polyfills opcionales
Ambientes | Polirellenos | Productos de base de fuego |
---|---|---|
| buscar |
|
| base-64 |
|
Polyfills sugeridos
Polirellenos | Licencia |
---|---|
ES estable | MIT |
buscar | MIT |
base-64 | MIT |
Configuración de Polyfill requerida para React Native y Expo
Para React Native y Expo, si está cargando una cadena codificada en base 64, debe hacer lo siguiente:
Instale base-64 desde npm:
npm install base-64
Importe decode
desde base-64
y adjúntela al alcance global como atob
para que Cloud Storage pueda acceder a ella.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
Agregue polyfills en su aplicación
Opción 1 : (recomendado) Usar paquete integrado con Babel
Si está utilizando un paquete, intégrelo con Babel y @babel/preset-env para obtener polyfills.
Utilice la guía de configuración interactiva de Babel para aprender cómo integrar Babel con su paquete.
Con Babel, no necesitas preocuparte por los polirellenos exactos que debes incluir. En su lugar, usted especifica los entornos de navegador mínimos que necesita admitir. Luego, Babel agrega los polyfills necesarios para usted. Babel garantiza que siempre se cumplan sus requisitos de compatibilidad con el navegador, incluso si Firebase o su propio código comienzan a utilizar nuevas funciones de ES.
@babel/preset-env tiene información detallada sobre las opciones de configuración disponibles para especificar objetivos de entorno (opción targets
) y agregar polyfills (opción useBuiltIns
).
Opción 2 : (No recomendado) Agregar polirellenos manualmente
Puede agregar polyfills manualmente utilizando sus bibliotecas de polyfill favoritas (por ejemplo, core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
también proporciona un archivo polyfill todo en uno que puede incluir directamente en la página HTML.
Esta opción puede ser una forma conveniente de administrar polyfills si no usa Babel. Sin embargo, no recomendamos esta opción todo en uno para aplicaciones de producción, ya que probablemente incluirá polyfills innecesarios, lo que aumenta el peso de la página y, por tanto, el tiempo de carga.