Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

טען את קבצי ה- SDK של Firebase מכתובות אתרים שמורות

אירוח Firebase שומר כתובות אתרים באתר שלך החל מ /__ . מרחב שמות שמור זה מקל על השימוש במוצרי Firebase אחרים יחד עם Firebase Hosting.

כתובות שמורות אלה זמינים הן כשתפרוס כדי Firebase ( firebase deploy ) או כאשר אתה מפעיל את האפליקציה שלך בשרת מקומי ( firebase serve ).

הוסף סקריפטים לכתובות אתרים שמורות

מכיוון שאירוח Firebase מוגש באמצעות HTTP / 2 בעת פריסתו, תוכלו לשפר את הביצועים על ידי טעינת קבצים מאותו מקור. אירוח Firebase משרת את כל הגרסאות של ה- SDK של Firebase JavaScript מכתובות אתרים מיוחדות המעוצבות כך:

/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js

אנו ממליצים בחום לטעון רק את הספריות בהן אתה משתמש באפליקציה שלך. לדוגמה, כדי לכלול רק אימות ו- Cloud Firestore, הוסף את התסריטים הבאים בתחתית התג <body> , אך לפני שתשתמש בשירותי 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.6.8/firebase-app.js"></script>

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

תצורה אוטומטית של SDK

תצורת SDK אוטומטית מקלה על ניהול סביבות מרובות (כגון dev, staging, and production) מבסיס קוד יחיד. על ידי הסתמכות על כתובת האתר השמורה לאירוח, תוכל לפרוס את אותו קוד למספר פרויקטים של Firebase.

בנוסף לאירוח ערכות ה- SDK עצמן, מרחב השמות השמור מספק גם את כל התצורה הדרושה לאתחול ה- SDK עבור פרויקט Firebase המשויך לאתר האירוח. תצורת Firebase זו ואתחול ה- SDK מסופקים על ידי סקריפט שתוכל לכלול ישירות:

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

כאשר אתה פורס ל- Firebase או בודק את האפליקציה שלך באופן מקומי, סקריפט זה מגדיר באופן אוטומטי את ה- SDK של Firebase JavaScript לפרויקט Firebase הפעיל ומאתחל את ה- SDK.

אם אתה מעדיף לשלוט באתחול בעצמך, ערכי התצורה של Firebase זמינים גם בצורת JSON:

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

Firkase JS SDKs זמינים (מכתובות אתרים שמורות לאירוח)

מוצר Firebase הפניה לספרייה (כתובת אתר שמורה)
ליבת Firebase
(נדרש)
<script src="/__/firebase/8.6.8/firebase-app.js"></script>
ניתוח
<script src="/__/firebase/8.6.8/firebase-analytics.js"></script>
אימות
<script src="/__/firebase/8.6.8/firebase-auth.js"></script>
ענן Firestore
<script src="/__/firebase/8.6.8/firebase-firestore.js"></script>
פונקציות ענן עבור SDK של לקוח Firebase
<script src="/__/firebase/8.6.8/firebase-functions.js"></script>
מסרים בענן
<script src="/__/firebase/8.6.8/firebase-messaging.js"></script>

לחוויה אופטימלית בשימוש בהודעות בענן, הוסף גם את ה- SDK של Firebase ל- Analytics.

אחסון בענן
<script src="/__/firebase/8.6.8/firebase-storage.js"></script>
ניטור ביצועים
( גרסת בטא )
<script src="/__/firebase/8.6.8/firebase-performance.js"></script>
מסד נתונים בזמן אמת
<script src="/__/firebase/8.6.8/firebase-database.js"></script>
תצורה מרחוק
( גרסת בטא )
<script src="/__/firebase/8.6.8/firebase-remote-config.js"></script>

לחוויה אופטימלית בשימוש ב- Remote Config, הוסף גם את ה- SDK של Firebase ל- Analytics.

Firebase JavaScript SDK
(SDK כולו)
<script src="/__/firebase/8.6.8/firebase.js"></script>

עוזרים אותנטיים

אימות Firebase משתמש במרחב השמות השמור כדי לספק JavaScript ו- HTML מיוחדים להשלמת אימות מול ספקים באמצעות OAuth. זה מאפשר לכל פרויקט Firebase לקבל תת-דומיין ייחודי של Firebase, מה שמגדיל את האבטחה של אימות Firebase.

בנוסף, זה מאפשר לך להשתמש בתחום המותאם אישית שלך לאפשרות authDomain של authDomain firebase.initializeApp() . אם להגדיר דומיין מותאם אישית עבור Firebase אירוח, אז אתה יכול גם לציין כי תחום מותאם אישית (במקום שלך web.app או firebaseapp.com משנה) כאשר אתחול בערכות הפיתוח Firebase.

כתובות אתרים שמורות ועובדי שירות

אם אתה בונה אפליקציית אינטרנט מתקדמת (PWA), אתה עשוי ליצור עובד שירות שיש לו "תגובת ניווט" ויעבד כתובת URL ספציפית כברירת מחדל אם היא אינה תואמת לרשימת פריטים שקדמו לך.

אם אתה משתמש בספריית sw-precache , אתה יכול להוסיף הגדרת רשימת היתרים לניווט שאינה כוללת את מרחב השמות השמור:

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

באופן כללי, רק זכרו כי מרחב השמות תחתון כפול שמור לשימוש ב- Firebase ושאתם לא צריכים ליירט בקשות אלה אצל עובד השירות שלכם.