ติดตั้ง กำหนดค่า และผสานรวมชุดโปรแกรมจำลองภายใน

คุณสามารถติดตั้งและกำหนดค่า Firebase Local Emulator Suite สำหรับสภาพแวดล้อมการสร้างต้นแบบและทดสอบที่แตกต่างกันได้ ตั้งแต่เซสชันการสร้างต้นแบบแบบครั้งเดียวไปจนถึงเวิร์กโฟลว์การผสานรวมอย่างต่อเนื่องในขนาดที่ใช้งานจริง

ติดตั้งชุดโปรแกรมจำลองภายใน

ก่อนติดตั้งชุดโปรแกรมจําลอง คุณจะต้องมีสิ่งต่อไปนี้

  • Node.js เวอร์ชัน 16.0 ขึ้นไป
  • Java JDK เวอร์ชัน 11 ขึ้นไป

วิธีติดตั้งชุดโปรแกรมจำลอง

  1. ติดตั้ง Firebase CLI หากยังไม่ได้ติดตั้ง Firebase CLI ให้ติดตั้งเลย คุณต้องใช้ CLI เวอร์ชัน 8.14.0 ขึ้นไปจึงจะใช้ชุดโปรแกรมจำลองได้ คุณสามารถตรวจสอบเวอร์ชันที่ติดตั้งได้โดยใช้คําสั่งต่อไปนี้
    firebase --version
  2. หากยังไม่ได้ดำเนินการ ให้เริ่มต้นไดเรกทอรีทํางานปัจจุบันเป็นโปรเจ็กต์ Firebase โดยทําตามข้อความแจ้งบนหน้าจอเพื่อระบุผลิตภัณฑ์ที่จะใช้
    firebase init
  3. ตั้งค่าชุดโปรแกรมจำลอง คำสั่งนี้จะเริ่มต้นวิซาร์ดการกําหนดค่าที่ช่วยให้คุณเลือกโปรแกรมจำลองที่ต้องการ ดาวน์โหลดไฟล์ไบนารีของโปรแกรมจำลองที่เกี่ยวข้อง และตั้งค่าพอร์ตโปรแกรมจำลองได้หากค่าเริ่มต้นไม่เหมาะสม
    firebase init emulators

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

กำหนดค่าชุดโปรแกรมจำลอง

คุณกำหนดค่าพอร์ตเครือข่ายและเส้นทางไปยังคำจำกัดความของกฎความปลอดภัยในไฟล์ firebase.json ได้ดังนี้

  • เปลี่ยนพอร์ตโปรแกรมจำลองโดยเรียกใช้ firebase init emulators หรือแก้ไข firebase.json ด้วยตนเอง
  • เปลี่ยนเส้นทางไปยังคําจํากัดความของกฎความปลอดภัยโดยการแก้ไข firebase.json ด้วยตนเอง

หากคุณไม่ได้กําหนดการตั้งค่าเหล่านี้ โปรแกรมจําลองจะฟังพอร์ตเริ่มต้น และโปรแกรมจําลอง Cloud Firestore, Realtime Database และ Cloud Storage for Firebase จะทํางานด้วยความปลอดภัยแบบข้อมูลเปิด

คำสั่ง คำอธิบาย
init emulators เริ่มวิซาร์ดการเริ่มต้นโปรแกรมจำลอง ระบุโปรแกรมจำลองที่จะติดตั้งและระบุการตั้งค่าพอร์ตโปรแกรมจำลอง (ไม่บังคับ) init emulators จะไม่ทำลายข้อมูล การยอมรับค่าเริ่มต้นจะเก็บการกำหนดค่าโปรแกรมจำลองปัจจุบันไว้

การกำหนดค่าพอร์ต

โปรแกรมจำลองแต่ละรายการจะผูกเข้ากับพอร์ตอื่นในเครื่องของคุณด้วยค่าเริ่มต้นที่ต้องการ

โปรแกรมจำลอง พอร์ตเริ่มต้น
Authentication 9099
Emulator Suite UI 4000
Cloud Functions 5001
Eventarc 9299
Realtime Database 9000
Cloud Firestore 8080
Cloud Storage for Firebase 9199
Firebase Hosting 5000
Pub/Sub 8085

การกำหนดค่ารหัสโปรเจ็กต์

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

