หน้านี้นำเสนอภาพรวมคร่าวๆของแนวคิดที่สำคัญหลายประการเกี่ยวกับโครงการ 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 Console และ Google APIs
การเรียกเก็บเงิน และ สิทธิ์ สำหรับโปรเจ็กต์จะแชร์ใน 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 Console และ 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 ฐานข้อมูลเรียลไทม์ ชื่อที่เก็บข้อมูล Cloud Storage ให้ ใช้กฎความปลอดภัยของ 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
- ตรวจ สอบรายการตรวจสอบการเปิดตัว Firebase