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

ติดตั้ง กำหนดค่า และรวม Local Emulator Suite

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

ติดตั้ง Local Emulator Suite

ก่อนติดตั้ง Emulator Suite คุณจะต้อง:

  • Node.js เวอร์ชัน 16.0 หรือสูงกว่า
  • Java JDK เวอร์ชัน 11 หรือสูงกว่า

ในการติดตั้ง Emulator Suite:

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

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

กำหนดค่า Emulator Suite

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

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

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

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

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

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

อีมูเลเตอร์ พอร์ตเริ่มต้น
การรับรองความถูกต้อง 9099
Emulator Suite UI 4000
ฟังก์ชั่นคลาวด์ 5001
อีเวนทาร์ค 9299
ฐานข้อมูลเรียลไทม์ 9000
Cloud Firestore 8080
ที่เก็บข้อมูลบนคลาวด์สำหรับ Firebase 9199
โฮสติ้ง Firebase 5,000
ผับ/ซับ 8085

การกำหนดค่ารหัสโครงการ

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

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

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

คุณสามารถตรวจสอบการประกาศรหัสโครงการสำหรับความไม่ตรงกันใน:

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

ตรวจสอบการกำหนดค่ารหัสโปรเจ็กต์เฉพาะแพลตฟอร์มที่คุณตั้งไว้ขณะกำหนด ค่าแพลตฟอร์ม 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

ตัวจำลองฐานข้อมูลเรียลไทม์ ตัวจำลอง Cloud Firestore และส่วนหนึ่งของตัวจำลอง Cloud Storage สำหรับ Firebase นั้นใช้ Java ซึ่งสามารถปรับแต่งได้ด้วยแฟล็ก JVM ผ่านตัวแปรสภาพแวดล้อม JAVA_TOOL_OPTIONS

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

export JAVA_TOOL_OPTIONS="-Xmx4g"
firebase emulators:start

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

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

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

สั่งการ คำอธิบาย
อีมูเลเตอร์: เริ่มต้น เริ่มโปรแกรมจำลองสำหรับผลิตภัณฑ์ Firebase ที่กำหนดค่าใน firebase.json กระบวนการจำลองจะทำงานต่อไปจนกว่าจะหยุดลงอย่างชัดเจน Calling emulators:start จะดาวน์โหลดอีมูเลเตอร์ไปที่ ~/.cache/firebase/emulators/ หากยังไม่ได้ติดตั้ง
ธง คำอธิบาย
--only ไม่จำเป็น. จำกัด ว่าอีมูเลเตอร์ใดเริ่มต้น ระบุรายชื่อโปรแกรมจำลองที่คั่นด้วยเครื่องหมายจุลภาค โดยระบุ 'auth', 'database', 'firestore', 'functions', 'hosting' หรือ 'pubsub' อย่างน้อยหนึ่งรายการ
--inspect-functions debug_port ไม่จำเป็น. ใช้กับโปรแกรมจำลอง Cloud Functions เพื่อเปิดใช้งานการดีบักเบรกพอยต์ของฟังก์ชันที่พอร์ตที่ระบุ (หรือพอร์ตเริ่มต้น 9229 หากละเว้นอาร์กิวเมนต์) โปรดทราบว่าเมื่อระบุแฟล็กนี้ ตัวจำลอง Cloud Functions จะสลับเป็นโหมดการดำเนินการแบบซีเรียลไลซ์แบบพิเศษ ซึ่งฟังก์ชันต่างๆ จะถูกดำเนินการในกระบวนการเดียว ตามลำดับ (FIFO) สิ่งนี้ทำให้การดีบักฟังก์ชันง่ายขึ้น แม้ว่าลักษณะการทำงานจะแตกต่างจากการทำงานแบบหลายกระบวนการแบบขนานของฟังก์ชันในระบบคลาวด์
--export-on-exit= ไม่จำเป็น. ใช้กับตัวจำลองการรับรองความถูกต้อง, Cloud Firestore, ฐานข้อมูลเรียลไทม์หรือ Cloud Storage สำหรับ Firebase สั่งให้ emulator(s) ส่งออกข้อมูลไปยังไดเร็กทอรีเมื่อเกิดการปิดระบบ ดังที่อธิบายไว้สำหรับคำสั่ง 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 ไม่จำเป็น. ใช้กับตัวจำลองการรับรองความถูกต้อง, Cloud Firestore, ฐานข้อมูลเรียลไทม์หรือ Cloud Storage สำหรับ Firebase นำเข้าข้อมูลที่บันทึกโดยใช้ตัวเลือกการเริ่มต้น --export-on-exit หรือคำสั่ง emulators:export ไปยังการรัน Authentication, Cloud Firestore, Realtime Database หรือ Cloud Storage สำหรับ Firebase emulator ข้อมูลใด ๆ ที่อยู่ในหน่วยความจำจำลองจะถูกเขียนทับ
โปรแกรมจำลอง: exec scriptpath เรียกใช้สคริปต์ที่ scriptpath หลังจากเริ่มโปรแกรมจำลองสำหรับผลิตภัณฑ์ Firebase ที่กำหนดค่าใน firebase.json กระบวนการอีมูเลเตอร์จะหยุดโดยอัตโนมัติเมื่อสคริปต์ทำงานเสร็จแล้ว
ธง คำอธิบาย
--only ไม่จำเป็น. จำกัด ว่าอีมูเลเตอร์ใดเริ่มต้น ระบุรายชื่ออีมูเลเตอร์ที่คั่นด้วยเครื่องหมายจุลภาค โดยระบุ 'firestore', 'database', 'functions', 'hosting' หรือ 'pubsub' อย่างน้อยหนึ่งรายการ
--inspect-functions debug_port ไม่จำเป็น. ใช้กับโปรแกรมจำลอง Cloud Functions เพื่อเปิดใช้งานการดีบักเบรกพอยต์ของฟังก์ชันที่พอร์ตที่ระบุ (หรือพอร์ตเริ่มต้น 9229 หากละเว้นอาร์กิวเมนต์) โปรดทราบว่าเมื่อระบุแฟล็กนี้ ตัวจำลอง Cloud Functions จะสลับเป็นโหมดการดำเนินการแบบซีเรียลไลซ์แบบพิเศษ ซึ่งฟังก์ชันต่างๆ จะถูกดำเนินการในกระบวนการเดียว ตามลำดับ (FIFO) สิ่งนี้ทำให้การดีบักฟังก์ชันง่ายขึ้น แม้ว่าลักษณะการทำงานจะแตกต่างจากการทำงานแบบหลายกระบวนการแบบขนานของฟังก์ชันในระบบคลาวด์
--export-on-exit= ไม่จำเป็น. ใช้กับตัวจำลองการรับรองความถูกต้อง, Cloud Firestore, ฐานข้อมูลเรียลไทม์หรือ Cloud Storage สำหรับ Firebase สั่งให้ emulator(s) ส่งออกข้อมูลไปยังไดเร็กทอรีเมื่อเกิดการปิดระบบ ดังที่อธิบายไว้สำหรับคำสั่ง 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 ไม่จำเป็น. ใช้กับตัวจำลองการรับรองความถูกต้อง, Cloud Firestore, ฐานข้อมูลเรียลไทม์หรือ Cloud Storage สำหรับ Firebase นำเข้าข้อมูลที่บันทึกโดยใช้ตัวเลือกการเริ่มต้น --export-on-exit หรือคำสั่ง emulators:export ไปยังการรัน Authentication, Cloud Firestore, Realtime Database หรือ Cloud Storage สำหรับ Firebase emulator ข้อมูลใด ๆ ที่อยู่ในหน่วยความจำจำลองจะถูกเขียนทับ
--ui ไม่จำเป็น. เรียกใช้ Emulator UI ระหว่างการดำเนินการ

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

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

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