โดยทั่วไปแล้ว การตั้งรหัสโปรเจ็กต์ 1 รหัสสำหรับการเรียกใช้โปรแกรมจำลองทั้งหมดเป็นแนวทางปฏิบัติแนะนำ เพื่อให้ Emulator Suite UI, โปรแกรมจำลองผลิตภัณฑ์ต่างๆ และอินสแตนซ์ที่ทำงานอยู่ทั้งหมดของโปรแกรมจำลองหนึ่งๆ สื่อสารได้อย่างถูกต้องในทุกกรณี

Local Emulator Suite ออกคำเตือนเมื่อตรวจพบรหัสโปรเจ็กต์หลายรายการในสภาพแวดล้อม แต่คุณลบล้างลักษณะการทำงานนี้ได้โดยตั้งค่าคีย์ singleProjectMode เป็น false ใน firebase.json

คุณสามารถตรวจสอบการประกาศรหัสโปรเจ็กต์เพื่อหารายการที่ไม่ตรงกันในข้อมูลต่อไปนี้

  • โปรเจ็กต์เริ่มต้นในบรรทัดคำสั่ง โดยค่าเริ่มต้น ระบบจะนำรหัสโปรเจ็กต์ที่เริ่มต้นจากโปรเจ็กต์ที่เลือกด้วย firebase init หรือ firebase use หากต้องการดูรายการโปรเจ็กต์ (และดูว่าโปรเจ็กต์ใดเลือกอยู่) ให้ใช้ firebase projects:list
  • การทดสอบ 1 หน่วยของกฎ รหัสโปรเจ็กต์มักจะระบุในการเรียกใช้ไลบรารีการทดสอบหน่วยกฎ initializeTestEnvironment หรือ initializeTestApp
  • แฟล็กบรรทัดคำสั่ง --project การส่ง Flag Firebase CLI --project จะลบล้างโปรเจ็กต์เริ่มต้น คุณต้องตรวจสอบว่าค่าของ Flag ตรงกับรหัสโปรเจ็กต์ในการทดสอบหน่วยและการเริ่มต้นแอป

นอกจากนี้ ให้ตรวจสอบการกำหนดค่ารหัสโปรเจ็กต์เฉพาะแพลตฟอร์มที่คุณตั้งค่าไว้ขณะกำหนดค่าโปรเจ็กต์แพลตฟอร์ม Apple, Android และเว็บ

การกำหนดค่ากฎความปลอดภัย

โปรแกรมจำลองจะใช้การกำหนดค่ากฎการรักษาความปลอดภัยจากคีย์การกำหนดค่า database, firestore และ storage ใน firebase.json

{
  // Existing firebase configuration ...
  "database": {
    "rules": "database.rules.json"
  },
  "firestore": {
    "rules": "firestore.rules"
  },
  "storage": {
    "rules": "storage.rules"
  }

  // ...

  // Optional emulator configuration. Default
  // values are used if absent.
  "emulators": {
    "singleProjectMode": false, // do not warn on detection of multiple project IDs
    "firestore": {
      "port": "8080"
    },
    "ui": {
      "enabled": true,      // Default is `true`
      "port": 4000          // If unspecified, see CLI log for selected port
    },
    "auth": {
      "port": "9099"
    },
    "pubsub": {
      "port": "8085"
    }
  }
}

การระบุตัวเลือก Java

โปรแกรมจำลอง Realtime Database, โปรแกรมจำลอง Cloud Firestore และส่วนหนึ่งของโปรแกรมจำลอง Cloud Storage for Firebase จะอิงตาม Java ซึ่งปรับแต่งด้วยแฟล็ก JVM ผ่านตัวแปรสภาพแวดล้อม JAVA_TOOL_OPTIONS ได้

เช่น หากคุณพบข้อผิดพลาดเกี่ยวกับพื้นที่ฮีปของ Java คุณสามารถเพิ่มขนาดฮีปของ Java สูงสุดเป็น 4GB ได้โดยทำดังนี้

export JAVA_TOOL_OPTIONS="-Xmx4g"
firebase emulators:start

