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

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

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

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

  • 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
  • การทำ Unit Test ของกฎ รหัสโปรเจ็กต์มักจะระบุไว้ในการเรียกใช้เมธอดไลบรารีการทำ Unit Test ของกฎ initializeTestEnvironment หรือ initializeTestApp
  • Flag บรรทัดคำสั่ง --project การส่งแฟล็ก Firebase CLI --project จะลบล้างโปรเจ็กต์เริ่มต้น คุณจะต้องตรวจสอบว่าค่าของแฟล็กตรงกับรหัสโปรเจ็กต์ใน Unit Test และการเริ่มต้นแอป

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

export JAVA_TOOL_OPTIONS="-Xmx4g"
firebase emulators:start

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

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

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

คำสั่ง คำอธิบาย
emulators:start

เริ่มโปรแกรมจำลองสำหรับผลิตภัณฑ์ Firebase ที่กำหนดค่าไว้ใน firebase.json กระบวนการของโปรแกรมจำลองจะทำงานต่อไปจนกว่าจะหยุดอย่างชัดแจ้ง การเรียกใช้ emulators:start จะดาวน์โหลดโปรแกรมจำลองไปยัง ~/.cache/firebase/emulators/ หากยังไม่ได้ติดตั้ง

ตั้งค่าสถานะ คำอธิบาย
--only ไม่บังคับ จำกัดโปรแกรมจำลองที่จะเริ่มทำงาน ระบุรายการชื่อโปรแกรมจำลองที่คั่นด้วยคอมมา โดยระบุอย่างน้อย 1 รายการต่อไปนี้ auth, database, firestore, functions, hosting หรือ pubsub
--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 ที่ทำงานอยู่ ระบบจะเขียนทับข้อมูลที่อยู่ในหน่วยความจำของโปรแกรมจำลองในปัจจุบัน
--log-verbosity=VERBOSITY ไม่บังคับ ลดปริมาณเอาต์พุตการบันทึกจากโปรแกรมจำลองเพื่อลดความซับซ้อนในคอนโซลและในไฟล์บันทึก ค่าที่ถูกต้องคือ DEBUG, INFO, QUIET, SILENT
emulators:exec PATH/TO/SCRIPT

เรียกใช้สคริปต์ที่ PATH/TO/SCRIPT หลังจากเริ่มโปรแกรมจำลองสำหรับผลิตภัณฑ์ Firebase ที่กำหนดค่าไว้ใน firebase.json กระบวนการของโปรแกรมจำลองจะหยุดโดยอัตโนมัติเมื่อสคริปต์ทำงานเสร็จแล้ว

ตั้งค่าสถานะ คำอธิบาย
--only ไม่บังคับ จำกัดโปรแกรมจำลองที่จะเริ่มทำงาน ระบุรายการชื่อโปรแกรมจำลองที่คั่นด้วยคอมมา โดยระบุอย่างน้อย 1 รายการต่อไปนี้ firestore, database, functions, hosting หรือ pubsub
--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 ที่ทำงานอยู่ ระบบจะเขียนทับข้อมูลที่อยู่ในหน่วยความจำของโปรแกรมจำลองในปัจจุบัน
--ui ไม่บังคับ เรียกใช้ UI ของโปรแกรมจำลองระหว่างการดำเนินการ
--log-verbosity=VERBOSITY ไม่บังคับ ลดปริมาณเอาต์พุตการบันทึกจากโปรแกรมจำลองเพื่อลดความซับซ้อนในคอนโซลและในไฟล์บันทึก ค่าที่ถูกต้องคือ DEBUG, INFO, QUIET, SILENT

โดยทั่วไปแล้ว วิธี 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

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

หากเวิร์กโฟลว์การรวมอย่างต่อเนื่องของคุณใช้ 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
}

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

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

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

Android แพลตฟอร์ม Apple เว็บ Firebase UI
Android
Firebase UI
iOS
Firebase UI
Web
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 ไม่มี ไม่มี ไม่มี ไม่มี