หน้านี้มีภาพรวมโดยย่อของแนวคิดสำคัญหลายอย่างเกี่ยวกับโปรเจ็กต์ Firebase หากมี ให้คลิกลิงก์เพื่อดูข้อมูลโดยละเอียดเพิ่มเติม เกี่ยวกับฟีเจอร์ บริการ เครื่องมือ และแนวทางปฏิบัติแนะนำ
ความสัมพันธ์ระหว่างโปรเจ็กต์ แอป และผลิตภัณฑ์ Firebase
โปรเจ็กต์ Firebase คือเอนทิตีระดับบนสุดสำหรับ Firebase ในโปรเจ็กต์ คุณสามารถ ลงทะเบียนแอป Apple, Android หรือเว็บ หลังจากลงทะเบียนแอปกับ Firebase แล้ว คุณจะเพิ่ม Firebase SDK สำหรับผลิตภัณฑ์ Firebase จำนวนเท่าใดก็ได้ เช่น Analytics, Cloud Firestore, Performance Monitoring หรือ Remote Config
ดูข้อมูลโดยละเอียดเกี่ยวกับกระบวนการนี้ได้ในคู่มือเริ่มต้นใช้งาน
สำหรับแพลตฟอร์มของคุณ:
iOS+ | Android |
เว็บ | Unity | C++ |
Flutter
ทําความเข้าใจลําดับชั้นของโปรเจ็กต์ Firebase
แผนภาพนี้แสดงลำดับชั้นพื้นฐานของโปรเจ็กต์ Firebase ความสัมพันธ์ที่สำคัญมีดังนี้
โปรเจ็กต์ Firebase เปรียบเสมือนคอนเทนเนอร์สำหรับแอปทั้งหมดและทรัพยากร และบริการที่จัดสรรไว้สำหรับโปรเจ็กต์
โปรเจ็กต์ Firebase สามารถมี Firebase App อย่างน้อย 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:enabled ภายในหน้าป้ายกำกับ
สำหรับโปรเจ็กต์ของคุณในคอนโซล Google Cloud โดยอัตโนมัติสำหรับโปรเจ็กต์ Firebase ทั้งหมด ดูข้อมูลเพิ่มเติมเกี่ยวกับป้ายกำกับนี้ได้ในคำถามที่พบบ่อย
เนื่องจากโปรเจ็กต์ Firebase เป็นโปรเจ็กต์ Google Cloud
คุณเข้าถึงและโต้ตอบกับโปรเจ็กต์ได้ในFirebaseคอนโซล รวมถึงใน Google Cloudคอนโซล และ คอนโซล Google APIs
คุณโต้ตอบกับโปรเจ็กต์ได้โดยใช้ Firebase CLI, gcloud CLI และทรัพยากร Terraform จาก Google
คุณใช้ผลิตภัณฑ์และ API จากทั้ง Firebase และ Google Cloud ในโปรเจ็กต์ได้
สิทธิ์และบทบาท IAM สำหรับโปรเจ็กต์จะ แชร์ใน Firebase และ Google Cloud สิทธิ์เข้าถึงที่สมาชิกโปรเจ็กต์ (นั่นคือ ผู้ใช้) มีต่อGoogle Cloudโปรเจ็กต์จะใช้กับโปรเจ็กต์ Firebase ด้วย (และในทางกลับกัน)
การเรียกเก็บเงินสำหรับโปรเจ็กต์จะแชร์ใน Firebase และ Google Cloud หากเปิดใช้การเรียกเก็บเงินในโปรเจ็กต์ Google Cloud โปรเจ็กต์ Firebase จะใช้แพ็กเกจราคา Blaze แบบจ่ายเมื่อใช้ของ Firebase
ระบบจะแชร์ตัวระบุที่ไม่ซ้ำกันสำหรับโปรเจ็กต์ (เช่น หมายเลขโปรเจ็กต์และรหัสโปรเจ็กต์) ระหว่าง Firebase กับ Google Cloud
ลำดับชั้นทรัพยากร ที่ใช้กับโปรเจ็กต์ Google Cloud (เช่น องค์กร โฟลเดอร์ ฯลฯ) จะใช้กับโปรเจ็กต์ Firebase ด้วย
การลบโปรเจ็กต์จะเป็นการลบโปรเจ็กต์ใน 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 เป็นโปรเจ็กต์ Google Cloud ด้วย คุณจึงอาจต้องใช้คอนโซล Google Cloud แทนคอนโซล Firebase ในการทำงานหรือผลิตภัณฑ์ต่างๆ
Firebase CLI (เครื่องมือบรรทัดคำสั่ง)
นอกจากนี้ Firebase ยังมี Firebase CLI สำหรับกำหนดค่าและ จัดการผลิตภัณฑ์ Firebase บางอย่าง เช่น Firebase Hosting, Cloud Functions for Firebase และ Firebase Extensions
หลังจากติดตั้ง CLI แล้ว คุณจะมีสิทธิ์เข้าถึงคำสั่ง firebaseglobal
ใช้ CLI เพื่อ
ลิงก์ไดเรกทอรีแอปในเครื่องกับ
โปรเจ็กต์ Firebase จากนั้น
ติดตั้งใช้งานเนื้อหาที่โฮสต์ใน Firebase เวอร์ชันใหม่หรือ
อัปเดตฟังก์ชัน
Firebase Management REST API
การใช้ Firebase Management REST API จะช่วยให้คุณจัดการโปรเจ็กต์ Firebase ได้โดยอัตโนมัติ เช่น คุณสามารถ ลงทะเบียนแอปกับโปรเจ็กต์โดยใช้โปรแกรม หรือแสดงรายการแอปที่ ลงทะเบียนแล้ว (iOS+ | Android | เว็บ)
ตัวระบุโปรเจ็กต์ Firebase
คุณระบุโปรเจ็กต์ Firebase ได้ในแบ็กเอนด์ของ Firebase และในอินเทอร์เฟซสำหรับนักพัฒนาซอฟต์แวร์ต่างๆ โดยใช้ตัวระบุที่แตกต่างกัน ซึ่งรวมถึงชื่อโปรเจ็กต์ หมายเลขโปรเจ็กต์ และรหัสโปรเจ็กต์
ชื่อโปรเจ็กต์
เมื่อสร้างโปรเจ็กต์ คุณจะต้องระบุชื่อโปรเจ็กต์ ตัวระบุนี้คือชื่อภายในเท่านั้นสำหรับโปรเจ็กต์ในคอนโซล Firebase, คอนโซล Google Cloud และ 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 ต้องการเพื่อสื่อสารกับ Firebase Server API และเพื่อเชื่อมโยงข้อมูลไคลเอ็นต์ กับโปรเจ็กต์ 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:
เนื้อหาของไฟล์การกำหนดค่าหรือออบเจ็กต์ Firebase ถือเป็นข้อมูลสาธารณะ รวมถึงรหัสชุดเฉพาะแพลตฟอร์มของแอป (รหัสชุด Apple หรือชื่อแพ็กเกจ Android) และค่าเฉพาะโปรเจ็กต์ Firebase เช่น คีย์ API, รหัสโปรเจ็กต์, URL ของ Realtime Database และชื่อที่เก็บข้อมูล Cloud Storage ด้วยเหตุนี้ ให้ใช้ Firebase Security Rules เพื่อปกป้องข้อมูลและไฟล์ใน Realtime Database Cloud Firestore และ Cloud Storage
สำหรับโปรเจ็กต์โอเพนซอร์ส โดยทั่วไปเราไม่แนะนำให้รวมไฟล์การกำหนดค่าหรือออบเจ็กต์ Firebase ของแอปไว้ในการควบคุมแหล่งที่มา เนื่องจากในกรณีส่วนใหญ่ ผู้ใช้ควรสร้างโปรเจ็กต์ Firebase ของตนเองและชี้แอปไปยังทรัพยากร Firebase ของตนเอง (ผ่านไฟล์การกำหนดค่าหรือออบเจ็กต์ Firebase ของตนเอง)
ขีดจำกัดทั่วไปสำหรับโปรเจ็กต์ แอป และเว็บไซต์ Firebase
ขีดจำกัดทั่วไปสำหรับโปรเจ็กต์ แอป และเว็บไซต์ Firebase มีดังนี้
จำนวนโปรเจ็กต์ต่อบัญชี Google (อีเมล)
- แพ็กเกจราคา Spark: โควต้าการสร้างโปรเจ็กต์จะจำกัดไว้ที่โปรเจ็กต์จำนวนเล็กน้อย (โดยปกติประมาณ 5-10 โปรเจ็กต์)
- แพ็กเกจราคา Blaze: โควต้าการสร้างโปรเจ็กต์ยังคงมีจำกัด แต่โควต้าอาจเพิ่มขึ้นเมื่อลิงก์กับบัญชี Cloud Billing ที่มีสถานะดี
โปรดทราบข้อมูลต่อไปนี้เกี่ยวกับโควต้าการสร้างโปรเจ็กต์
- ขีดจำกัดนี้ไม่ได้เจาะจงเฉพาะ Firebase ขีดจำกัดของ Firebase สำหรับ โควต้าโปรเจ็กต์จะเหมือนกับของ Google Cloud
- ในกรณีที่จำเป็น คุณสามารถขอเพิ่มโควต้าโปรเจ็กต์ได้
- การลบโปรเจ็กต์โดยสมบูรณ์ต้องใช้เวลา 30 วันและจะนับรวมใน โควต้าโปรเจ็กต์จนกว่าจะลบโปรเจ็กต์ออกอย่างสมบูรณ์
ดูแนวทางปฏิบัติทั่วไปที่แนะนำ สำหรับการตั้งค่าโปรเจ็กต์ Firebase
จำนวนแอปต่อโปรเจ็กต์
Firebase จำกัดจำนวนแอป Firebase ทั้งหมดภายในโปรเจ็กต์ Firebase ไว้ที่ 30 แอป
คุณควรตรวจสอบว่าแอป Firebase ทั้งหมดภายในโปรเจ็กต์ Firebase เดียวกันเป็น แอปพลิเคชันเดียวกันในมุมมองของผู้ใช้ปลายทาง อ่านเพิ่มเติมเกี่ยวกับการใช้งานแบบหลายผู้เช่า ในเอกสารแนวทางปฏิบัติแนะนำ
ดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัดของแอปต่อโปรเจ็กต์ได้ในคำถามที่พบบ่อย
จำนวนHostingเว็บไซต์ต่อโปรเจ็กต์
ฟีเจอร์Firebase Hostingแบบหลายเว็บไซต์ รองรับเว็บไซต์สูงสุด 36 เว็บไซต์ต่อโปรเจ็กต์
การเปิดตัวแอป
- ตั้งค่าการแจ้งเตือน งบประมาณ สำหรับโปรเจ็กต์ในGoogle Cloudคอนโซล
- ตรวจสอบแดชบอร์ดการใช้งานและการเรียกเก็บเงินในFirebaseคอนโซลเพื่อดูภาพรวมการใช้งานของโปรเจ็กต์ในบริการ Firebase หลายรายการ
- ตรวจสอบรายการตรวจสอบการเปิดตัว Firebase