Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Załaduj pakiety SDK Firebase z zarezerwowanych adresów URL

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Hosting Firebase rezerwuje w Twojej witrynie adresy URL rozpoczynające się od /__ . Ta zarezerwowana przestrzeń nazw ułatwia korzystanie z innych produktów Firebase razem z Hostingiem Firebase.

Te zarezerwowane adresy URL są dostępne zarówno podczas wdrażania w Firebase ( firebase deploy ), jak i uruchamiania aplikacji na serwerze lokalnym ( firebase serve ).

Dodaj skrypty dla zarezerwowanych adresów URL

Ponieważ Hosting Firebase jest obsługiwany przez HTTP/2 po wdrożeniu, możesz zwiększyć wydajność, ładując pliki z tego samego źródła. Hosting Firebase obsługuje wszystkie wersje pakietu Firebase JavaScript SDK ze specjalnych adresów URL sformatowanych w następujący sposób:

/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js

Zdecydowanie zalecamy ładowanie tylko tych bibliotek , których używasz w swojej aplikacji. Na przykład, aby uwzględnić tylko uwierzytelnianie i Cloud Firestore, dodaj następujące skrypty na dole tagu <body> , ale przed użyciem jakichkolwiek usług Firebase:

<body>
  <!-- Insert these scripts at the bottom of the HTML, but before you use any Firebase services -->
  <!-- Firebase App (the core Firebase SDK) is always required and must be listed first -->
  <script src="/__/firebase/8.10.1/firebase-app.js"></script>

  <!-- Add Firebase products that you want to use -->
  <script src="/__/firebase/8.10.1/firebase-auth.js"></script>
  <script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
</body>

Automatyczna konfiguracja SDK

Automatyczna konfiguracja SDK ułatwia zarządzanie wieloma środowiskami (takimi jak deweloperskie, tymczasowe i produkcyjne) z jednej bazy kodu. Korzystając z zarezerwowanego adresu URL Hostingu, możesz wdrożyć ten sam kod w wielu projektach Firebase.

Oprócz hostowania samych pakietów SDK zarezerwowana przestrzeń nazw zapewnia również całą konfigurację niezbędną do zainicjowania pakietu SDK dla projektu Firebase powiązanego z witryną Hostingu. Tę konfigurację Firebase i inicjalizację pakietu SDK zapewnia skrypt, który można dołączyć bezpośrednio:

<!-- Load the Firebase SDKs before loading this file -->
<script src="/__/firebase/init.js"></script>

Podczas wdrażania w Firebase lub lokalnego testowania aplikacji ten skrypt automatycznie konfiguruje pakiet Firebase JavaScript SDK dla aktywnego projektu Firebase i inicjuje pakiet SDK.

Jeśli wolisz samodzielnie kontrolować inicjalizację, wartości konfiguracyjne Firebase są również dostępne w postaci JSON:

fetch('/__/firebase/init.json').then(async response => {
  firebase.initializeApp(await response.json());
});

Dostępne pakiety SDK Firebase JS (z zarezerwowanych adresów URL hostingu)

Produkt Firebase Odniesienie do biblioteki (zarezerwowany adres URL)
Rdzeń Firebase
(wymagany)
<script src="/__/firebase/8.10.1/firebase-app.js"></script>
Analityka
<script src="/__/firebase/8.10.1/firebase-analytics.js"></script>
Sprawdzanie aplikacji
<script src="/__/firebase/8.10.1/firebase-app-check.js"></script>
Uwierzytelnianie
<script src="/__/firebase/8.10.1/firebase-auth.js"></script>
Cloud Firestore
<script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
Pakiet SDK Cloud Functions dla klienta Firebase
<script src="/__/firebase/8.10.1/firebase-functions.js"></script>
Instalacje Firebase
<script src="/__/firebase/8.10.1/firebase-installations.js"></script>
Wiadomości w chmurze
<script src="/__/firebase/8.10.1/firebase-messaging.js"></script>

Aby uzyskać optymalną jakość korzystania z Cloud Messaging, dodaj też pakiet SDK Firebase dla Analytics.

Magazyn w chmurze
<script src="/__/firebase/8.10.1/firebase-storage.js"></script>
Monitoring wydajności
( wersja beta )
<script src="/__/firebase/8.10.1/firebase-performance.js"></script>
Baza danych czasu rzeczywistego
<script src="/__/firebase/8.10.1/firebase-database.js"></script>
Zdalna konfiguracja
( wersja beta )
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script>

Aby zoptymalizować korzystanie ze Zdalnej konfiguracji, dodaj też pakiet SDK Firebase dla Analytics.

Pakiet Firebase JavaScript SDK
(cały pakiet SDK)
<script src="/__/firebase/8.10.1/firebase.js"></script>

Pomocnicy uwierzytelniania

Uwierzytelnianie Firebase korzysta z zarezerwowanej przestrzeni nazw, aby zapewnić specjalny kod JavaScript i HTML w celu ukończenia uwierzytelniania u dostawców za pośrednictwem protokołu OAuth. Dzięki temu każdy projekt Firebase może mieć unikalną subdomenę Firebase, co zwiększa bezpieczeństwo Uwierzytelniania Firebase.

Ponadto umożliwia to użycie własnej domeny niestandardowej dla opcji authDomain funkcji firebase.initializeApp() . Jeśli skonfigurujesz domenę niestandardową dla Hostingu Firebase, możesz też określić tę domenę niestandardową (zamiast poddomeny web.app lub firebaseapp.com ) podczas inicjowania pakietów SDK Firebase.

Zarezerwowane adresy URL i pracownicy usług

Jeśli tworzysz progresywną aplikację sieci Web (PWA), możesz utworzyć proces roboczy usługi, który ma „rezerwową nawigację” i domyślnie renderuje określony adres URL, jeśli nie jest on zgodny z listą wstępnie buforowanych elementów.

Jeśli używasz biblioteki sw-precache , możesz dodać ustawienie zastępczej białej listy nawigacji, które wyklucza zarezerwowaną przestrzeń nazw:

{
  navigateFallbackWhitelist: [/^(?!\/__).*/]
}

Ogólnie pamiętaj tylko, że przestrzeń nazw z podwójnym podkreśleniem jest zarezerwowana do użytku Firebase i nie powinieneś przechwytywać tych żądań w procesie Service Worker.