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

ทำความเข้าใจโปรเจ็กต์ Firebase

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

ความสัมพันธ์ระหว่างโปรเจ็กต์ แอป และผลิตภัณฑ์ Firebase

โครงการ Firebase เป็นเอนทิตีระดับบนสุดสำหรับ Firebase ในโครงการ คุณสามารถลงทะเบียนแอป Apple, Android หรือเว็บได้ หลังจากลงทะเบียนแอปกับ Firebase แล้ว คุณจะเพิ่ม Firebase SDK สำหรับ ผลิตภัณฑ์ Firebase จำนวนเท่าใดก็ได้ เช่น Analytics, Cloud Firestore, การตรวจสอบประสิทธิภาพ หรือการกำหนดค่าระยะไกล

เรียนรู้ข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับกระบวนการนี้ในคู่มือเริ่มต้นใช้งานสำหรับแพลตฟอร์มของคุณ:
iOS+ | แอนดรอยด์ | เว็บ | ความสามัคคี | C++ | กระพือ

ทำความเข้าใจลำดับชั้นของโครงการ Firebase

แผนภาพแสดงลำดับชั้นพื้นฐานของโปรเจ็กต์ Firebase รวมถึงโปรเจ็กต์ แอปที่ลงทะเบียน ทรัพยากรและบริการที่จัดเตรียมไว้ ไดอะแกรมนี้แสดงลำดับชั้นพื้นฐานของโปรเจ็กต์ Firebase นี่คือความสัมพันธ์ที่สำคัญ:

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

  • โปรเจ็กต์ Firebase สามารถมี แอป Firebase ได้ตั้งแต่หนึ่งแอป ขึ้นไปที่ลงทะเบียน (เช่น แอปเวอร์ชัน iOS และ Android หรือทั้งแอปเวอร์ชันฟรีและแบบชำระเงิน)

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

    • แอป Firebase ทั้งหมดที่ลงทะเบียนในโครงการ Firebase เดียวกันจะใช้แบ็กเอนด์เดียวกัน เช่น โฮสติ้ง Firebase, การตรวจสอบสิทธิ์, ฐานข้อมูลเรียลไทม์, Cloud Firestore, Cloud Storage และ Cloud Functions

    • แอป Firebase ทั้งหมดที่ลงทะเบียนในโครงการ Firebase เดียวกันจะเชื่อมโยงกับพร็อพเพอร์ตี้ Google Analytics เดียวกัน โดยที่แอป Firebase แต่ละแอปเป็นสตรีมข้อมูลที่แยกจากกันในพร็อพเพอร์ตี้นั้น

ความสัมพันธ์ระหว่างโครงการ Firebase และ Google Cloud

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

โปรดทราบว่าสำหรับโครงการ Firebase ทั้งหมด Firebase จะเพิ่มป้ายกำกับของ firebase:enabled โดยอัตโนมัติภายใน หน้า ป้ายกำกับ สำหรับโครงการของคุณใน Google Cloud Console เรียนรู้เพิ่มเติมเกี่ยวกับป้ายกำกับนี้ใน คำถามที่พบบ่อย ของเรา

เนื่องจากโครงการ Firebase เป็น โครงการ Google Cloud:

  • คุณสามารถโต้ตอบกับโปรเจ็กต์ใน คอนโซล Firebase เช่นเดียวกับใน Google Cloud Console และใน คอนโซล Google APIs

  • คุณสามารถใช้ผลิตภัณฑ์และ API จากทั้ง Firebase และ Google Cloud ในโครงการได้

  • การ เรียกเก็บเงิน และ สิทธิ์ สำหรับโปรเจ็กต์จะแชร์กันระหว่าง Firebase และ Google Cloud

  • ตัวระบุที่ไม่ซ้ำสำหรับโปรเจ็กต์ (เช่น หมายเลข โปรเจ็กต์และ รหัสโปรเจ็ กต์ ) จะใช้ร่วมกันระหว่าง Firebase และ Google Cloud

  • การลบโปรเจ็กต์จะเป็นการลบโปรเจ็กต์ทั่วทั้ง Firebase และ Google Cloud

ตั้งค่าโปรเจ็กต์ Firebase และลงทะเบียนแอป

คุณสามารถตั้งค่าโปรเจ็กต์ Firebase และลงทะเบียนแอปใน คอนโซล Firebase (หรือสำหรับกรณีการใช้งานขั้นสูง ผ่าน Firebase Management REST API หรือ Firebase CLI ) เมื่อคุณตั้งค่าโปรเจ็กต์และลงทะเบียนแอป คุณต้องทำการตัดสินใจขององค์กรและเพิ่มข้อมูลการกำหนดค่าเฉพาะของ Firebase ให้กับโปรเจ็กต์ในเครื่องของคุณ

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