คุณระบุ Flag หลายรายการได้ในเครื่องหมายคำพูดโดยคั่นด้วยการเว้นวรรค เช่น JAVA_TOOL_OPTIONS="-Xms2g -Xmx4g" แฟล็กจะมีผลต่อคอมโพเนนต์ที่ใช้ Java ในโปรแกรมจำลองเท่านั้น และจะไม่มีผลกับส่วนอื่นๆ ของ Firebase CLI เช่น Emulator Suite UI

เริ่มโปรแกรมจำลอง

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

คำสั่ง คำอธิบาย
โปรแกรมจำลอง:start เริ่มใช้โปรแกรมจำลองสำหรับผลิตภัณฑ์ Firebase ที่กำหนดค่าใน firebase.json กระบวนการของโปรแกรมจำลองจะทำงานต่อไปจนกว่าจะหยุดอย่างชัดเจน การเรียกใช้ emulators:start จะดาวน์โหลดโปรแกรมจำลองไปยัง ~/.cache/firebase/emulators/ หากยังไม่ได้ติดตั้ง
ตั้งค่าสถานะ คำอธิบาย
--only ไม่บังคับ จำกัดโปรแกรมจำลองที่จะเริ่มต้น ระบุรายการชื่อโปรแกรมจำลองที่คั่นด้วยคอมมา โดยระบุ "auth", "database", "firestore", "functions", "hosting" หรือ "pubsub" อย่างน้อย 1 รายการ
--inspect-functions debug_port ไม่บังคับ ใช้ร่วมกับโปรแกรมจำลอง Cloud Functions เพื่อเปิดใช้การแก้ไขข้อบกพร่องเบรกพอยท์ของฟังก์ชันที่พอร์ตที่ระบุ (หรือพอร์ตเริ่มต้น 9229 หากละเว้นอาร์กิวเมนต์) โปรดทราบว่าเมื่อมีการระบุแฟล็กนี้ โปรแกรมจำลอง Cloud Functions จะเปลี่ยนไปใช้โหมดการดำเนินการแบบต่อเนื่องแบบพิเศษที่จะมีการดำเนินการฟังก์ชันในกระบวนการเดียวตามลำดับ (FIFO) การทำเช่นนี้จะทำให้การแก้ไขข้อบกพร่องของฟังก์ชันง่ายขึ้น แม้ว่าลักษณะการทำงานจะแตกต่างจากการดำเนินการฟังก์ชันแบบพร้อมกันแบบหลายกระบวนการในระบบคลาวด์ก็ตาม
--export-on-exit= ไม่บังคับ ใช้กับโปรแกรมจำลอง Authentication, Cloud Firestore, Realtime Database หรือ Cloud Storage for Firebase สั่งให้โปรแกรมจำลองส่งออกข้อมูลไปยังไดเรกทอรีเมื่อมีการปิดเครื่อง ตามที่อธิบายไว้สำหรับคำสั่ง emulators:export คุณสามารถระบุไดเรกทอรีการส่งออกได้ด้วยแฟล็กนี้ firebase emulators:start --export-on-exit=./saved-data หากใช้ --import เส้นทางการส่งออกจะเป็นค่าเริ่มต้นเดียวกัน เช่น firebase emulators:start --import=./data-path --export-on-exit สุดท้าย ให้ส่งเส้นทางไดเรกทอรีต่างๆ ไปยังแฟล็ก --import และ --export-on-exit หากต้องการ
--import=import_directory ไม่บังคับ ใช้กับโปรแกรมจำลอง Authentication, Cloud Firestore, Realtime Database หรือ Cloud Storage for Firebase นำเข้าข้อมูลที่บันทึกไว้โดยใช้ตัวเลือกเริ่มต้น --export-on-exit หรือคำสั่ง emulators:export ไปยังอินสแตนซ์โปรแกรมจำลอง Authentication, Cloud Firestore, Realtime Database หรือ Cloud Storage for Firebase ที่กำลังทำงาน ข้อมูลที่อยู่ในหน่วยความจำของโปรแกรมจำลองในขณะนั้นจะเขียนทับ
emulators:exec scriptpath เรียกใช้สคริปต์ที่ scriptpath หลังจากเริ่มโปรแกรมจำลองสำหรับผลิตภัณฑ์ Firebase ที่กําหนดค่าไว้ใน firebase.json กระบวนการของโปรแกรมจำลองจะหยุดโดยอัตโนมัติเมื่อสคริปต์ทำงานเสร็จแล้ว
ตั้งค่าสถานะ คำอธิบาย
--only ไม่บังคับ จำกัดโปรแกรมจำลองที่จะเริ่มต้น ระบุรายการชื่อโปรแกรมจำลองที่คั่นด้วยคอมมา โดยระบุ "firestore", "database", "functions", "hosting" หรือ "pubsub" อย่างน้อย 1 รายการ
--inspect-functions debug_port ไม่บังคับ ใช้กับโปรแกรมจำลอง Cloud Functions เพื่อเปิดใช้การแก้ไขข้อบกพร่องจุดหยุดพักของฟังก์ชันที่พอร์ตที่ระบุ (หรือพอร์ตเริ่มต้น 9229 หากไม่ระบุอาร์กิวเมนต์) โปรดทราบว่าเมื่อระบุ Flag นี้ โปรแกรมจำลอง Cloud Functions จะเปลี่ยนไปใช้โหมดการเรียกใช้แบบอนุกรมพิเศษซึ่งจะเรียกใช้ฟังก์ชันในกระบวนการเดียวตามลำดับ (FIFO) ซึ่งจะลดความซับซ้อนในการแก้ไขข้อบกพร่องของฟังก์ชัน แต่ลักษณะการทํางานจะแตกต่างจากการเรียกใช้ฟังก์ชันแบบหลายกระบวนการและแบบขนานในระบบคลาวด์
--export-on-exit= ไม่บังคับ ใช้กับโปรแกรมจำลอง Authentication, Cloud Firestore, Realtime Database หรือ Cloud Storage for Firebase สั่งให้โปรแกรมจำลองส่งออกข้อมูลไปยังไดเรกทอรีเมื่อมีการปิดเครื่อง ตามที่อธิบายไว้สำหรับคำสั่ง emulators:export คุณสามารถระบุไดเรกทอรีการส่งออกได้ด้วยแฟล็กนี้ firebase emulators:start --export-on-exit=./saved-data หากใช้ --import เส้นทางการส่งออกจะเป็นค่าเริ่มต้นเดียวกัน เช่น firebase emulators:start --import=./data-path --export-on-exit สุดท้าย ให้ส่งเส้นทางไดเรกทอรีต่างๆ ไปยังแฟล็ก --import และ --export-on-exit หากต้องการ
--import=import_directory ไม่บังคับ ใช้กับโปรแกรมจำลอง Authentication, Cloud Firestore, Realtime Database หรือ Cloud Storage for Firebase นําเข้าข้อมูลที่บันทึกไว้โดยใช้ตัวเลือกการเริ่มต้น --export-on-exit หรือคําสั่ง emulators:export ไปยังอินสแตนซ์โปรแกรมจําลอง Authentication, Cloud Firestore, Realtime Database หรือ Cloud Storage for Firebase ที่ทํางานอยู่ ระบบจะเขียนทับข้อมูลที่อยู่ในหน่วยความจำโปรแกรมจำลอง
--ui ไม่บังคับ เรียกใช้ UI ของโปรแกรมจำลองระหว่างการดำเนินการ