โปรแกรมจำลอง: ส่งออก export_directory

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

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

ผสานรวมกับระบบ CI ของคุณ

เรียกใช้อิมเมจ Emulator Suite ที่บรรจุในคอนเทนเนอร์

การติดตั้งและกำหนดค่า Emulator Suite พร้อมคอนเทนเนอร์ในการตั้งค่า CI ทั่วไปนั้นตรงไปตรงมา

มีบางประเด็นที่ควรทราบ:

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

    • คุณอาจต้องการเพิ่มเส้นทางนี้ในการกำหนดค่าแคช CI เพื่อหลีกเลี่ยงการดาวน์โหลดซ้ำ
  • หากคุณไม่มีไฟล์ firebase.json ในที่เก็บของคุณ คุณต้องเพิ่มอาร์กิวเมนต์บรรทัดคำสั่งในคำสั่ง emulators:start หรือ emulators:exec เพื่อระบุว่าควรเริ่มใช้ emulators ใด ตัวอย่างเช่น,
    --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 ของ Emulator Hub

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 ของ Emulator Hub

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
}

การผสานรวม Emulator SDK

ตารางในส่วนนี้ระบุว่าอีมูเลเตอร์ใดบ้างที่รองรับโดยไคลเอนต์และ SDK ของผู้ดูแลระบบ อนาคต หมายความว่ามีการวางแผนรองรับอีมูเลเตอร์ แต่ยังไม่พร้อมใช้งาน

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

แอนดรอยด์ แพลตฟอร์มของ Apple เว็บ Firebase UI
แอนดรอยด์
Firebase UI
iOS
Firebase UI
เว็บ
ฐานข้อมูลเรียลไทม์ 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 อนาคต ไม่มีข้อมูล
การรับรองความถูกต้อง 20.0.0 7.0.0 8.0.0 7.0.0 อนาคต 4.7.2
ที่เก็บข้อมูลบนคลาวด์สำหรับ Firebase 20.0.0 8.0.0 8.4.0 7.0.0 11.0.0 ไม่มีข้อมูล
ฟังก์ชั่นคลาวด์ 19.1.0 7.2.0 8.0.0 ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล
โฮสติ้ง ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล
ส่วนขยาย ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล

ความพร้อมใช้งาน SDK ของผู้ดูแลระบบ

โหนด ชวา หลาม ไป
ฐานข้อมูลเรียลไทม์ 8.6.0 6.10.0 2.18.0 อนาคต
Cloud Firestore 8.0.0 6.10.0 3.0.0 1.0.0
การรับรองความถูกต้อง 9.3.0 7.2.0 5.0.0 4.2.0
ที่เก็บข้อมูลบนคลาวด์สำหรับ Firebase 9.8.0 อนาคต อนาคต อนาคต
ฟังก์ชั่นคลาวด์ ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล
โฮสติ้ง ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล
ส่วนขยาย ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล