Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

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

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

เราขอแนะนำอย่างยิ่งให้โหลดเฉพาะ ไลบรารี ที่คุณใช้ในแอปของคุณ ตัวอย่างเช่น หากต้องการรวมเฉพาะการตรวจสอบสิทธิ์และ 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 อัตโนมัติทำให้ง่ายต่อการจัดการสภาพแวดล้อมต่างๆ (เช่น dev, staging และ production) จาก codebase เดียว เมื่อใช้ URL โฮสติ้งที่สงวนไว้ คุณจะปรับใช้โค้ดเดียวกันกับโปรเจ็กต์ Firebase หลายโปรเจ็กต์ได้

นอกจากการโฮสต์ SDK แล้ว เนมสเปซที่สงวนไว้ยังมีการกำหนดค่าทั้งหมดที่จำเป็นในการเริ่มต้น 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
(ที่จำเป็น)
<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>
ฟังก์ชันคลาวด์สำหรับ Firebase Client 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>

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

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

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

URL ที่สงวนไว้และพนักงานบริการ

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

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

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

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