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

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

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

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

โปรแกรมจำลอง พอร์ตเริ่มต้น
การตรวจสอบสิทธิ์ 9099
UI ชุดโปรแกรมจำลอง 4000
Cloud Functions 5001
Eventarc 9299
Realtime Database 9000
Cloud Firestore 8080
Cloud Storage for Firebase 9199
โฮสติ้งของ Firebase 5000
Pub/Sub 8085

การกำหนดค่ารหัสโปรเจ็กต์

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

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

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

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

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

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

export JAVA_TOOL_OPTIONS="-Xmx4g"
firebase emulators:start

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

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

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

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

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

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

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

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

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

curl -X PUT localhost:4400/functions/enableBackgroundTriggers

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

{
  "enabled": true
}

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

ตารางในส่วนนี้ระบุว่าโปรแกรมจำลองใดได้รับการรองรับโดยไคลเอ็นต์และ 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 อนาคต ไม่มี
การตรวจสอบสิทธิ์ 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 ไม่มี ไม่มี ไม่มี
โฮสติ้ง ไม่มี ไม่มี ไม่มี ไม่มี ไม่มี ไม่มี
ส่วนขยาย ไม่มี ไม่มี ไม่มี ไม่มี ไม่มี ไม่มี

ความพร้อมใช้งานของ 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
การตรวจสอบสิทธิ์ 9.3.0 7.2.0 5.0.0 4.2.0
Cloud Storage for Firebase 9.8.0 อนาคต อนาคต อนาคต
Cloud Functions ไม่มี ไม่มี ไม่มี ไม่มี
โฮสติ้ง ไม่มี ไม่มี ไม่มี ไม่มี
ส่วนขยาย ไม่มี ไม่มี ไม่มี ไม่มี