Obsługiwane środowiska
Pakiet SDK Firebase JavaScript jest oficjalnie obsługiwany w tych środowiskach.
Przeglądarki
Usługa Firebase | Edge | Firefox | Chrome | Safari na iOS | Safari |
---|---|---|---|---|---|
App Check | |||||
Analytics | |||||
Authentication | |||||
Cloud Firestore | (z wyjątkiem trwałości ) |
(z wyjątkiem trwałości w przypadku iOS < 10) |
|||
Cloud Functions | |||||
Firebase instalacji | |||||
Cloud Messaging | (Edge w wersji 17 lub nowszej, z wyjątkiem wersji mobilnej) |
||||
Cloud Storage | |||||
Performance Monitoring | |||||
Realtime Database | |||||
Remote Config | |||||
Vertex AI in Firebase |
Inne środowiska
Usługa Firebase | React Native | Node.js (18+). | Rozszerzenia do Chrome |
Cordova |
---|---|---|---|---|
App Check | (korzystając z niestandardowego dostawcy do przeprowadzania atestaowania natywnych urządzeń) |
(za pomocą niestandardowego dostawcy) |
||
Analytics | ||||
Authentication | (patrz Uwaga) |
(patrz Uwaga) |
(patrz Uwaga) |
(zobacz uwagę). |
Cloud Firestore | (z wyjątkiem trwałości ) |
(z wyjątkiem trwałości) |
||
Cloud Functions | ||||
Instalacje: Firebase | ||||
Cloud Messaging | ||||
Cloud Storage | (z wyjątkiem przesyłanych plików ) |
|||
Performance Monitoring | ||||
Realtime Database | ||||
Remote Config | ||||
Vertex AI in Firebase |
wypełniacze;
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ć polyfille.
W sekcjach poniżej znajdziesz większość polyfilli, których możesz potrzebować.
Wymagane rozwiązania zastępcze
Środowiska | Polyfill |
---|---|
Safari 7, 8 i 9 | Stabilny ES |
Węzeł < 10 | ES Stabilna |
Opcjonalne rozwiązania zastępcze
Środowiska | Polyfill | Usługi Firebase |
---|---|---|
|
pobieranie |
|
|
pobieranie |
|
|
base-64 |
|
Sugerowane rozwiązania zastępcze
Wypełniacze | Licencja |
---|---|
ES Stabilna | MIT |
fetch – „pobieranie między sobą” – najlepsze w przypadku starszych przeglądarek. | MIT |
fetch – `undici` – najlepiej nadaje się do Node.js | MIT |
base-64 | MIT |
Wymagane skonfigurowanie rozszerzenia dla React Native i Expo
Jeśli przesyłasz ciąg znaków zakodowany w formacie Base64 w przypadku React Native i Expo, wykonaj te czynności:
Zainstaluj pakiet 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 usługa Cloud Storage miała do niego dostęp.
import { decode } from 'base-64';
if(typeof atob === 'undefined') {
global.atob = decode;
}
Dodaj kod polyfill w aplikacji
Opcja 1: (zalecana) użyj narzędzia do tworzenia pakietów zintegrowanego z Babel
Jeśli używasz pakietu, zintegruj się z Babelem i @babel/preset-env, aby uzyskać polyfilly.
Aby dowiedzieć się, jak zintegrować Babel z bundlerem, skorzystaj z interaktywnego przewodnika po konfiguracji.
Dzięki Babel nie musisz się martwić, które polyfille uwzględnić. W tym celu określasz minimalną liczbę środowisk przeglądarek, które mają być obsługiwane. Babel automatycznie doda do projektu niezbędne rozwiązania polyfill. Babel zapewnia, że wymagania dotyczące obsługi przeglądarki są zawsze spełnione, nawet jeśli Firebase lub Twój kod zacznie używać nowych funkcji ES.
@babel/preset-env zawiera szczegółowe informacje o dostępnych opcjach konfiguracji służących do określania celów środowiskowych (opcja targets
) i dodawania polyfilli (opcja useBuiltIns
).
Opcja 2: (nie zalecane) Dodaj polyfills 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 polyfillami, jeśli nie używasz Babel. Nie zalecamy jednak korzystania z tego rozwiązania typu „wszystko w jednym” w przypadku aplikacji produkcyjnych, ponieważ prawdopodobnie będzie ono zawierać niepotrzebne rozwiązania polyfill, które zwiększają rozmiar strony, a co za tym idzie – czas jej wczytywania.