Firebase SDK'larını ayrılmış URL'lerden yükleyin

Firebase Hosting, sitenizdeki /__ ile başlayan URL'leri saklı tutar. Bu ayrılmış ad alanı, diğer Firebase ürünlerini Firebase Hosting ile birlikte kullanmayı kolaylaştırır.

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 dosyaları ekleyin

Firebase Hosting, dağıtıldığında HTTP/2 üzerinden sunulduğundan, aynı kaynaktan dosya yükleyerek performansı artırabilirsiniz. Firebase Hosting, Firebase JavaScript SDK'nın tüm sürümlerini şu şekilde biçimlendirilmiş özel URL'lerden sunar:

/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js

Yalnızca uygulamanızda kullandığınız kitaplıkları yüklemenizi kesinlikle öneririz. Örneğin, yalnızca Kimlik Doğrulama ve Cloud Firestore'u dahil etmek için, herhangi bir Firebase hizmetini kullanmadan önce <body> etiketinizin altına aşağıdaki komut dosyalarını ekleyin:

<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 çok ortamı (geliştirme, hazırlama ve üretim gibi) tek bir kod tabanından yönetmeyi kolaylaştırır. Ayrılmış Barındırma URL'sine güvenerek aynı kodu birden fazla Firebase projesine dağıtabilirsiniz.

Ayrılmış ad alanı, SDK'ların kendilerini barındırmasına ek olarak, Barındırma sitesiyle ilişkili Firebase projesi için SDK'yı başlatmak için gerekli tüm yapılandırmayı da sağlar. Bu Firebase yapılandırması ve SDK başlatma, doğrudan ekleyebileceğ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ğıttığınızda veya uygulamanızı yerel olarak test ettiğinizde bu komut dosyası, etkin Firebase projesi için Firebase JavaScript SDK'sını otomatik olarak yapılandırır ve SDK'yı başlatır.

Başlatmayı kendiniz kontrol etmeyi tercih ederseniz, Firebase yapılandırma 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ış Barındırma URL'lerinden)

Firebase ürünü Kitaplık referansı (ayrılmış URL)
Firebase çekirdeği
(gereklidir)
<script src="/__/firebase/8.10.1/firebase-app.js"></script>
Analitik
<script src="/__/firebase/8.10.1/firebase-analytics.js"></script>
Uygulama Kontrolü
<script src="/__/firebase/8.10.1/firebase-app-check.js"></script>
kimlik doğrulama
<script src="/__/firebase/8.10.1/firebase-auth.js"></script>
Bulut Firestore
<script src="/__/firebase/8.10.1/firebase-firestore.js"></script>
Firebase İstemci SDK'sı için Bulut İşlevleri
<script src="/__/firebase/8.10.1/firebase-functions.js"></script>
Bulut Mesajlaşma
<script src="/__/firebase/8.10.1/firebase-messaging.js"></script>

Cloud Messaging'i en iyi şekilde kullanmak için Analytics için Firebase SDK'sını da ekleyin.

Bulut depolama
<script src="/__/firebase/8.10.1/firebase-storage.js"></script>
Performans İzleme
( beta sürümü)
<script src="/__/firebase/8.10.1/firebase-performance.js"></script>
Gerçek Zamanlı Veritabanı
<script src="/__/firebase/8.10.1/firebase-database.js"></script>
Uzak Yapılandırma
( beta sürümü)
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script>

Remote Config'i en iyi şekilde kullanmak için Firebase SDK for Analytics'i de ekleyin.

Firebase JavaScript SDK'sı
(tüm SDK)
<script src="/__/firebase/8.10.1/firebase.js"></script>

Yetkilendirme yardımcıları

Firebase Authentication , OAuth aracılığıyla sağlayıcılarla kimlik doğrulamayı tamamlamak için özel JavaScript ve HTML sağlamak için ayrılmış ad alanını kullanır. Bu, her Firebase projesinin benzersiz bir Firebase alt etki alanına sahip olmasını sağlayarak Firebase Kimlik Doğrulamasının güvenliğini artırır.

Ayrıca bu, firebase.initializeApp() authDomain seçeneği için kendi özel etki alanınızı kullanmanıza olanak tanır. Firebase Hosting için özel bir etki alanı yapılandırırsanız , Firebase SDK'larını başlatırken bu özel etki alanını da ( web.app veya firebaseapp.com alt etki alanınız yerine) belirtebilirsiniz.

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

Bir Aşamalı Web Uygulaması (PWA) oluşturuyorsanız, "gezinme yedeği" olan ve önceden önbelleğe alınmış öğeler listesiyle eşleşmiyorsa varsayılan olarak belirli bir URL işleyen bir hizmet çalışanı oluşturabilirsiniz.

sw-precache kitaplığını kullanıyorsanız, ayrılmış ad alanını hariç tutan bir gezinme yedek beyaz listesi ayarı ekleyebilirsiniz:

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

Genel olarak, çift alt çizgi ad alanının Firebase kullanımı için ayrıldığını ve bu istekleri hizmet çalışanınızda engellememeniz gerektiğini unutmayın.