โดยทั่วไปแล้ว วิธีการ firebase emulators:exec เหมาะสําหรับเวิร์กโฟลว์การผสานรวมอย่างต่อเนื่องมากกว่า

ส่งออกและนำเข้าข้อมูลโปรแกรมจำลอง

คุณสามารถส่งออกข้อมูลจากโปรแกรมจำลอง Authentication, Cloud Firestore, Realtime Database และ Cloud Storage for Firebase เพื่อใช้เป็นชุดข้อมูลพื้นฐานทั่วไปที่แชร์ได้ คุณนำเข้าชุดข้อมูลเหล่านี้ได้โดยใช้แฟล็ก --import ตามที่อธิบายไว้ข้างต้น

emulators:export export_directory

Authentication, Cloud Firestore, Realtime Database หรือโปรแกรมจำลอง Cloud Storage for Firebase ส่งออกข้อมูลจากอินสแตนซ์โปรแกรมจำลอง Cloud Firestore, Realtime Database หรือ Cloud Storage for Firebase ที่ทำงานอยู่ ระบบจะสร้าง export_directory ที่ระบุหากยังไม่มี หากไดเรกทอรีที่ระบุมีอยู่แล้ว ระบบจะแจ้งให้คุณยืนยันว่าต้องการเขียนทับข้อมูลการส่งออกก่อนหน้าหรือไม่ คุณจะข้ามข้อความแจ้งนี้ได้โดยใช้แฟล็ก --force ไดเรกทอรีการส่งออกมีไฟล์ Manifest ของข้อมูล firebase-export-metadata.json

