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

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

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

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

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

การทำความเข้าใจลำดับชั้นของโปรเจ็กต์ 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 (หรือสำหรับ Use Case ขั้นสูง ให้ใช้ 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 Cloud Functions for Firebase และ Firebase Extensions

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

REST API ของการจัดการ Firebase

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

ตัวระบุโปรเจ็กต์ 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
    • แอป Android ใน Firebase: mobilesdk_app_id (ค่าตัวอย่าง: 1:1234567890:android:321abc456def7890)
      ข้อมูลนี้ไม่ใช่ชื่อแพ็กเกจ Android หรือรหัสแอปพลิเคชัน Android
    • เว็บแอป Firebase: appId (ค่าตัวอย่าง: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)

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

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

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

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

  • จำนวนโปรเจ็กต์ต่อบัญชี

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

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

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

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

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

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

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

  • จำนวนเว็บไซต์โฮสติ้งต่อโปรเจ็กต์

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

การเปิดตัวแอป