Google 致力于为黑人社区推动种族平等。查看具体举措

Charger les SDK Firebase à partir d'URL réservées

Hébergement Firebase URL de réserves dans votre site en commençant par /__ . Cet espace de noms réservé facilite l'utilisation d'autres produits Firebase avec Firebase Hosting.

Ces URL réservées sont disponibles à la fois lorsque vous déployez à Firebase ( firebase deploy ) ou lorsque vous exécutez votre application sur un serveur local ( firebase serve ).

Ajouter des scripts pour les URL réservées

Étant donné que Firebase Hosting est servi sur HTTP/2 lorsqu'il est déployé, vous pouvez augmenter les performances en chargeant des fichiers de la même origine. Firebase Hosting sert toutes les versions du SDK JavaScript Firebase à partir d'URL spéciales formatées comme suit :

/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js

Nous vous recommandons fortement le chargement que les bibliothèques que vous utilisez dans votre application. Par exemple, pour inclure uniquement l' authentification et le Cloud Firestore, ajoutez les scripts suivants au fond de votre <body> balise, mais avant d'utiliser les services Firebase:

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

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

Configuration automatique du SDK

La configuration automatique du SDK facilite la gestion de plusieurs environnements (tels que le développement, le transfert et la production) à partir d'une seule base de code. En vous appuyant sur l'URL d'hébergement réservée, vous pouvez déployer le même code sur plusieurs projets Firebase.

En plus d'héberger les SDK eux-mêmes, l'espace de noms réservé fournit également toute la configuration nécessaire pour initialiser le SDK pour le projet Firebase associé au site d'hébergement. Cette configuration Firebase et cette initialisation du SDK sont fournies par un script que vous pouvez inclure directement :

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

Lorsque vous déployez à Firebase ou tester votre application localement, ce script configure automatiquement le SDK JavaScript Firebase pour le projet Firebase actif et initialise le SDK.

Si vous préférez contrôler vous-même l'initialisation, les valeurs de configuration Firebase sont également disponibles au format JSON :

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

SDK Firebase JS disponibles (à partir des URL d'hébergement réservées)

Produit Firebase Référence de la bibliothèque (URL réservée)
Noyau Firebase
(obligatoire)
<script src="/__/firebase/8.10.0/firebase-app.js"></script>
Analytique
<script src="/__/firebase/8.10.0/firebase-analytics.js"></script>
Vérification de l'application
<script src="/__/firebase/8.10.0/firebase-app-check.js"></script>
Authentification
<script src="/__/firebase/8.10.0/firebase-auth.js"></script>
Cloud Firestore
<script src="/__/firebase/8.10.0/firebase-firestore.js"></script>
Cloud Functions for Firebase Client SDK
<script src="/__/firebase/8.10.0/firebase-functions.js"></script>
Messagerie Cloud
<script src="/__/firebase/8.10.0/firebase-messaging.js"></script>

Pour une expérience optimale d'utilisation de Cloud Messaging, ajoutez également le SDK Firebase pour Analytics.

Stockage en ligne
<script src="/__/firebase/8.10.0/firebase-storage.js"></script>
Suivi de la performance
(Version bêta)
<script src="/__/firebase/8.10.0/firebase-performance.js"></script>
Base de données en temps réel
<script src="/__/firebase/8.10.0/firebase-database.js"></script>
Configuration à distance
(Version bêta)
<script src="/__/firebase/8.10.0/firebase-remote-config.js"></script>

Pour une expérience optimale avec Remote Config, ajoutez également le SDK Firebase pour Analytics.

SDK JavaScript Firebase
(SDK complet)
<script src="/__/firebase/8.10.0/firebase.js"></script>

Assistants d'authentification

Firebase authentification utilise l'espace réservé pour fournir JavaScript spécial et HTML pour l' authentification complète avec les fournisseurs via OAuth. Cela permet à chaque projet Firebase d'avoir un sous-domaine Firebase unique, augmentant la sécurité de Firebase Authentication.

De plus, cela vous permet d'utiliser votre propre nom de domaine personnalisé pour la authDomain option firebase.initializeApp() . Si vous configurez un domaine personnalisé pour Firebase Hosting, vous pouvez également spécifier ce domaine personnalisé ( au lieu de votre web.app ou firebaseapp.com sous - domaine) lors de l' initialisation du Firebase SDKs.

URL réservées et service workers

Si vous créez une application Web progressive (PWA), vous pouvez créer un service worker doté d'une « navigation de secours » et restituant une URL spécifique par défaut si elle ne correspond pas à une liste d'éléments pré-cachés.

Si vous utilisez la sw-precache bibliothèque, vous pouvez ajouter un paramètre de navigation fallback whitelist qui exclut l'espace de noms réservé:

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

En général, n'oubliez pas que l'espace de noms à double soulignement est réservé à l'utilisation de Firebase et que vous ne devez pas intercepter ces requêtes dans votre service worker.