โหลด Firebase SDK จาก URL ที่สงวนไว้

Firebase Hosting จะสงวน URL ไว้ในเว็บไซต์ซึ่งขึ้นต้นด้วย /__ ช่วงเวลานี้ เนมสเปซที่สงวนไว้ทำให้สามารถใช้ผลิตภัณฑ์อื่นๆ ของ Firebase ร่วมกับ Firebase Hosting

URL ที่สงวนไว้เหล่านี้สามารถใช้ได้ทั้งเมื่อคุณทำให้ใช้งานได้กับ Firebase (firebase deploy) หรือเมื่อคุณเรียกใช้แอปในเซิร์ฟเวอร์ภายใน (firebase serve).

เพิ่มสคริปต์สำหรับ URL ที่สงวนไว้

เนื่องจาก Firebase Hosting แสดงผลผ่าน HTTP/2 เมื่อทำให้ใช้งานได้ คุณจึงบูสต์ได้ โดยการโหลดไฟล์จากต้นทางเดียวกัน Firebase Hosting ให้บริการ Firebase JavaScript SDK เวอร์ชัน 8 จาก URL พิเศษที่มีรูปแบบดังนี้

/__/firebase/JS_SDK_VERSION/FIREBASE_SDK_NAME.js

เราขอแนะนำอย่างยิ่งให้โหลดเฉพาะไลบรารีที่ ที่คุณใช้ในแอป ตัวอย่างเช่น หากต้องการรวมเฉพาะ Authentication และ 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.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 อัตโนมัติ

การกำหนดค่า SDK อัตโนมัติทำให้ง่ายต่อการจัดการหลายสภาพแวดล้อม (เช่น เป็นการพัฒนา จัดเตรียม และเวอร์ชันที่ใช้งานจริง) จากฐานของโค้ดเดียว โดยใช้ URL Hosting ที่จองไว้ คุณสามารถทำให้โค้ดเดียวกันใช้งานได้ใน Firebase หลายรายการ โปรเจ็กต์

นอกจากโฮสต์ SDK เองแล้ว เนมสเปซที่สงวนไว้ยังมีการกำหนดค่าทั้งหมดที่จําเป็นในการเริ่มต้น SDK สําหรับโปรเจ็กต์ Firebase ที่เชื่อมโยงกับเว็บไซต์ Hosting ด้วย การกำหนดค่า Firebase นี้และ การเริ่มต้น SDK มาจากสคริปต์ที่คุณใส่โค้ดต่อไปนี้ได้โดยตรง

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

เมื่อคุณทำให้ Firebase ใช้งานได้หรือทดสอบแอปในเครื่อง สคริปต์นี้โดยอัตโนมัติ กำหนดค่า SDK JavaScript Firebase สำหรับ โปรเจ็กต์ Firebase ที่ใช้งานอยู่และเริ่มต้น SDK

หากคุณต้องการควบคุมการเริ่มต้นด้วยตนเอง การกำหนดค่า Firebase ค่ายังมีอยู่ในรูปแบบ JSON ด้วย:

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

Firebase JS SDK ที่พร้อมใช้งาน (จาก URL Hosting ที่จองไว้)

ผลิตภัณฑ์ Firebase ข้อมูลอ้างอิงไลบรารี (URL ที่จองไว้)
Firebase Core
(ต้องระบุ)
<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 ครั้ง
<script src="/__/firebase/8.10.1/firebase-installations.js"></script>
Cloud Messaging
<script src="/__/firebase/8.10.1/firebase-messaging.js"></script>

เพิ่ม Firebase SDK สำหรับ Analytics ด้วยเพื่อประสบการณ์การใช้งาน Cloud Messaging ที่ดีที่สุด

Cloud Storage
<script src="/__/firebase/8.10.1/firebase-storage.js"></script>
Performance Monitoring
(รุ่นเบต้า)
<script src="/__/firebase/8.10.1/firebase-performance.js"></script>
Realtime Database
<script src="/__/firebase/8.10.1/firebase-database.js"></script>
Remote Config
(รุ่นเบต้า)
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script>

เพิ่ม Firebase SDK สำหรับ Analytics ด้วยเพื่อประสบการณ์การใช้งาน Remote Config ที่ดีที่สุด

SDK JavaScript Firebase รายการ
(SDK ทั้งหมด)
<script src="/__/firebase/8.10.1/firebase.js"></script>

ผู้ช่วยเหลือด้านการตรวจสอบสิทธิ์

Firebase Authentication ใช้หน่วยโฆษณาที่สงวนไว้ Namespace สำหรับให้ JavaScript และ HTML พิเศษเพื่อทำการตรวจสอบสิทธิ์ให้เสร็จสมบูรณ์ ผู้ให้บริการผ่าน OAuth ซึ่งช่วยให้แต่ละโปรเจ็กต์ Firebase มี โดเมนย่อยของ Firebase เพื่อเพิ่มความปลอดภัยให้กับ Firebase Authentication

นอกจากนี้ คุณยังใช้โดเมนที่กำหนดเองสำหรับauthDomainตัวเลือกของfirebase.initializeApp()ได้ด้วย หากคุณ กำหนดค่าโดเมนที่กำหนดเอง สำหรับ Firebase Hosting แล้ว คุณยังสามารถระบุโดเมนที่กำหนดเอง (แทน ของโดเมนย่อย web.app หรือ firebaseapp.com) เมื่อเริ่มต้น Firebase SDK โปรดดู แนวทางปฏิบัติแนะนำสำหรับการใช้ signInWithRedirect เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับการใช้โดเมนที่กำหนดเอง

URL และ Service Worker ที่จองไว้

หากคุณกำลังสร้าง Progressive Web App (PWA) คุณอาจสร้างบริการ ผู้ปฏิบัติงานที่มี "ทางเลือกสำหรับการนำทาง" และแสดงผล URL ที่เจาะจงโดยค่าเริ่มต้น หากไม่ตรงกับรายการในแคชล่วงหน้า

หากใช้ไลบรารี sw-precache คุณเพิ่มการตั้งค่ารายการที่อนุญาตพิเศษสำหรับการนําทางสำรองที่ไม่รวมเนมสเปซที่สงวนไว้ได้ ดังนี้

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

โดยทั่วไป โปรดจำไว้ว่าเนมสเปซที่มีขีดล่างติดกัน 2 ขีดสงวนไว้สำหรับ การใช้งาน Firebase และคุณไม่ควรสกัดกั้นคำขอเหล่านี้ในบริการของคุณ