การโต้ตอบกับโครงการ Firebase

นอกจาก SDK ของผลิตภัณฑ์แล้ว คุณยังสามารถโต้ตอบกับโปรเจ็กต์ Firebase ได้โดยตรงโดยใช้เครื่องมือและอินเทอร์เฟซต่างๆ มากมาย

คอนโซล Firebase

คอนโซล Firebase นำเสนอสภาพแวดล้อมที่สมบูรณ์ที่สุดสำหรับการจัดการผลิตภัณฑ์ Firebase แอป และการตั้งค่าระดับโครงการ

คอนโซล Firebase - หน้าจอภาพรวมโครงการ

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

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

โปรดทราบว่าเนื่องจากโปรเจ็กต์ Firebase เป็นโปรเจ็กต์ Google Cloud ด้วย คุณอาจพบว่างานหรือผลิตภัณฑ์ต่างๆ กำหนดให้คุณใช้ Google Cloud Console แทนคอนโซล Firebase

Firebase CLI (เครื่องมือบรรทัดคำสั่ง)

Firebase ยังมี Firebase CLI สำหรับกำหนดค่าและจัดการผลิตภัณฑ์ Firebase เฉพาะ เช่น โฮสติ้ง Firebase, Cloud Functions สำหรับ Firebase และ Firebase Extensions

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

Firebase Management REST API

เมื่อใช้ Firebase Management REST API คุณสามารถจัดการโครงการ Firebase โดยทางโปรแกรมได้ ตัวอย่างเช่น คุณสามารถลงทะเบียนแอปด้วยโปรเจ็กต์ทางโปรแกรมหรือแสดงรายการแอปที่ลงทะเบียนแล้ว ( iOS+ | Android | เว็บ )

ตัวระบุโครงการ Firebase

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

ชื่อโครงการ

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

คุณสามารถแก้ไขชื่อโปรเจ็กต์ได้ทุกเมื่อในการ โปรเจ็ กต์ของคอนโซล Firebase ชื่อโครงการจะแสดงในบานหน้าต่างด้านบน

หมายเลขโครงการ

โครงการ Firebase (และโครงการ Google Cloud ที่เกี่ยวข้อง ) มี หมายเลขโครงการ นี่คือตัวระบุตามรูปแบบบัญญัติที่ไม่ซ้ำกันทั่วโลกซึ่งกำหนดโดย Google สำหรับโครงการ ใช้ตัวระบุนี้เมื่อกำหนดค่าการผสานรวมและ/หรือเรียก API ไปยัง Firebase, Google หรือบริการของบุคคลที่สาม

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

รหัสโครงการ

โครงการ Firebase (และโครงการ Google Cloud ที่เกี่ยวข้อง ) มี รหัสโครงการ นี่คือตัวระบุเฉพาะที่ผู้ใช้กำหนดสำหรับโครงการทั่วทั้ง Firebase และ Google Cloud เมื่อคุณสร้างโครงการ Firebase Firebase จะกำหนดรหัสเฉพาะให้กับโครงการโดยอัตโนมัติ แต่คุณสามารถแก้ไขได้ในระหว่างการตั้งค่าโครงการ โดยทั่วไป ตัวระบุนี้ควรถือเป็นนามแฝงที่สะดวกสำหรับการอ้างอิงโครงการ

ไฟล์และวัตถุกำหนดค่า Firebase

เมื่อคุณลงทะเบียนแอปกับโปรเจ็กต์ Firebase คอนโซล Firebase จะมีไฟล์การกำหนดค่า Firebase (แอป Apple/Android) หรือออบเจกต์การกำหนดค่า (แอปบนเว็บ) ที่คุณเพิ่มลงในไดเรกทอรีแอปในเครื่องโดยตรง

  • สำหรับแอป Apple ให้เพิ่มไฟล์กำหนดค่า GoogleService-Info.plist
  • สำหรับแอป Android ให้เพิ่มไฟล์กำหนดค่า google-services.json
  • สำหรับเว็บแอป ให้เพิ่มออบเจ็กต์การกำหนดค่า Firebase

คุณสามารถ รับไฟล์กำหนดค่า Firebase หรือวัตถุของแอป ได้ทุกเมื่อ

