Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Wczytaj pakiety SDK Firebase z zarezerwowanych adresów URL

Hosting Firebase rezerwuje adresy URL w Twojej witrynie zaczynające się od /__ . Ta zarezerwowana przestrzeń nazw ułatwia używanie 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 podczas uruchamiania aplikacji na serwerze lokalnym ( firebase serve ).

Dodaj skrypty dla zarezerwowanych adresów URL

Ponieważ po wdrożeniu Hosting Firebase jest obsługiwany przez HTTP / 2, 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 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.4.1/firebase-app.js"></script>

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

Automatyczna konfiguracja SDK

Automatyczna konfiguracja SDK ułatwia zarządzanie wieloma środowiskami (takimi jak programowanie, przemieszczanie i produkcja) z jednej bazy kodu. Opierając się na zarezerwowanym adresie 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ą hostującą. Ta konfiguracja Firebase i inicjalizacja SDK jest zapewniana przez skrypt, który możesz dołączyć bezpośrednio:

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

Podczas wdrażania w Firebase lub testowania aplikacji lokalnie 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 formacie 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.4.1/firebase-app.js"></script>
Analityka
<script src="/__/firebase/8.4.1/firebase-analytics.js"></script>
Poświadczenie
<script src="/__/firebase/8.4.1/firebase-auth.js"></script>
Cloud Firestore
<script src="/__/firebase/8.4.1/firebase-firestore.js"></script>
Cloud Functions for Firebase Client SDK
<script src="/__/firebase/8.4.1/firebase-functions.js"></script>
Komunikacja w chmurze
<script src="/__/firebase/8.4.1/firebase-messaging.js"></script>

Aby uzyskać optymalne wrażenia z korzystania z Cloud Messaging, dodaj także pakiet Firebase SDK dla Analytics.

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

Aby uzyskać optymalne wrażenia z korzystania ze Zdalnej konfiguracji, dodaj też pakiet SDK Firebase dla Analytics.

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

Pomocnicy uwierzytelniania

Uwierzytelnianie Firebase wykorzystuje zarezerwowaną przestrzeń nazw, aby zapewnić specjalny kod JavaScript i HTML w celu pełnego uwierzytelnienia u dostawców za pośrednictwem 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 korzystanie z własnej domeny niestandardowej dla opcji authDomain w firebase.initializeApp() . Jeśli skonfigurujesz domenę niestandardową dla Hostingu Firebase, możesz również określić tę domenę niestandardową (zamiast subdomeny web.app lub firebaseapp.com ) podczas inicjowania pakietów SDK Firebase.

Zarezerwowane adresy URL i pracownicy usług

Jeśli tworzysz progresywną aplikację internetową (PWA), możesz utworzyć mechanizm Service Worker, który ma „rezerwę nawigacji” i domyślnie renderuje określony adres URL, jeśli nie pasuje on do listy wstępnie przygotowanych elementów.

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

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

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