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

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

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

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

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

  • โปรเจ็กต์เริ่มต้นในบรรทัดคำสั่ง โดยค่าเริ่มต้น รหัสโปรเจ็กต์จะ จะมีผลเมื่อเริ่มต้นใช้งานจากโปรเจ็กต์ที่เลือกด้วย firebase init หรือ firebase use วิธีดูรายการโปรเจ็กต์ (และดูว่าเลือกโปรเจ็กต์ใดไว้) ใช้ firebase projects:list
  • การทดสอบหน่วยของกฎ รหัสโปรเจ็กต์มักจะระบุในการเรียกกฎ เมธอดไลบรารีของหน่วยการทดสอบ 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

โปรแกรมจำลอง 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

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

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

คำสั่ง คำอธิบาย
โปรแกรมจำลอง:start เริ่มใช้โปรแกรมจำลองสำหรับผลิตภัณฑ์ Firebase ที่กำหนดค่าใน firebase.json กระบวนการจำลองจะทำงานต่อไปจนกว่าจะหยุดทำงานอย่างชัดเจน การโทร 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= ไม่บังคับ ใช้กับ 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 อินสแตนซ์โปรแกรมจำลอง ข้อมูลที่อยู่ในหน่วยความจำโปรแกรมจำลอง จะถูกประมวลผลมากเกินไป
โปรแกรมจำลอง: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= ไม่บังคับ ใช้กับ 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 ในฐานะ ที่อธิบายไว้ข้างต้น

โปรแกรมจำลอง:ส่งออก 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 ของโปรแกรมจำลอง Hub

curl -X PUT localhost:4400/functions/enableBackgroundTriggers

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

{
  "enabled": true
}

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

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

ความพร้อมใช้งานของ 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 ไม่มี ไม่มี ไม่มี ไม่มี