Obsługiwane środowiska
Pakiet Firebase JavaScript SDK jest oficjalnie obsługiwany w poniższych środowiskach.
Przeglądarki
Usługa Firebase | Edge | Firefox | Chrome, | Safari na iOS | Safari |
---|---|---|---|---|---|
Sprawdzanie aplikacji | |||||
Analytics | |||||
Uwierzytelnianie | |||||
Cloud Firestore | (z wyjątkiem trwałości) |
(z wyjątkiem trwałości w przypadku iOS < 10) |
|||
Funkcje Cloud | |||||
Instalacje Firebase | |||||
Komunikacja w chmurze | (Edge 17+, oprócz urządzeń mobilnych) |
||||
Cloud Storage, | |||||
Monitorowanie wydajności | |||||
Baza danych czasu rzeczywistego | |||||
Zdalna konfiguracja | |||||
Vertex AI dla Firebase |
Inne środowiska
Usługa Firebase | Reakcja natywna | Node.js | Rozszerzenia Chrome |
Kordowa |
---|---|---|---|---|
Sprawdzanie aplikacji | (używając dostawcy niestandardowego do atestu urządzenia natywnego) |
(z pomocą dostawcy niestandardowego) |
||
Analytics | ||||
Uwierzytelnianie | (zobacz uwagę). |
(zobacz uwagę). |
(zobacz uwagę). |
(zobacz uwagę). |
Cloud Firestore | (z wyjątkiem trwałości) |
(z wyjątkiem trwałości) |
||
Funkcje Cloud | ||||
Instalacje Firebase | ||||
Komunikacja w chmurze | ||||
Cloud Storage, | (z wyjątkiem przesłanych) |
|||
Monitorowanie wydajności | ||||
Baza danych czasu rzeczywistego | ||||
Zdalna konfiguracja | ||||
Vertex AI dla Firebase |
Polyfill
Pakiet SDK Firebase JavaScript jest oparty na najnowszych standardach platformy internetowej. Niektóre starsze przeglądarki i środowiska JavaScript nie obsługują wszystkich funkcji wymaganych przez Firebase. Jeśli musisz obsługiwać te przeglądarki lub środowiska, musisz odpowiednio wczytać elementy polyfill.
W poniższych sekcjach znajdziesz większość zasobów polyfill, których możesz potrzebować.
Wymagane elementy polyfill
Środowiska | Polyfill |
---|---|
Safari 7, 8 i 9 | Stabilny ES |
Węzeł < 6.5 | Stabilny ES |
Opcjonalne elementy polyfill
Środowiska | Polyfill | Usługi Firebase |
---|---|---|
|
pobieranie |
|
|
base-64 |
|
Sugerowane elementy polyfill
Polyfill | Licencja |
---|---|
Stabilny ES | MIT |
pobieranie | MIT |
base-64 | MIT |
Wymagana konfiguracja Polyfill na potrzeby reklam natywnych i Expo React
W przypadku reklam natywnych i ekspozycyjnych z reakcji React, jeśli przesyłasz ciąg zakodowany w standardzie base-64, musisz wykonać te czynności:
Zainstaluj base-64 z npm:
npm install base-64
Zaimportuj plik decode
z usługi base-64
i podłącz go do zakresu globalnego jako atob
, aby umożliwić Cloud Storage dostęp do niego.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
Dodaj kod polyfill w aplikacji
Opcja 1. (Zalecane) Użyj kreatora pakietów zintegrowanego z Babel
Jeśli korzystasz z narzędzia do tworzenia pakietów, zintegruj je z Babel i @babel/preset-env, aby uzyskać kod polyfill.
Skorzystaj z interaktywnego przewodnika konfiguracji Babel, aby dowiedzieć się, jak zintegrować Babel z Twoim narzędziem pakietu.
Dzięki Babel nie musisz się martwić o dokładne uwzględnienie kodu polyfill. W tym celu określasz minimalną liczbę środowisk przeglądarek, które mają być obsługiwane. Następnie Babel doda niezbędne elementy polyfill. Babel dba o to, aby wymagania dotyczące obsługi przeglądarek były zawsze spełnione, nawet jeśli Firebase lub Twój kod zaczną korzystać z nowych funkcji ES.
@babel/preset-env zawiera szczegółowe informacje o dostępnych opcjach konfiguracji służących do określania celów środowisk (opcja targets
) i dodawania elementów polyfill (opcja useBuiltIns
).
Opcja 2. (Niezalecane) Dodaj kod polyfill ręcznie
Elementy polyfill możesz dodawać ręcznie, używając ulubionych bibliotek polyfill (np. core-js
).
import 'core-js/stable'
import 'cross-fetch/polyfill';
core-js
udostępnia też wszechstronny plik polyfill, który możesz umieścić bezpośrednio na stronie HTML.
Ta opcja może być wygodnym sposobem zarządzania kodami polyfill, jeśli nie korzystasz z Babel. Jednak nie zalecamy tego kompleksowego rozwiązania w przypadku aplikacji produkcyjnych, ponieważ prawdopodobnie zawiera ono niepotrzebne elementy polyfill, które zwiększają wagę strony, a tym samym jej czas wczytywania.