โหลด 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 หรือทดสอบแอปในเครื่อง สคริปต์นี้จะกําหนดค่า Firebase JavaScript SDK สําหรับโปรเจ็กต์ Firebase ที่ใช้งานอยู่โดยอัตโนมัติ และเริ่มต้นใช้งาน SDK

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

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

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

URL
ผลิตภัณฑ์ 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>

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

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>

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

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

เครื่องมือช่วยตรวจสอบสิทธิ์

Firebase Authentication ใช้เนมสเปซที่สงวนไว้เพื่อให้บริการ 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) คุณอาจสร้าง Service Worker ที่มี "เส้นทางสำรองสำหรับการไปยังส่วนต่างๆ" และแสดงผล URL ที่เฉพาะเจาะจงโดยค่าเริ่มต้น หาก URL นั้นไม่ตรงกับรายการที่แคชไว้ล่วงหน้า

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

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

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