หน้านี้นำเสนอภาพรวมคร่าวๆของแนวคิดที่สำคัญหลายประการเกี่ยวกับโครงการ Firebase เมื่อมีให้ไปที่ลิงก์เพื่อค้นหาข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับคุณสมบัติบริการและแม้แต่แพลตฟอร์มอื่น ๆ ที่ด้านล่างของหน้านี้คุณจะพบรายการ แนวทางปฏิบัติที่ดีที่สุดทั่วไป สำหรับโครงการ Firebase
ความสัมพันธ์ระหว่างโครงการแอปและผลิตภัณฑ์ของ Firebase
โครงการ Firebase คือเอนทิตีระดับบนสุดของ Firebase ในโปรเจ็กต์คุณสร้างแอป Firebase โดยการลงทะเบียน iOS, Android หรือเว็บแอป หลังจากลงทะเบียนแอปกับ Firebase แล้วคุณสามารถเพิ่ม Firebase SDK สำหรับ ผลิตภัณฑ์ Firebase จำนวนเท่าใดก็ได้เช่น Analytics, Cloud Firestore, การตรวจสอบประสิทธิภาพหรือการกำหนดค่าระยะไกล
เรียนรู้ข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับกระบวนการนี้ในคู่มือการเริ่มต้นใช้งาน ( iOS | Android | เว็บ | Unity | C ++ )
ความสัมพันธ์ระหว่างโปรเจ็กต์ Firebase กับ Google Cloud
เมื่อคุณสร้างโครงการ Firebase ใหม่ในคอนโซล Firebase คุณกำลังสร้าง โครงการ Google Cloud อยู่เบื้องหลัง คุณสามารถคิดว่าโครงการ Google Cloud เป็นเสมือนคอนเทนเนอร์สำหรับข้อมูลโค้ดการกำหนดค่าและบริการ โครงการ Firebase คือโครงการ Google Cloud ที่มีการกำหนดค่าและบริการเฉพาะ Firebase เพิ่มเติม คุณสามารถสร้างโปรเจ็กต์ Google Cloud ก่อนจากนั้นจึงเพิ่ม Firebase ในโปรเจ็กต์ในภายหลัง
เนื่องจากโปรเจ็กต์ Firebase เป็น โปรเจ็กต์ Google Cloud:
โครงการที่ปรากฏใน คอนโซล Firebase ยังปรากฏใน คอนโซล Google Cloud และ คอนโซล Google API
การเรียกเก็บเงิน และ สิทธิ์ สำหรับโปรเจ็กต์จะแชร์ใน Firebase และ Google Cloud
ตัวระบุที่ไม่ซ้ำกันสำหรับโปรเจ็กต์ (เช่น หมายเลขโปรเจ็กต์ และ รหัสโปรเจ็กต์ ) จะแชร์ระหว่าง Firebase และ Google Cloud
คุณใช้ผลิตภัณฑ์และ API จากทั้ง Firebase และ Google Cloud ในโปรเจ็กต์ได้
การลบโครงการจะเป็นการลบใน Firebase และ Google Cloud
การตั้งค่าโครงการ Firebase และการลงทะเบียนแอป
คุณสามารถตั้งค่าโครงการ Firebase และลงทะเบียนแอปใน คอนโซล Firebase (หรือสำหรับกรณีการใช้งานขั้นสูงผ่าน Firebase Management REST API หรือ Firebase CLI ) เมื่อคุณตั้งค่าโปรเจ็กต์และลงทะเบียนแอปคุณต้องทำการตัดสินใจระดับองค์กรและเพิ่มข้อมูลการกำหนดค่าเฉพาะ Firebase ให้กับโปรเจ็กต์ในพื้นที่ของคุณ
อย่าลืมอ่าน แนวทางปฏิบัติที่ดีที่สุดทั่วไปในระดับโครงการ (ที่ด้านล่างสุดของหน้านี้) ก่อนตั้งค่าโครงการและลงทะเบียนแอป
ชื่อโครงการ
เมื่อคุณสร้างโครงการคุณต้องระบุ ชื่อโครงการ ตัวระบุนี้เป็นชื่อ ภายในเท่านั้น สำหรับโปรเจ็กต์ใน คอนโซล Firebase คอนโซล Google Cloud และ Firebase CLI ชื่อโครงการจะไม่เปิดเผยในผลิตภัณฑ์บริการหรือทรัพยากรของ Firebase หรือ Google Cloud ที่เปิดเผยต่อสาธารณะ เพียงแค่ทำหน้าที่ช่วยให้คุณแยกแยะระหว่างโครงการต่างๆได้ง่ายขึ้น
คุณแก้ไขชื่อโปรเจ็กต์ได้ทุกเมื่อในการ Project settings ของคอนโซล Firebase ชื่อโครงการจะแสดงในบานหน้าต่างด้านบน
หมายเลขโครงการ
โครงการ Firebase (และโครงการ Google Cloud ที่เกี่ยวข้อง ) มี หมายเลขโครงการ นี่คือตัวระบุมาตรฐานสากลที่ Google กำหนดสำหรับโครงการ ใช้ตัวระบุนี้เมื่อกำหนดค่าการผสานรวมและ / หรือเรียก API ไปยัง Firebase, Google หรือบริการของบุคคลที่สาม
การเรียก API และหมายเลขโครงการ
สำหรับการเรียก API จำนวนมากคุณต้องใส่ตัวระบุเฉพาะสำหรับโปรเจ็กต์ แม้ว่า API จำนวนมากจะยอมรับ รหัสโปรเจ็ก ต์ แต่ขอแนะนำให้คุณใช้ หมายเลขโปรเจ็กต์ ในการเรียก API ไปยัง Firebase, Google หรือบริการของบุคคลที่สาม
เรียนรู้เพิ่มเติมเกี่ยวกับการใช้ตัวระบุโครงการโดยเฉพาะหมายเลขโครงการใน มาตรฐาน AIP 2510 ของ Google
ค้นหาหมายเลขโครงการ
คอนโซล Firebase: คลิก โครงการ หมายเลขโครงการจะแสดงในบานหน้าต่างด้านบน
Firebase CLI: เรียกใช้
firebase projects:list
หมายเลขโครงการจะแสดงพร้อมกับโครงการ Firebase ทั้งหมดที่เชื่อมโยงกับบัญชีของคุณFirebase Management REST API: โทร
projects.list
เนื้อหาตอบกลับมีหมายเลขโปรเจ็กต์ในออบเจ็กต์FirebaseProject
รหัสโครงการ
โครงการ Firebase (และโครงการ Google Cloud ที่เกี่ยวข้อง ) มี รหัสโครงการ นี่คือตัวระบุเฉพาะที่ผู้ใช้กำหนดเองสำหรับโครงการใน Firebase และ Google Cloud ทั้งหมด เมื่อคุณสร้างโครงการ Firebase Firebase จะกำหนดรหัสเฉพาะให้กับโครงการโดยอัตโนมัติ แต่คุณสามารถแก้ไขได้ในระหว่างการตั้งค่าโครงการ โดยทั่วไปแล้วตัวระบุนี้ควรถือเป็นนามแฝงเพื่อความสะดวกในการอ้างอิงโครงการ
หากคุณลบโปรเจ็กต์ ID โปรเจ็กต์จะถูกลบไปด้วยและโปรเจ็กต์อื่นจะไม่สามารถนำมาใช้ได้อีก
ทรัพยากร Firebase และรหัสโครงการ
รหัสโปรเจ็กต์จะแสดงในทรัพยากร Firebase ที่เปิดเผยต่อสาธารณะตัวอย่างเช่น
- โดเมนย่อยของโฮสติ้งเริ่มต้น -
PROJECT_ID .web.app
และPROJECT_ID .firebaseapp.com
- URL ฐานข้อมูลเรียลไทม์เริ่มต้น -
PROJECT_ID -default-rtdb.firebaseio.com
หรือPROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
- ชื่อที่เก็บข้อมูล Cloud Storage เริ่มต้น -
PROJECT_ID .appspot.com
สำหรับทรัพยากรข้างต้นทั้งหมดคุณสามารถสร้างอินสแตนซ์ที่ไม่ใช่ค่าเริ่มต้นได้ ชื่อที่ไม่เป็นค่าเริ่มต้นที่เปิดเผยต่อสาธารณะสามารถปรับแต่งได้อย่างเต็มที่ คุณสามารถ เชื่อมต่อโดเมนที่กำหนดเอง กับไซต์ที่โฮสต์ Firebase แบ่งฐานข้อมูลแบบเรียลไทม์ และ สร้างที่เก็บข้อมูล Cloud Storage หลายรายการ (ไปที่หน้าเริ่มต้นใช้งานเฉพาะแพลตฟอร์ม)
Firebase CLI และรหัสโครงการ
ในบางกรณีการใช้งานคุณอาจมีโครงการ Firebase หลายโครงการที่เชื่อมโยงกับไดเรกทอรีแอปในเครื่องเดียวกัน ในสถานการณ์เหล่านี้เมื่อคุณใช้ Firebase CLI คุณจะต้องส่งต่อแฟ --project
ด้วยคำสั่ง firebase
เพื่อสื่อสารว่าโปรเจ็กต์ Firebase ใดที่คุณต้องการโต้ตอบด้วย
คุณยังสามารถตั้ง ชื่อแทนโปรเจ็กต์ สำหรับโปรเจ็กต์ Firebase แต่ละโปรเจ็กต์เพื่อที่คุณจะได้ไม่ต้องจำรหัสโปรเจ็กต์
การเรียก API และรหัสโครงการ
สำหรับการเรียก API จำนวนมากคุณต้องใส่ตัวระบุเฉพาะสำหรับโปรเจ็กต์ แม้ว่า API จำนวนมากจะยอมรับรหัสโปรเจ็กต์ แต่ขอแนะนำให้คุณใช้ หมายเลขโปรเจ็กต์ ในการเรียก API ไปยัง Firebase, Google หรือบริการของบุคคลที่สาม
เรียนรู้เพิ่มเติมเกี่ยวกับการใช้ตัวระบุโครงการโดยเฉพาะหมายเลขโครงการใน มาตรฐาน AIP 2510 ของ Google
ค้นหารหัสโครงการ
คอนโซล Firebase: คลิก โครงการ รหัสโครงการจะแสดงในบานหน้าต่างด้านบน
Firebase CLI: เรียกใช้
firebase projects:list
รหัสโครงการจะแสดงพร้อมกับโครงการ Firebase ทั้งหมดที่เชื่อมโยงกับบัญชีของคุณFirebase Management REST API: โทร
projects.list
เนื้อหาตอบกลับมีรหัสโปรเจ็กต์ในออบเจ็กต์FirebaseProject
ไฟล์กำหนดค่า Firebase และวัตถุ
เมื่อคุณลงทะเบียนแอปกับโปรเจ็กต์ Firebase คอนโซล Firebase จะมีไฟล์การกำหนดค่า Firebase (แอป iOS / Android) หรือออบเจ็กต์การกำหนดค่า (เว็บแอป) ที่คุณเพิ่มลงในไดเรกทอรีแอปในเครื่องโดยตรง
- สำหรับแอป iOS คุณต้องเพิ่มไฟล์การกำหนดค่า
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 iOS:
GOOGLE_APP_ID
(ค่าตัวอย่าง:1:1234567890:ios:321abc456def7890
)
นี่ ไม่ใช่ Apple Bundle ID - แอป Firebase Android:
mobilesdk_app_id
(ค่าตัวอย่าง:1:1234567890:android:321abc456def7890
)
นี่ ไม่ใช่ ชื่อแพ็กเกจ Android หรือรหัสแอปพลิเคชัน Android - Firebase Web apps:
appId
(ค่าตัวอย่าง:1:65211879909:web:3ae38ef1cdcb2e01fe5f0c
)
- แอป Firebase iOS:
เนื้อหาของไฟล์หรือออบเจ็กต์การกำหนดค่า Firebase ถือเป็นสาธารณะรวมถึง ID เฉพาะแพลตฟอร์มของแอป (iOS Bundle ID หรือชื่อแพ็กเกจ Android) และค่าเฉพาะโปรเจ็กต์ Firebase เช่นคีย์ API รหัสโปรเจ็กต์ URL ฐานข้อมูลเรียลไทม์และ ชื่อที่เก็บข้อมูล ให้ ใช้กฎความปลอดภัย Firebase เพื่อปกป้องข้อมูลและไฟล์ของคุณใน Realtime Database , Cloud Firestore และ Cloud Storage
สำหรับโครงการโอเพนซอร์สโดยทั่วไปเราไม่แนะนำให้รวมไฟล์กำหนดค่า Firebase ของแอปหรือออบเจ็กต์ในการควบคุมแหล่งที่มาเนื่องจากโดยส่วนใหญ่ผู้ใช้ของคุณควรสร้างโครงการ Firebase ของตนเองและชี้แอปไปยังทรัพยากร Firebase ของตนเอง (ผ่านการกำหนดค่า Firebase ไฟล์หรือวัตถุ)
การจัดการโครงการ Firebase
อย่าลืมตรวจสอบ แนวทางปฏิบัติที่ดีที่สุดระดับโครงการทั่วไป (ที่ด้านล่างของหน้านี้) สำหรับข้อควรพิจารณาที่อาจส่งผลต่อวิธีจัดการโครงการ Firebase
เครื่องมือในการจัดการโครงการ
คอนโซล Firebase
คอนโซล Firebase นำเสนอสภาพแวดล้อมที่สมบูรณ์ที่สุดสำหรับการจัดการผลิตภัณฑ์ Firebase แอปและการตั้งค่าระดับโปรเจ็กต์
แผงด้านซ้ายของคอนโซลจะแสดงรายการผลิตภัณฑ์ Firebase ซึ่งจัดเรียงตามหมวดหมู่ระดับบนสุด ที่ด้านบนของแผงด้านซ้ายให้เข้าถึงการตั้งค่าของโครงการโดยคลิก การผสานรวม สิทธิ์การเข้าถึง และ การเรียกเก็บเงิน
การตั้งค่าของโปรเจ็กต์ประกอบด้วยตรงกลางคอนโซลจะแสดงปุ่มที่เรียกใช้เวิร์กโฟลว์การตั้งค่าเพื่อลงทะเบียนแอพประเภทต่างๆ หลังจากที่คุณเริ่มใช้ Firebase พื้นที่หลักของคอนโซลจะเปลี่ยนเป็นแดชบอร์ดที่แสดงสถิติเกี่ยวกับผลิตภัณฑ์ที่คุณใช้
Firebase CLI (เครื่องมือบรรทัดคำสั่ง)
Firebase ยังมี Firebase CLI สำหรับการกำหนดค่าและจัดการผลิตภัณฑ์ Firebase ที่เฉพาะเจาะจงเช่น Firebase Hosting และ Cloud Functions สำหรับ Firebase
หลังจากติดตั้ง CLI คุณจะสามารถเข้าถึง คำสั่ง global firebase
ได้ ใช้ CLI เพื่อ ลิงก์ไดเรกทอรีแอปในเครื่องของคุณกับโปรเจ็กต์ Firebase จากนั้น ปรับใช้ เวอร์ชันใหม่ของเนื้อหาที่โฮสต์ Firebase หรืออัปเดตฟังก์ชัน
Firebase Management REST API
เมื่อใช้ Firebase Management REST API คุณจะจัดการโครงการ Firebase โดยทางโปรแกรมได้ ตัวอย่างเช่นคุณสามารถลงทะเบียนแอพกับโปรเจ็กต์ทางโปรแกรมหรือแสดงรายการแอพที่ลงทะเบียนแล้ว ( iOS | Android | เว็บ )
แนวทางปฏิบัติที่ดีที่สุดทั่วไป
การเพิ่มแอพลงในโปรเจ็กต์
ตรวจสอบว่าแอปทั้งหมดในโปรเจ็กต์เป็นแพลตฟอร์มที่แตกต่างกันของแอปพลิเคชันเดียวกัน จากมุมมองของผู้ใช้ปลายทาง ขอแนะนำให้ลงทะเบียน iOS, Android และเวอร์ชันเว็บของแอปหรือเกมเดียวกันกับโครงการ Firebase เดียวกัน โดยทั่วไปแอปทั้งหมดในโปรเจ็กต์จะแชร์ทรัพยากร Firebase เดียวกัน (ฐานข้อมูลที่เก็บข้อมูล ฯลฯ )
หากคุณมี เวอร์ชันบิวด์หลายรายการที่ มีการกำหนดรหัสชุด iOS หรือชื่อแพ็กเกจ Android ที่แตกต่างกันคุณสามารถลงทะเบียนแต่ละเวอร์ชันกับโปรเจ็กต์ Firebase แยกกันได้ อย่างไรก็ตามหากคุณมีตัวแปรที่ใช้ทรัพยากร Firebase เดียวกัน ให้ลงทะเบียนกับโครงการ Firebase เดียวกัน
ขีด จำกัด ทั่วไปสำหรับโครงการแอปและไซต์ Firebase มีดังนี้
จำนวนโครงการต่อบัญชี
- แผน Spark แบบฟรี - โควต้าการสร้างโปรเจ็กต์ถูก จำกัด ไว้ที่จำนวนโปรเจ็กต์ที่ต่ำกว่า (ปกติประมาณ 5-10)
- แผนการชำระเงิน - โควต้าการสร้างโครงการต่อบัญชีสำหรับการเรียกเก็บเงินจะเพิ่มขึ้นอย่างมากตราบเท่าที่บัญชีการเรียกเก็บเงินระบบคลาวด์ที่เชื่อมโยงอยู่ในสถานะดี
การ จำกัด โควต้าการสร้างโปรเจ็กต์นั้นไม่ค่อยเป็นปัญหาสำหรับนักพัฒนาส่วนใหญ่ แต่หากจำเป็นคุณสามารถ ขอเพิ่มโควต้าโปรเจ็กต์ ได้
โปรดทราบว่าการลบโปรเจ็กต์ทั้งหมดต้องใช้เวลา 30 วันและนับรวมในโควต้าโปรเจ็กต์จนกว่าโปรเจ็กต์จะถูกลบทั้งหมด
จำนวนแอพต่อโปรเจ็กต์
Firebase จำกัด จำนวนแอป Firebase ทั้งหมดภายในโปรเจ็กต์ Firebase ไว้ที่ 30
คุณควรตรวจสอบให้แน่ใจว่าแอป Firebase ทั้งหมดในโครงการ Firebase เดียวเป็นรูปแบบแพลตฟอร์มของแอปพลิเคชันเดียวกันจากมุมมองของผู้ใช้ปลายทาง ตัวอย่างเช่นหากคุณพัฒนาแอปพลิเคชัน White Label แต่ละแอปที่มีป้ายกำกับแยกกันควรมีโครงการ Firebase ของตัวเอง
เรียนรู้เพิ่มเติมเกี่ยวกับ ขีด จำกัด ของแอพต่อโปรเจ็กต์ ในคำถามที่พบบ่อย
จำนวนไซต์โฮสติ้งต่อโครงการ
ฟีเจอร์หลาย ไซต์ของ Firebase Hosting รองรับไซต์ได้สูงสุด 36 ไซต์ต่อโปรเจ็กต์
ผู้เช่าหลายราย
ไม่แนะนำให้เชื่อมต่อแอปและ / หรือเว็บไซต์ที่เป็นอิสระตามเหตุผลหลายรายการเข้ากับโครงการ Firebase เดียว (มักเรียกว่า "ผู้เช่าหลายราย") การเช่าหลายรายการอาจนำไปสู่ปัญหาการกำหนดค่าที่ร้ายแรงและความเป็นส่วนตัวของข้อมูลรวมถึงปัญหาที่ไม่ได้ตั้งใจเกี่ยวกับการรวมการวิเคราะห์การตรวจสอบสิทธิ์ร่วมโครงสร้างฐานข้อมูลที่ซับซ้อนเกินไปและปัญหาเกี่ยวกับกฎความปลอดภัย
โดยทั่วไป หากแอปชุดหนึ่งไม่แชร์ข้อมูลและการกำหนดค่าเดียวกันให้พิจารณาลงทะเบียนแต่ละแอปด้วยโครงการ Firebase ที่แตกต่างกัน
ตัวอย่างเช่นหากคุณพัฒนาแอปพลิเคชัน White Label แต่ละแอปที่มีป้ายกำกับแยกกันควรมีโครงการ Firebase ของตัวเอง แต่ละแอปไม่ควรและไม่ควร (ด้วยเหตุผลด้านความเป็นส่วนตัว) แชร์ข้อมูลกับผู้อื่น
เปิดตัวแอปของคุณ
- ตั้งค่าการ แจ้งเตือนงบประมาณ สำหรับโครงการของคุณใน Google Cloud Console
- ตรวจสอบ การใช้งานและแดชบอร์ดการเรียกเก็บเงิน ของคุณในคอนโซล Firebase
- ตรวจ สอบรายการตรวจสอบการเปิดตัว Firebase