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

Firebase Hosting, sitenizde /__ ile başlayan URL'leri ayırır. Bu ayrılmış ad alanı, diğer Firebase ürünlerinin Firebase Hosting ile birlikte kullanılmasını kolaylaştırır.

Bu ayrılmış URL'ler, hem Firebase'e dağıtım yaptığı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, dosyaları aynı kaynaktan yükleyerek performansı artırabilirsiniz. Firebase Hosting, Firebase JavaScript SDK'sının 8. sürümünü ş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 önemle öneririz. Örneğin, yalnızca Kimlik Doğrulama ve Cloud Firestore'u dahil etmek için, herhangi bir Firebase hizmetini kullanmadan önce aşağıdaki komut dosyalarını <body> etiketinizin altına 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 fazla ortamın (geliştirme, hazırlama ve üretim gibi) tek bir kod tabanından yönetilmesini 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ırmanın yanı sıra, Barındırma sitesiyle ilişkili Firebase projesi için SDK'yı başlatmak için gereken tüm yapılandırmayı da sağlar. Bu Firebase yapılandırması ve SDK'nın başlatılması, 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ğıtım yaptığı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
(gerekli)
<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>
Firebase kurulumları
<script src="/__/firebase/8.10.1/firebase-installations.js"></script>
Bulut Mesajlaşma
<script src="/__/firebase/8.10.1/firebase-messaging.js"></script>

Cloud Messaging'i kullanırken en iyi deneyimi elde etmek 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>
Uzaktan Yapılandırma
( beta sürümü)
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script>

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

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

Kimlik doğrulama yardımcıları

Firebase Authentication, OAuth aracılığıyla sağlayıcılarla kimlik doğrulamayı tamamlamak amacıyla ö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ğrulamanın güvenliğini artırır.

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

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

Bir Aşamalı Web Uygulaması (PWA) oluşturuyorsanız, "gezinme geri dönüşü" olan ve önceden önbelleğe alınmış öğeler listesiyle eşleşmemesi durumunda varsayılan olarak belirli bir URL'yi 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ına ayrıldığını ve hizmet çalışanınızın bu isteklerine müdahale etmemeniz gerektiğini unutmayın.