หน้านี้แสดงภาพรวมคร่าวๆ ของแนวคิดสําคัญหลายประการเกี่ยวกับโปรเจ็กต์ 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 ที่ลงทะเบียนไว้ได้มากกว่า 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 ลงในโปรเจ็กต์ของคุณโดยอัตโนมัติภายในหน้าIAM และผู้ดูแลระบบ > ป้ายกำกับ ของคอนโซล Google Cloud ดูข้อมูลเพิ่มเติมเกี่ยวกับป้ายกำกับนี้ได้ในคำถามที่พบบ่อย
เนื่องจากโปรเจ็กต์ Firebase เป็นโปรเจ็กต์ Google Cloud
คุณสามารถเข้าถึงและโต้ตอบกับโปรเจ็กต์ในคอนโซล Firebase รวมถึงในคอนโซล Google Cloud และคอนโซล Google API
คุณสามารถโต้ตอบกับโปรเจ็กต์ได้โดยใช้ 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 ด้วย
หลังจากติดตั้ง Firebase CLI แล้ว คุณจะมีสิทธิ์เข้าถึงคำสั่ง firebase ส่วนกลาง ใช้ Firebase CLI เพื่อลิงก์ไดเรกทอรีแอปในเครื่องกับโปรเจ็กต์ Firebase จากนั้นทำให้เนื้อหาเวอร์ชันใหม่ที่โฮสต์ใน Firebase ใช้งานได้หรืออัปเดตฟังก์ชัน
Firebase Management REST API
คุณสามารถจัดการโปรเจ็กต์ Firebase แบบเป็นโปรแกรมได้โดยใช้ REST API ของการจัดการ Firebase เช่น คุณสามารถลงทะเบียนแอปกับโปรเจ็กต์หรือแสดงรายการแอปที่ลงทะเบียนแล้วแบบเป็นโปรแกรมได้ (iOS+ | Android | เว็บ)
ตัวระบุโปรเจ็กต์ Firebase
คุณสามารถระบุโปรเจ็กต์ Firebase ในแบ็กเอนด์ของ Firebase และในอินเทอร์เฟซต่างๆ ของนักพัฒนาซอฟต์แวร์ได้โดยใช้ตัวระบุที่แตกต่างกัน ซึ่งรวมถึงชื่อโปรเจ็กต์ หมายเลขโปรเจ็กต์ และรหัสโปรเจ็กต์
ชื่อโปรเจ็กต์
เมื่อสร้างโปรเจ็กต์ คุณจะต้องระบุชื่อโปรเจ็กต์ ตัวระบุนี้คือชื่อที่ใช้ภายในเท่านั้นสำหรับโปรเจ็กต์ในคอนโซล Firebase, คอนโซล Google Cloud และ CLI ของ Firebase ชื่อโปรเจ็กต์จะไม่แสดงในผลิตภัณฑ์ บริการ หรือแหล่งข้อมูลของ Firebase หรือ Google Cloud ที่แสดงต่อสาธารณะ แต่มีไว้เพื่อช่วยให้คุณแยกความแตกต่างระหว่างโปรเจ็กต์ต่างๆ ได้ง่ายขึ้นเท่านั้น
คุณแก้ไขชื่อโปรเจ็กต์ได้ทุกเมื่อในแผงด้านบนของ
หมายเลขโปรเจ็กต์
โปรเจ็กต์ Firebase (และโปรเจ็กต์ Google Cloud ที่เชื่อมโยง) มีหมายเลขโปรเจ็กต์ รหัสนี้คือตัวระบุ Canonical ที่ไม่ซ้ำกันทั่วโลกซึ่ง Google กำหนดให้สำหรับโปรเจ็กต์ ใช้ตัวระบุนี้เมื่อกำหนดค่าการผสานรวมและ/หรือทำการเรียก API ไปยัง Firebase, Google หรือบริการของบุคคลที่สาม
คุณแก้ไขหมายเลขโปรเจ็กต์ไม่ได้ หากคุณลบโปรเจ็กต์ หมายเลขโปรเจ็กต์จะถูกลบไปด้วยและโปรเจ็กต์อื่นๆ จะใช้หมายเลขนั้นไม่ได้อีก
รหัสโปรเจ็กต์
โปรเจ็กต์ Firebase (และโปรเจ็กต์ Google Cloud ที่เชื่อมโยง) มีรหัสโปรเจ็กต์ นี่คือตัวระบุที่ไม่ซ้ำกันซึ่งผู้ใช้กำหนดสำหรับโปรเจ็กต์ใน Firebase และ Google Cloud ทั้งหมด เมื่อสร้างโปรเจ็กต์ 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 ทั้งหมดภายในโปรเจ็กต์ Firebase ไว้ที่ 30 แอป
คุณควรตรวจสอบว่าแอป Firebase ทั้งหมดภายในโปรเจ็กต์ Firebase เดียวเป็นตัวแปรแพลตฟอร์มของแอปพลิเคชันเดียวกันจากมุมมองของผู้ใช้ปลายทาง อ่านข้อมูลเพิ่มเติมเกี่ยวกับการใช้สถาปัตยกรรมแบบ Multi-Tenancy ในเอกสารแนวทางปฏิบัติแนะนำ
ดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัดของแอปต่อโปรเจ็กต์ในคำถามที่พบบ่อย
จำนวนเว็บไซต์ Hosting ต่อโปรเจ็กต์
ฟีเจอร์หลายเว็บไซต์ของ Firebase Hosting รองรับเว็บไซต์สูงสุด 36 เว็บไซต์ต่อโปรเจ็กต์
การเปิดตัวแอป
- ตั้งค่าการแจ้งเตือนงบประมาณสำหรับโปรเจ็กต์ในคอนโซล Google Cloud
- ตรวจสอบแดชบอร์ดการใช้งานและการเรียกเก็บเงินในคอนโซล Firebase เพื่อดูภาพรวมการใช้งานของโปรเจ็กต์ในบริการต่างๆ ของ Firebase
- ดูรายการตรวจสอบการเปิดตัวของ Firebase