ติดตั้ง กำหนดค่า และผสานรวม 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. ตั้งค่าชุดโปรแกรมจำลอง คำสั่งนี้จะเริ่มต้นวิซาร์ดการกำหนดค่าที่ช่วยให้คุณสามารถเลือกโปรแกรมจำลองที่น่าสนใจ ดาวน์โหลดไฟล์ไบนารีของโปรแกรมจำลองที่เกี่ยวข้อง และตั้งค่าพอร์ตโปรแกรมจำลองหากค่าเริ่มต้นไม่เหมาะสม
    firebase init emulators

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

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

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

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

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

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

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

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

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

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

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

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

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

คุณตรวจสอบการประกาศรหัสโปรเจ็กต์ว่าไม่ตรงกันได้ใน:

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

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

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

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

อีมูเลเตอร์: ส่งออก export_directory

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

หากต้องการปิดใช้งานทริกเกอร์ฟังก์ชันภายในเครื่องชั่วคราว ให้ส่งคำขอ 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
}

การผสานรวม SDK ของ Emulator

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

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

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