Поддерживаемые среды
SDK Firebase JavaScript официально поддерживается в следующих средах.
Браузеры
Продукт Firebase | Край | Fire Fox | Хром | iOS-сафари | Сафари |
---|---|---|---|---|---|
Проверка приложения | |||||
Аналитика | |||||
Аутентификация | |||||
Облако Firestore | (кроме упорство) | (кроме упорство если iOS < 10) | |||
Облачные функции | |||||
Установки Firebase | |||||
Облачный обмен сообщениями | (Edge 17+, кроме мобильных) | ||||
Облачное хранилище | |||||
Мониторинг производительности | |||||
База данных реального времени | |||||
Удаленная конфигурация |
Другие среды
Продукт Firebase | Реагировать на родной | Node.js | Хром Расширения | Кордова |
---|---|---|---|---|
Проверка приложения | (используя собственный провайдер для собственной аттестации устройства) | (используя пользовательский провайдер ) | ||
Аналитика | ||||
Аутентификация | (см. примечание ) | (см. примечание ) | (см. примечание ) | (см. примечание ) |
Облако Firestore | (кроме упорство) | (кроме упорство) | ||
Облачные функции | ||||
Установки Firebase | ||||
Облачный обмен сообщениями | ||||
Облачное хранилище | (кроме загрузки) | |||
Мониторинг производительности | ||||
База данных реального времени | ||||
Удаленная конфигурация |
Полифиллы
SDK Firebase JavaScript создан на основе новейших стандартов веб-платформы. Некоторые старые браузеры и среды JavaScript не поддерживают все функции, необходимые Firebase. Если вы должны поддерживать эти браузеры/среды, вам необходимо соответствующим образом загрузить полифиллы.
В разделах ниже указано большинство полифилов, которые могут вам понадобиться.
Требуемые полифиллы
Окружающая среда | Полифиллы |
---|---|
Сафари 7 и 8 и 9 | Стабильный ES |
Узел < 6,5 | Стабильный ES |
Дополнительные полифилы
Окружающая среда | Полифиллы | Продукты Firebase |
---|---|---|
| принести |
|
| база-64 |
|
Предлагаемые полифиллы
Полифиллы | Лицензия |
---|---|
Стабильный ES | Массачусетский технологический институт |
принести | Массачусетский технологический институт |
база-64 | Массачусетский технологический институт |
Необходимая настройка Polyfill для React Native и Expo
Для React Native и Expo, если вы загружаете строку в кодировке base-64, вам необходимо сделать следующее:
Установите base-64 из npm:
npm install base-64
Импортируйте decode
из base-64
и присоедините его к глобальной области как atob
, чтобы облачное хранилище могло получить к нему доступ.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
Добавьте полифиллы в ваше приложение
Вариант 1 : (рекомендуется) использовать упаковщик, интегрированный с Babel.
Если вы используете сборщик, интегрируйтесь с Babel и @babel/preset-env , чтобы получить полифиллы.
Используйте интерактивное руководство по установке Babel, чтобы узнать, как интегрировать Babel с вашим упаковщиком.
С Babel вам не нужно беспокоиться о том, какие именно полифилы следует включать. Вместо этого вы указываете минимальную среду браузера, которую необходимо поддерживать. Затем Babel добавляет необходимые полифиллы. Babel гарантирует, что ваши требования к поддержке браузера всегда выполняются, даже если Firebase или ваш собственный код начинают использовать новые функции ES.
@babel/preset-env содержит подробную информацию о доступных параметрах конфигурации для указания целей среды (параметр targets
) и добавления полифиллов (параметр useBuiltIns
).
Вариант 2 : (не рекомендуется) добавить полифиллы вручную
Вы можете добавить полифиллы вручную, используя свои любимые библиотеки полифиллов (например, core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
также предоставляет универсальный файл полифилла , который можно напрямую включить в HTML-страницу.
Эта опция может быть удобным способом управления полифиллами, если вы не используете Babel. Однако мы не рекомендуем этот вариант «все в одном» для производственных приложений, так как он, скорее всего, будет включать ненужные полифиллы, что увеличивает вес страницы и, следовательно, время загрузки страницы.