คุณสามารถสั่งให้โปรแกรมจำลองส่งออกข้อมูลโดยอัตโนมัติเมื่อปิดเครื่องได้โดยใช้ตัวเลือก --export-on-exit ที่อธิบายไว้ข้างต้น

ผสานรวมกับระบบ CI

การเรียกใช้อิมเมจชุดโปรแกรมจำลองที่อยู่ในคอนเทนเนอร์

การติดตั้งและการกำหนดค่าชุดโปรแกรมจำลองด้วยคอนเทนเนอร์ในการตั้งค่า CI ทั่วไปนั้นทำได้ง่าย

โปรดทราบว่ามีปัญหาบางอย่างที่ควรทราบ

  • ระบบจะติดตั้งและแคชไฟล์ JAR ที่ ~/.cache/firebase/emulators/

    • คุณอาจต้องเพิ่มเส้นทางนี้ลงในการกำหนดค่าแคช CI เพื่อหลีกเลี่ยงการดาวน์โหลดซ้ำ
  • หากไม่มีไฟล์ firebase.json ในที่เก็บข้อมูล คุณต้องเพิ่มอาร์กิวเมนต์บรรทัดคำสั่งลงในคำสั่ง emulators:start หรือ emulators:exec เพื่อระบุโปรแกรมจำลองที่ควรเริ่มต้น เช่น
    --only functions,firestore

สร้างโทเค็นการตรวจสอบสิทธิ์ (โปรแกรมจำลองโฮสติ้งเท่านั้น)

หากเวิร์กโฟลว์การผสานรวมอย่างต่อเนื่องใช้ Firebase Hosting คุณจะต้องเข้าสู่ระบบด้วยโทเค็นเพื่อเรียกใช้ firebase emulators:exec ส่วนโปรแกรมจำลองอื่นๆ นั้นไม่ต้องใช้การเข้าสู่ระบบ

หากต้องการสร้างโทเค็น ให้เรียกใช้ firebase login:ci ในสภาพแวดล้อมในเครื่อง ไม่ควรดำเนินการจากระบบ CI ทำตามวิธีการเพื่อตรวจสอบสิทธิ์ คุณควรทำขั้นตอนนี้เพียงครั้งเดียวต่อโปรเจ็กต์เท่านั้น เนื่องจากโทเค็นจะใช้ได้ในทุกบิลด์ คุณควรเก็บโทเค็นไว้เป็นความลับเช่นเดียวกับรหัสผ่าน

หากสภาพแวดล้อม CI อนุญาตให้คุณระบุตัวแปรสภาพแวดล้อมที่สามารถใช้ในสคริปต์การสร้าง ให้สร้างตัวแปรสภาพแวดล้อมชื่อ FIREBASE_TOKEN ที่มีค่าเป็นสตริงโทเค็นการเข้าถึง Firebase CLI จะรับตัวแปรสภาพแวดล้อม FIREBASE_TOKEN โดยอัตโนมัติและโปรแกรมจำลองจะเริ่มทำงานอย่างถูกต้อง

ในกรณีที่ไม่มีทางเลือกอื่นแล้ว คุณก็ใส่โทเค็นไว้ในสคริปต์การสร้างได้ แต่ตรวจสอบว่าบุคคลที่ไม่น่าไว้วางใจไม่มีสิทธิ์เข้าถึง สำหรับแนวทางแบบฮาร์ดโค้ดนี้ คุณสามารถเพิ่ม --token "YOUR_TOKEN_STRING_HERE" ลงในคำสั่ง firebase emulators:exec

ใช้ Emulator Hub REST API

แสดงรายการโปรแกรมจำลองที่ทำงานอยู่

หากต้องการแสดงรายการโปรแกรมจำลองที่ทำงานอยู่ ให้ส่งคำขอ GET ไปยังปลายทาง /emulators ของฮับโปรแกรมจำลอง

