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

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

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

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

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

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

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

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

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

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

    • แอป Firebase ทั้งหมดที่ลงทะเบียนในโปรเจ็กต์ Firebase เดียวกันจะใช้แบ็คเอนด์เดียวกัน เช่น Firebase Hosting, Authentication, Realtime Database, 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 เรียนรู้เพิ่มเติมเกี่ยวกับป้ายกำกับนี้ใน คำถามที่พบบ่อย ของเรา

เนื่องจากโปรเจ็กต์ 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 แทนคอนโซล Firebase

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

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

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

API REST การจัดการ Firebase

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

ตัวระบุโปรเจ็กต์ Firebase

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

ชื่อโครงการ

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

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

เลขที่โครงการ

โครงการ Firebase (และ โครงการ Google Cloud ที่เกี่ยวข้อง ) มี หมายเลขโครงการ นี่คือตัวระบุ Canonical ที่ไม่ซ้ำกันทั่วโลกที่ 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 )

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

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

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

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

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

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

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

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

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

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

  • จำนวนแอปต่อโปรเจ็กต์

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

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

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

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

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

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