Firebase Hosting sitenizde /__
ile başlayan URL'leri ayırır. Bu ayrılmış ad alanı, diğer Firebase ürünlerini Firebase Barındırma ile birlikte kullanmayı 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 Barındırma dağıtıldığında HTTP/2 üzerinden sunulduğu için, dosyaları aynı kaynaktan yükleyerek performansı artırabilirsiniz. Firebase Hosting, şu şekilde biçimlendirilmiş özel URL'lerden Firebase JavaScript SDK'sının 8. sürümünü 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 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 çok 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 çok Firebase projesine dağıtabilirsiniz.
Ayrılmış ad alanı, SDK'ları barındırmanın yanı sıra, 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şlatması, 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ı Firebase JavaScript SDK'sını etkin Firebase projesi için otomatik olarak yapılandırır ve SDK'yı başlatır.
Başlatmayı kendiniz kontrol etmeyi tercih ederseniz, Firebase konfigürasyon değerleri JSON formunda da 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 kullanarak en iyi deneyimi elde etmek için Firebase SDK for Analytics'i de 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 kullanarak en iyi deneyimi elde etmek 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> |
Kimlik doğrulama yardımcıları
Firebase Authentication, OAuth aracılığıyla sağlayıcılarla kimlik doğrulamasını tamamlamak için özel JavaScript ve HTML sağlamak üzere ayrılmış ad alanını kullanır. Bu, her Firebase projesinin benzersiz bir Firebase alt etki alanına sahip olmasını sağlayarak Firebase Authentication'ı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 Barındırma 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 alan adınız yerine) belirtebilirsiniz.
Ayrılmış URL'ler ve hizmet çalışanları
Bir Aşamalı Web Uygulaması (PWA) oluşturuyorsanız, bir "gezinme yedeği" olan ve önceden önbelleğe alınmış öğeler listesiyle eşleşmiyorsa varsayılan olarak belirli bir URL oluşturan bir hizmet çalışanı oluşturabilirsiniz.
sw-precache kitaplığını kullanıyorsanız, ayrılmış ad alanını hariç tutan bir gezinti yedek beyaz listesi ayarı ekleyebilirsiniz:
{
navigateFallbackWhitelist: [/^(?!\/__).*/]
}
Genel olarak, çift altçizgili ad alanının Firebase kullanımı için ayrıldığını ve bu istekleri hizmet çalışanınızda kesmemeniz gerektiğini unutmayın.