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

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

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

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

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

/__/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.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 โฮสติ้งที่จองไว้ คุณสามารถใช้งานโค้ดเดียวกันใน Firebase หลายรายการได้ โปรเจ็กต์

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

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

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

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

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

Firebase JS SDK ที่ใช้ได้ (จาก URL โฮสติ้งที่จองไว้)

ผลิตภัณฑ์ Firebase ข้อมูลอ้างอิงไลบรารี (URL ที่จองไว้)
Firebase Core
(ต้องระบุ)
<script src="/__/firebase/8.10.1/firebase-app.js"></script>
ข้อมูลวิเคราะห์
<script src="/__/firebase/8.10.1/firebase-analytics.js"></script>
การตรวจสอบแอป
<script src="/__/firebase/8.10.1/firebase-app-check.js"></script>
การตรวจสอบสิทธิ์
<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 SDK
<script src="/__/firebase/8.10.1/firebase-functions.js"></script>
การติดตั้ง Firebase
<script src="/__/firebase/8.10.1/firebase-installations.js"></script>
การรับส่งข้อความในระบบคลาวด์
<script src="/__/firebase/8.10.1/firebase-messaging.js"></script>

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

พื้นที่เก็บข้อมูลระบบคลาวด์
<script src="/__/firebase/8.10.1/firebase-storage.js"></script>
การตรวจสอบประสิทธิภาพ
(รุ่นเบต้า)
<script src="/__/firebase/8.10.1/firebase-performance.js"></script>
ฐานข้อมูลเรียลไทม์
<script src="/__/firebase/8.10.1/firebase-database.js"></script>
การกำหนดค่าระยะไกล
(รุ่นเบต้า)
<script src="/__/firebase/8.10.1/firebase-remote-config.js"></script>

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

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

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

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

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

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

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

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

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

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