Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

ทำความเข้าใจโครงการ Firebase

หน้านี้นำเสนอภาพรวมคร่าวๆของแนวคิดที่สำคัญหลายประการเกี่ยวกับโครงการ 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 และการลงทะเบียนแอป

คุณสามารถตั้งค่าโครงการ 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 ถือเป็นสาธารณะรวมถึง 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 พื้นที่หลักของคอนโซลจะเปลี่ยนเป็นแดชบอร์ดที่แสดงสถิติเกี่ยวกับผลิตภัณฑ์ที่คุณใช้

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 ของตัวเอง แต่ละแอปไม่และไม่ควร (ด้วยเหตุผลด้านความเป็นส่วนตัว) แชร์ข้อมูลกับผู้อื่น

เปิดตัวแอพของคุณ