ไฟล์หรือออบเจ็กต์การกำหนดค่า Firebase เชื่อมโยงแอปกับโปรเจ็กต์ Firebase และทรัพยากรเฉพาะ (ฐานข้อมูล ที่เก็บข้อมูลเก็บข้อมูล ฯลฯ) การกำหนดค่าประกอบด้วย "ตัวเลือก Firebase" ซึ่งเป็นพารามิเตอร์ที่จำเป็นสำหรับบริการ Firebase และ Google เพื่อสื่อสารกับ API ของเซิร์ฟเวอร์ Firebase และเพื่อเชื่อมโยงข้อมูลไคลเอ็นต์กับโปรเจ็กต์ Firebase และแอป Firebase นี่คือ "ตัวเลือก Firebase" ขั้นต่ำที่จำเป็น:

  • คีย์ API : สตริงเข้ารหัสอย่างง่ายที่ใช้เมื่อเรียก API บางตัวที่ไม่จำเป็นต้องเข้าถึงข้อมูลส่วนตัวของผู้ใช้ (ค่าตัวอย่าง: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • รหัสโครงการ : ตัวระบุเฉพาะที่ผู้ใช้กำหนดสำหรับโครงการทั่วทั้ง Firebase และ Google Cloud ตัวระบุนี้อาจปรากฏใน URL หรือชื่อสำหรับทรัพยากร Firebase บางอย่าง แต่โดยทั่วไปควรถือเป็นนามแฝงที่สะดวกสำหรับการอ้างอิงโครงการ (ค่าตัวอย่าง: myapp-project-123 )

  • รหัสแอปพลิเคชัน ("รหัสแอป") : ตัวระบุเฉพาะสำหรับแอป Firebase ใน Firebase ทั้งหมดที่มีรูปแบบเฉพาะแพลตฟอร์ม:

    • แอป Firebase ของ Apple: GOOGLE_APP_ID (ค่าตัวอย่าง: 1:1234567890:ios:321abc456def7890 )
      นี่ ไม่ใช่ Apple Bundle ID
    • แอป Android ของ Firebase: mobilesdk_app_id (ค่าตัวอย่าง: 1:1234567890:android:321abc456def7890 )
      นี่ ไม่ใช่ ชื่อแพ็กเกจ Android หรือ ID แอปพลิเคชัน Android
    • แอป Firebase Web: appId (ค่าตัวอย่าง: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

เนื้อหาของไฟล์หรือออบเจ็กต์การกำหนดค่า Firebase ถือเป็นสาธารณะ รวมถึง ID เฉพาะแพลตฟอร์มของแอป (Apple Bundle ID หรือชื่อแพ็กเกจ Android) และค่าเฉพาะโปรเจ็กต์ Firebase เช่น คีย์ API, รหัสโปรเจ็กต์, URL ฐานข้อมูลเรียลไทม์ และ ชื่อที่เก็บข้อมูล Cloud Storage ด้วยเหตุนี้ ให้ ใช้กฎความปลอดภัยของ Firebase เพื่อปกป้องข้อมูลและไฟล์ของคุณใน Realtime Database , Cloud Firestore และ Cloud Storage

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

ขีดจำกัดทั่วไปสำหรับโปรเจ็กต์ แอป และเว็บไซต์ Firebase

ข้อจำกัดทั่วไปบางประการสำหรับโปรเจ็กต์ แอป และเว็บไซต์ Firebase มีดังนี้

  • จำนวนโครงการต่อบัญชี

    • แผนการกำหนดราคาแบบจุดประกาย — โควต้าการสร้างโปรเจกต์จำกัดอยู่ที่จำนวนโปรเจกต์ที่น้อยกว่า (ปกติประมาณ 5-10 รายการ)
    • แผนการกำหนดราคา Blaze — โควต้าการสร้างโปรเจ็กต์ต่อบัญชีจะเพิ่มขึ้นอย่างมาก ตราบใดที่บัญชี Cloud Billing ที่เชื่อมโยงอยู่ในสถานะที่ดี

    ขีดจำกัดของโควต้าการสร้างโครงการมักไม่ค่อยเป็นปัญหาสำหรับนักพัฒนาส่วนใหญ่ แต่หากจำเป็น คุณสามารถ ขอเพิ่มโควต้าโครงการ ได้

    โปรดทราบว่าการลบโครงการทั้งหมดต้องใช้เวลา 30 วันและนับรวมในโควต้าโครงการจนกว่าโครงการจะถูกลบโดยสมบูรณ์

  • จำนวนแอปต่อโครงการ

    Firebase จำกัดจำนวนแอป Firebase ทั้งหมดภายในโปรเจ็กต์ Firebase ไว้ที่ 30

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

    เรียนรู้เพิ่มเติมเกี่ยวกับ ขีดจำกัดของแอปต่อโครงการ ในคำถามที่พบบ่อย

  • จำนวนไซต์โฮสติ้งต่อโครงการ

    ฟีเจอร์หลายไซต์ของ Firebase Hosting รองรับไซต์ได้สูงสุด 36 ไซต์ต่อโปรเจ็กต์

เปิดตัวแอปของคุณ