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

Sitenizde Firebase Hosting ile başlayan Firebase Hosting URL'si ayrılmış durumda./__ 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, Firebase'e dağıtım yaptığınızda (firebase deploy) veya uygulamanızı yerel bir sunucuda çalıştırdığınızda (firebase serve) kullanılabilir.

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

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

/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js

Uygulamanızda kullandığınız kitaplıkları yüklemenizi önemle tavsiye ederiz. Örneğin, yalnızca Authentication ve Cloud Firestore kitaplıklarını eklemek için aşağıdaki komut dosyalarını <body> etiketinizin alt kısmına yapıştırın. Ancak Firebase hizmetlerini 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'nın otomatik yapılandırılması

Otomatik SDK yapılandırması, birden fazla ortamı (ör. geliştirme, hazırlık ve üretim) tek bir kod tabanından yönetmeyi kolaylaştırır. Ayrılmış Hosting URL'yi kullanarak aynı kodu birden fazla Firebase projesine dağıtabilirsiniz.

Ayrılmış ad alanı, SDK'ların kendisini barındırmanın yanı sıra Hosting sitesiyle ilişkili Firebase projesi için SDK'yı başlatmak üzere gereken tüm yapılandırmayı da sağlar. Bu Firebase yapılandırması ve SDK başlatma işlemi, 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ı, 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 yapılandırma değerleri JSON biçiminde de kullanılabilir:

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

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

Firebase ürünü Kitaplık referansı (ayrılmış URL)
Firebase Core
(gerekli)
<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'ı en iyi şekilde kullanmak için 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'ı en iyi şekilde kullanmak için Analytics için Firebase SDK'sını da ekleyin.

Firebase JavaScript SDK
(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ğrulama işlemini tamamlamak için özel JavaScript ve HTML sağlamak üzere ayrılmış ad alanını kullanır. Bu sayede her Firebase projesi benzersiz bir Firebase alt alan adına sahip olabilir ve Firebase Authentication güvenliği artırılır.

Ayrıca bu sayede, authDomain seçeneği için kendi özel alanınızı kullanabilirsiniz.firebase.initializeApp() Firebase Hosting için özel bir alan yapılandırırsanız, Firebase SDK'larını başlatırken bu özel alanı (web.app veya firebaseapp.com alt alanınız yerine) da belirtebilirsiniz. Özel alan adı kullanma hakkında daha fazla bilgi için signInWithRedirect'i kullanmayla ilgili en iyi uygulamalar başlıklı makaleyi inceleyin.

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

Progresif Web Uygulaması (PWA) oluşturuyorsanız "gezinme geri dönüşü" olan bir hizmet çalışanı oluşturabilir ve önbelleğe alınmış öğeler listesiyle eşleşmezse varsayılan olarak belirli bir URL'yi oluşturabilirsiniz.

sw-precache kitaplığını kullanıyorsanız ayrılmış ad alanını hariç tutan bir gezinme geri dönüşü beyaz liste 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ı tarafından engellememeniz gerektiğini unutmayın.