Buka konsol

Memuat Firebase SDK dari URL yang dicadangkan

Firebase Hosting mencadangkan URL di situs Anda yang diawali dengan /__. Namespace yang dicadangkan ini memudahkan penggunaan fitur Firebase lain bersama dengan Firebase Hosting.

URL yang dicadangkan ini tersedia saat Anda menerapkan Firebase (firebase deploy) atau menjalankan aplikasi di server lokal (firebase serve).

Menambahkan skrip untuk URL yang dicadangkan

Karena Firebase Hosting disajikan melalui HTTP/2 ketika diterapkan, Anda dapat meningkatkan performa dengan memuat file dari asal yang sama. Firebase Hosting melayani semua versi Firebase JavaScript SDK dari URL khusus yang diformat seperti berikut ini:

/__/firebase/js-sdk-version/firebase-sdk-name.js

Sebaiknya muat library yang digunakan di aplikasi Anda saja. Misalnya, untuk hanya menyertakan Authentication dan Cloud Firestore, tambahkan skrip berikut ke bawah tag <body>, tetapi sebelum Anda menggunakan layanan Firebase apa pun:

<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/6.3.3/firebase-app.js"></script>

  <!-- Add Firebase products that you want to use -->
  <script src="/__/firebase/6.3.3/firebase-auth.js"></script>
  <script src="/__/firebase/6.3.3/firebase-firestore.js"></script>
</body>

Konfigurasi otomatis SDK

Konfigurasi SDK otomatis memudahkan pengelolaan beberapa lingkungan (seperti pengembangan, penahapan, dan produksi) dari 1 codebase. Dengan mengandalkan URL Hosting yang dicadangkan, Anda dapat menerapkan kode yang sama ke beberapa project Firebase.

Selain menghosting SDK sendiri, namespace yang dicadangkan juga menyediakan semua konfigurasi yang diperlukan guna menginisialisasi SDK untuk project Firebase yang terkait dengan situs Hosting. Konfigurasi Firebase dan inisialisasi SDK ini disediakan oleh skrip yang dapat Anda sertakan secara langsung:

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

Ketika Anda menerapkan Firebase atau menguji aplikasi secara lokal, skrip ini secara otomatis mengonfigurasi Firebase JavaScript SDK untuk project Firebase yang aktif dan menginisialisasi SDK.

Jika Anda lebih suka mengontrol inisialisasi sendiri, nilai konfigurasi Firebase juga tersedia dalam format JSON:

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

Penunjang Auth

Firebase Authentication menggunakan namespace yang dicadangkan untuk menyediakan JavaScript dan HTML khusus, guna melengkapi autentikasi dengan penyedia layanan melalui OAuth. Dengan begitu, setiap project Firebase dapat memiliki subdomain Firebase yang unik, sehingga meningkatkan keamanan Firebase Authentication.

Selain itu, Anda dapat menggunakan domain kustom sendiri untuk opsi authDomain dari firebase.initializeApp(). Jika Anda mengonfigurasi domain kustom untuk Firebase Hosting, Anda juga dapat menentukan domain kustom tersebut (bukan subdomain web.app atau firebaseapp.com) saat menginisialisasi Firebase SDK.

URL yang Dicadangkan dan pekerja layanan

Jika Anda merancang Progressive Web App (PWA), Anda dapat membuat pekerja layanan yang memiliki "fallback navigasi" dan merender URL tertentu secara default jika URL tidak cocok dengan daftar item yang telah di-cache sebelumnya.

Jika menggunakan library sw-precache, Anda dapat menambahkan setelan fallback navigasi yang diizinkan dan tidak mencakup namespace yang dicadangkan:

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

Secara umum, ingatlah bahwa namespace dengan garis bawah ganda dicadangkan untuk penggunaan Firebase dan Anda tidak boleh menghalangi permintaan ini di pekerja layanan.