Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

Firebase Hosting rezerw adresów URL w witrynie począwszy /__ . Ta zarezerwowana przestrzeń nazw ułatwia korzystanie z innych produktów Firebase razem z Hostingiem Firebase.

Te zarezerwowane adresy są dostępne zarówno podczas wdrażania do Firebase ( firebase deploy ) lub po uruchomieniu 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

Zalecamy ładowanie tylko bibliotek , które wykorzystują w swojej aplikacji. Na przykład, obejmować tylko uwierzytelnianie i chmura FireStore dodaj następujące skrypty do dołu <body> tagu, 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.0/firebase-app.js"></script>

  <!-- Add Firebase products that you want to use -->
  <script src="/__/firebase/8.10.0/firebase-auth.js"></script>
  <script src="/__/firebase/8.10.0/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>

Po wdrożeniu do Firebase lub przetestować aplikację lokalnie, skrypt automatycznie konfiguruje Firebase JavaScript SDK dla aktywnego projektu Firebase i inicjuje 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.0/firebase-app.js"></script>
Analityka
<script src="/__/firebase/8.10.0/firebase-analytics.js"></script>
Sprawdzanie aplikacji
<script src="/__/firebase/8.10.0/firebase-app-check.js"></script>
Uwierzytelnianie
<script src="/__/firebase/8.10.0/firebase-auth.js"></script>
Cloud Firestore
<script src="/__/firebase/8.10.0/firebase-firestore.js"></script>
Pakiet SDK Cloud Functions dla klienta Firebase
<script src="/__/firebase/8.10.0/firebase-functions.js"></script>
Wiadomości w chmurze
<script src="/__/firebase/8.10.0/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.0/firebase-storage.js"></script>
Monitoring wydajności
(Uwalnianie p)
<script src="/__/firebase/8.10.0/firebase-performance.js"></script>
Baza danych czasu rzeczywistego
<script src="/__/firebase/8.10.0/firebase-database.js"></script>
Zdalna konfiguracja
(Uwalnianie p)
<script src="/__/firebase/8.10.0/firebase-remote-config.js"></script>

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

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

Pomocnicy uwierzytelniania

Uwierzytelnianie Firebase używa zastrzeżonego nazw, aby zapewnić szczególną JavaScript i HTML do pełnego uwierzytelnienia z dostawcami 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.

Dodatkowo, pozwala na korzystanie z własnego niestandardową domenę dla authDomain opcją firebase.initializeApp() . Jeśli skonfigurować domenę niestandardową dla Firebase Hosting, można również określić, że zwyczaj domeny (zamiast web.app lub firebaseapp.com subdomeny) podczas inicjalizacji Firebase SDK.

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 SW-precache bibliotekę, można dodać fallback nawigację whitelist ustawienie, które wyklucza zarezerwowanych 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.