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

คุณสามารถติดตั้งและกำหนดค่า 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
App Hosting 5002
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 ของไลบรารีการทดสอบยูนิตของ Rules
  • Flag --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 ซึ่งปรับแต่งได้ด้วย Flag ของ JVM ผ่านตัวแปรสภาพแวดล้อม JAVA_TOOL_OPTIONS

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

export JAVA_TOOL_OPTIONS="-Xmx4g"
firebase emulators:start

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

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

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

คำสั่ง คำอธิบาย
emulators:start เริ่มโปรแกรมจำลองสำหรับผลิตภัณฑ์ Firebase ที่กําหนดค่าไว้ใน firebase.json กระบวนการของโปรแกรมจำลองจะทำงานต่อไปจนกว่าจะหยุดอย่างชัดเจน การเรียกใช้ emulators:start จะดาวน์โหลดโปรแกรมจำลองไปยัง ~/.cache/firebase/emulators/ หากยังไม่ได้ติดตั้ง
ตั้งค่าสถานะ คำอธิบาย
--only ไม่บังคับ จำกัดโปรแกรมจำลองที่จะเริ่มต้น ระบุรายการชื่อโปรแกรมจำลองที่คั่นด้วยคอมมา โดยระบุ "auth", "database", "firestore", "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 สุดท้าย ให้ส่งเส้นทางไดเรกทอรีอื่นไปยัง Flag --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 emulator จะเปลี่ยนไปใช้โหมดการเรียกใช้แบบอนุกรมพิเศษซึ่งจะเรียกใช้ฟังก์ชันในกระบวนการเดียวตามลําดับ (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 สุดท้าย ให้ส่งเส้นทางไดเรกทอรีอื่นไปยัง Flag --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 เพื่อใช้เป็นชุดข้อมูลพื้นฐานทั่วไปที่แชร์ได้ คุณนำเข้าชุดข้อมูลเหล่านี้ได้โดยใช้ Flag --import ตามที่อธิบายไว้ข้างต้น

emulators:export export_directory

Authentication, Cloud Firestore, Realtime Database หรือโปรแกรมจำลอง Cloud Storage for Firebase ส่งออกข้อมูลจากอินสแตนซ์โปรแกรมจำลอง Cloud Firestore, Realtime Database หรือ Cloud Storage for Firebase ที่ทำงานอยู่ ระบบจะสร้าง export_directory ที่ระบุหากยังไม่มี หากไดเรกทอรีที่ระบุมีอยู่แล้ว ระบบจะแจ้งให้คุณยืนยันว่าต้องการเขียนทับข้อมูลการส่งออกก่อนหน้าหรือไม่ คุณสามารถข้ามข้อความแจ้งนี้ได้โดยใช้ Flag --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

ใช้ REST API ของ Emulator Hub

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

หากต้องการแสดงรายการโปรแกรมจำลองที่ทำงานอยู่ ให้ส่งคำขอ 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 ของ Emulator Hub

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 ไม่มี ไม่มี ไม่มี ไม่มี