curl localhost:4400/emulators

ผลลัพธ์ที่ได้จะเป็นออบเจ็กต์ JSON ที่แสดงรายการโปรแกรมจำลองที่ทำงานอยู่ทั้งหมดและการกำหนดค่าโฮสต์/พอร์ต ตัวอย่างเช่น

{
  "hub":{
    "name": "hub",
    "host": "localhost",
    "port": 4400
  },
  "functions": {
    "name": "functions",
    "host": "localhost",
    "port": 5001
  }
  "firestore": {
    "name": "firestore",
    "host": "localhost",
    "port": 8080
  }
}

เปิด/ปิดทริกเกอร์ฟังก์ชันเบื้องหลัง

ในบางสถานการณ์ คุณจะต้องปิดใช้ฟังก์ชันในเครื่องและทริกเกอร์ส่วนขยายชั่วคราว เช่น คุณอาจต้องการลบข้อมูลทั้งหมดในโปรแกรมจําลอง Cloud Firestore โดยไม่ทริกเกอร์ฟังก์ชัน onDelete ที่ทํางานอยู่ในโปรแกรมจําลอง Cloud Functions หรือ Extensions

หากต้องการปิดใช้ทริกเกอร์ฟังก์ชันในเครื่องชั่วคราว ให้ส่งคำขอ PUT ไปยังปลายทาง /functions/disableBackgroundTriggers ของฮับโปรแกรมจำลอง

curl -X PUT localhost:4400/functions/disableBackgroundTriggers

ผลลัพธ์ที่ได้จะเป็นออบเจ็กต์ JSON ที่แสดงรายละเอียดสถานะปัจจุบัน

{
  "enabled": false
}

หากต้องการเปิดใช้ทริกเกอร์ฟังก์ชันภายในหลังจากปิดใช้แล้ว ให้ส่งคำขอ PUT ไปยังปลายทาง /functions/enableBackgroundTriggers ของฮับโปรแกรมจำลอง

curl -X PUT localhost:4400/functions/enableBackgroundTriggers

ผลลัพธ์ที่ได้จะเป็นออบเจ็กต์ JSON ที่แสดงรายละเอียดสถานะปัจจุบัน

{
  "enabled": true
}

การผสานรวม SDK โปรแกรมจำลอง

ตารางในส่วนนี้จะระบุโปรแกรมจำลองที่ SDK ของไคลเอ็นต์และ Admin รองรับ ในอนาคต หมายความว่ามีการวางแผนรองรับโปรแกรมจำลองแต่ยังไม่พร้อมให้บริการ

ความพร้อมใช้งานของ SDK ของไคลเอ็นต์

Android แพลตฟอร์ม Apple เว็บ Firebase UI
Android
Firebase UI
iOS
UI ของ Firebase
เว็บ
Realtime Database 19.4.0 7.2.0 8.0.0 6.4.0 อนาคต ไม่มี
Cloud Firestore 21.6.0 7.2.0 8.0.0 6.4.0 อนาคต ไม่มี
Authentication 20.0.0 7.0.0 8.0.0 7.0.0 อนาคต 4.7.2
Cloud Storage for Firebase 20.0.0 8.0.0 8.4.0 7.0.0 11.0.0 ไม่มี
Cloud Functions 19.1.0 7.2.0 8.0.0 ไม่มี ไม่มี ไม่มี
Hosting ไม่มี ไม่มี ไม่มี ไม่มี ไม่มี ไม่มี
Extensions ไม่มี ไม่มี ไม่มี ไม่มี ไม่มี ไม่มี

ความพร้อมใช้งานของ Admin SDK

โหนด Java Python Go
Realtime Database 8.6.0 6.10.0 2.18.0 อนาคต
Cloud Firestore 8.0.0 6.10.0 3.0.0 1.0.0
Authentication 9.3.0 7.2.0 5.0.0 4.2.0
Cloud Storage for Firebase 9.8.0 อนาคต อนาคต อนาคต
Cloud Functions ไม่มี ไม่มี ไม่มี ไม่มี
Hosting ไม่มี ไม่มี ไม่มี ไม่มี
Extensions ไม่มี ไม่มี ไม่มี ไม่มี