Ayrılmış URL'lerden Firebase SDK'larını yükle

Firebase Hosting, sitenizde /__ ile başlayan URL'leri ayırır. Bu ayrılmış ad alanı, API'lerle birlikte diğer Firebase ürünlerini Firebase Hosting

Bu ayrılmış URL'ler hem Firebase'e dağıttığınızda (firebase deploy) hem de uygulamanızı yerel bir sunucuda çalıştırdığınızda (firebase serve) kullanılabilir.

Ayrılmış URL'ler için komut dosyası ekleme

Firebase Hosting, dağıtıldığında HTTP/2 üzerinden sunulduğu için aynı kaynaktan dosyalar yükleyerek daha iyi performans elde edebilirsiniz. Firebase Hosting hizmet veriyor Firebase JavaScript SDK'sının şu şekilde biçimlendirilmiş özel URL'lerden 8. sürümü:

/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js

Yalnızca kitaplığa erişimi olan kitaplıkların oluşturmaktan ibaret değildir. Örneğin, yalnızca Authentication ve Cloud Firestore, aşağıdaki komut dosyalarını <body> sayfanızın altına ekleyin etiketi yükleyin, ancak herhangi bir Firebase hizmetini kullanmadan önce:

<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>

SDK otomatik yapılandırması

Otomatik SDK yapılandırması, birden fazla ortamı (ör. hazırlık ve üretim olarak) tek bir kod tabanından gerçekleştirmeniz gerekir. Ayrılmış Hosting URL'sini kullanarak aynı kodu birden fazla Firebase projesine dağıtabilirsiniz.

Ayrılmış ad alanı, SDK'ların kendisini barındırmanın yanı sıra aşağıdakileri de sağlar. Firebase için SDK'yı başlatmak için gereken tüm yapılandırma Hosting sitesiyle ilişkilendirilmiş proje. Bu Firebase yapılandırması ve SDK'nın başlatılması, doğrudan dahil edebileceğiniz bir komut dosyası tarafından sağlanır:

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

Firebase'e dağıtım yaptığınızda veya uygulamanızı yerel olarak test ettiğinizde bu komut dosyası otomatik olarak şunun için Firebase JavaScript SDK'sını yapılandırır: etkin Firebase projesi oluşturur ve SDK'yı başlatır.

Başlatmayı kendiniz kontrol etmeyi tercih ederseniz Firebase yapılandırması değerleri JSON biçiminde de mevcuttur:

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

Kullanılabilir Firebase JS SDK'ları (ayrılmış Hosting URL'den)

Firebase ürünü Kitaplık referansı (ayrılmış URL)
Firebase core
(zorunlu)
<script src="/__/firebase/8.10.1/firebase-app.js"></script>
Analytics
<script src="/__/firebase/8.10.1/firebase-analytics.js"></script>
App Check
<script src="/__/firebase/8.10.1/firebase-app-check.js"></script>
Authentication
<script src="/__/firebase/8.10.1/firebase-auth.js"></script>
Cloud Firestore
<script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
Cloud Functions for Firebase Client SDK
<script src="/__/firebase/8.10.1/firebase-functions.js"></script>
Firebase yükleme
<script src="/__/firebase/8.10.1/firebase-installations.js"></script>
Cloud Messaging
<script src="/__/firebase/8.10.1/firebase-messaging.js"></script>

Cloud Messaging kullanımıyla en iyi deneyimi elde etmek istiyorsanız Analytics için Firebase SDK'sını da ekleyin.

Cloud Storage
<script src="/__/firebase/8.10.1/firebase-storage.js"></script>
Performance Monitoring
(beta sürümü)
<script src="/__/firebase/8.10.1/firebase-performance.js"></script>
Realtime Database
<script src="/__/firebase/8.10.1/firebase-database.js"></script>
Remote Config
(beta sürümü)
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script>

Remote Config kullanımıyla en iyi deneyimi elde etmek istiyorsanız Analytics için Firebase SDK'sını da ekleyin.

Firebase JavaScript SDK
(SDK'nın tamamı)
<script src="/__/firebase/8.10.1/firebase.js"></script>

Kimlik doğrulama yardımcıları

Firebase Authentication, OAuth üzerinden sağlayıcılarla kimlik doğrulamayı tamamlamak için özel JavaScript ve HTML sağlamak üzere ayrılmış ad alanını kullanır. Bu sayede, her Firebase projesinin benzersiz bir Firebase alt alan adı, Firebase Authentication alanının güvenliğini artırıyor.

Ayrıca, authDomain için kendi özel alan adınızı da kullanabilirsiniz. firebase.initializeApp() seçeneği. Şu durumda: özel alan yapılandırma Firebase Hosting için, bu özel alan adını da belirtebilirsiniz ( web.app veya firebaseapp.com alt alan adınız) ekleyebilirsiniz. SDK'lar. Görüntüleyin signInWithRedirect kullanımına ilişkin en iyi uygulamalar sayfasını ziyaret edin.

Ayrılmış URL'ler ve hizmet çalışanları

Progresif Web Uygulaması (PWA) oluşturuyorsanız "gezinme yedeği" bulunan bir çalışan ve varsayılan olarak belirli bir URL'yi oluşturur , önceden önbelleğe alınmış öğeler listesiyle eşleşmezse.

sw-precache kullanıyorsanız bir gezinme yedek beyaz listesi ayarı ekleyebilirsiniz. ayrılmış ad alanı:

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

Genel olarak, çift alt çizgili ad alanının Firebase kullanımı için ayrıldığını ve bu isteklerin hizmet çalışanınızda müdahale edilmemesi gerektiğini unutmayın.