ทำความเข้าใจโปรเจ็กต์ Firebase

หน้านี้นำเสนอภาพรวมโดยย่อของแนวคิดที่สำคัญหลายประการเกี่ยวกับโปรเจ็กต์ Firebase เมื่อพร้อมใช้งาน ให้ไปที่ลิงก์เพื่อค้นหาข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับคุณสมบัติ บริการ และแม้แต่แพลตฟอร์มอื่นๆ ที่ด้านล่างของหน้านี้พบว่ามีรายชื่อของ ทั่วไปปฏิบัติที่ดีที่สุด สำหรับโครงการ Firebase

ความสัมพันธ์ระหว่างโปรเจ็กต์ Firebase แอป และผลิตภัณฑ์

โปรเจ็กต์ Firebase เป็นเอนทิตีระดับบนสุดสำหรับ Firebase ในโปรเจ็กต์ คุณต้องสร้างแอป Firebase โดยการลงทะเบียน iOS, Android หรือเว็บแอป หลังจากที่คุณลงทะเบียนปพลิเคชันของคุณด้วย Firebase คุณสามารถเพิ่ม Firebase SDK ของจำนวนใด ๆ ผลิตภัณฑ์ Firebase เช่น Analytics เมฆ FireStore, การตรวจสอบประสิทธิภาพหรือระยะไกล Config

เรียนรู้ข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับกระบวนการนี้ในคู่มือการเริ่มต้น ( iOS | Android | เว็บ | สามัคคี | C ++ )

ความสัมพันธ์ระหว่างโปรเจ็กต์ Firebase กับ Google Cloud

เมื่อคุณสร้างโครงการ Firebase ใหม่ในคอนโซล Firebase คุณจริงสร้าง โครงการ Google Cloud เบื้องหลัง คุณนึกถึงโปรเจ็กต์ Google Cloud เป็นคอนเทนเนอร์เสมือนสำหรับข้อมูล โค้ด การกำหนดค่า และบริการได้ โปรเจ็กต์ Firebase คือโปรเจ็กต์ Google Cloud ที่มีการกำหนดค่าและบริการเฉพาะของ Firebase เพิ่มเติม คุณสามารถสร้างโครงการ Google Cloud ก่อน แล้วจึงเพิ่ม Firebase ในโครงการในภายหลัง

ตั้งแต่โครงการ Firebase เป็นโครงการของ Google Cloud:

การตั้งค่าโปรเจ็กต์ Firebase และการลงทะเบียนแอพ

คุณสามารถตั้งค่าโครงการ Firebase และลงทะเบียนปพลิเคชันใน คอนโซล Firebase (หรือสำหรับกรณีการใช้งานขั้นสูงผ่าน การบริหารจัดการ Firebase REST API หรือ Firebase CLI ) เมื่อคุณตั้งค่าโปรเจ็กต์และลงทะเบียนแอป คุณจะต้องตัดสินใจเกี่ยวกับองค์กรและเพิ่มข้อมูลการกำหนดค่าเฉพาะของ Firebase ลงในโปรเจ็กต์ในพื้นที่ของคุณ

ให้แน่ใจว่าจะทบทวนบาง โครงการระดับทั่วไปปฏิบัติที่ดีที่สุด (ที่ด้านล่างของหน้านี้) ก่อนที่จะตั้งค่าโครงการและลงทะเบียนปพลิเคชัน

ชื่อโครงการ

เมื่อคุณสร้างโครงการคุณให้ชื่อโครงการ ตัวระบุนี้เป็นชื่อภายในเท่านั้นสำหรับโครงการในส่วน Firebase คอนโซล ที่ คอนโซล Google Cloud และ Firebase CLI ชื่อโปรเจ็กต์จะไม่ปรากฏในผลิตภัณฑ์ บริการ หรือทรัพยากรของ Firebase หรือ Google Cloud ที่เปิดเผยต่อสาธารณะ มันทำหน้าที่ช่วยให้คุณแยกแยะระหว่างหลาย ๆ โครงการได้ง่ายขึ้น

คุณสามารถแก้ไขชื่อโครงการในเวลาใด ๆ ใน การตั้งค่าโครงการ ของคอนโซล Firebase ชื่อโครงการจะแสดงในบานหน้าต่างด้านบน

เลขที่โครงการ

Firebase โครงการ (และของ ที่เกี่ยวข้องโครงการ Google Cloud ) มีจำนวนโครงการ นี่คือตัวระบุมาตรฐานที่ไม่ซ้ำกันทั่วโลกซึ่งกำหนดโดย Google สำหรับโปรเจ็กต์ ใช้ตัวระบุนี้เมื่อกำหนดค่าการผสานรวมและ/หรือการเรียก API ไปยัง Firebase, Google หรือบริการของบุคคลที่สาม

การเรียก API และหมายเลขโปรเจ็กต์

สำหรับการเรียก API หลายๆ ครั้ง คุณต้องรวมตัวระบุเฉพาะสำหรับโปรเจ็กต์ แม้ว่าหลาย APIs ยอมรับ ID โครงการ ก็ขอแนะนำให้คุณใช้จำนวนโครงการสำหรับการโทร API เพื่อ Firebase, Google, หรือบริการของบุคคลที่สาม

เรียนรู้เพิ่มเติมเกี่ยวกับการใช้ตัวบ่งชี้โครงการโดยเฉพาะอย่างยิ่งจำนวนโครงการใน Google ของ AIP 2510 มาตรฐาน

ค้นหาเลขที่โครงการ

  • Firebase คอนโซล: คลิก การตั้งค่าโครงการ หมายเลขโครงการจะแสดงในบานหน้าต่างด้านบน

  • CLI Firebase: Run firebase projects:list หมายเลขโปรเจ็กต์จะแสดงพร้อมกับโปรเจ็กต์ Firebase ทั้งหมดที่เชื่อมโยงกับบัญชีของคุณ

  • Firebase จัดการ REST API: เรียก projects.list ร่างกายตอบสนองมีตัวเลขโครงการใน FirebaseProject วัตถุ

รหัสโครงการ

Firebase โครงการ (และของ ที่เกี่ยวข้องโครงการ Google Cloud ) มีรหัสโครงการ นี่คือตัวระบุเฉพาะที่ผู้ใช้กำหนดสำหรับโปรเจ็กต์ใน Firebase และ Google Cloud ทั้งหมด เมื่อคุณสร้างโปรเจ็กต์ Firebase Firebase จะกำหนด ID ที่ไม่ซ้ำให้กับโปรเจ็กต์โดยอัตโนมัติ แต่คุณสามารถแก้ไขได้ระหว่างการตั้งค่าโปรเจ็กต์ โดยทั่วไป ตัวระบุนี้ควรถือเป็นชื่อแทนเพื่อความสะดวกในการอ้างอิงโปรเจ็กต์

หากคุณลบโปรเจ็กต์ ID โปรเจ็กต์ก็จะถูกลบด้วย และโปรเจ็กต์อื่นจะไม่สามารถใช้ได้อีก

ทรัพยากร Firebase และรหัสโปรเจ็กต์

รหัสโปรเจ็กต์จะแสดงในทรัพยากร Firebase ที่เปิดเผยต่อสาธารณะ เช่น

  • เริ่มต้นโฮสติ้งโดเมนย่อย - PROJECT_ID .web.app และ PROJECT_ID .firebaseapp.com
  • เริ่มต้น Realtime URL ฐานข้อมูล - PROJECT_ID -default-rtdb.firebaseio.com หรือ PROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
  • เริ่มต้นการจัดเก็บเมฆชื่อถัง - PROJECT_ID .appspot.com

สำหรับทรัพยากรที่กล่าวมาทั้งหมด คุณสามารถสร้างอินสแตนซ์ที่ไม่ใช่ค่าเริ่มต้นได้ ชื่อที่ไม่ใช่ค่าเริ่มต้นที่เปิดเผยต่อสาธารณะนั้นสามารถปรับแต่งได้อย่างเต็มที่ คุณสามารถ เชื่อมต่อโดเมนที่กำหนดเอง กับ Firebase โฮสต์เว็บไซต์ Shard ฐานข้อมูลเรียลไทม์ และ สร้างหลายบุ้งกี๋ Cloud Storage (ไปที่หน้าเฉพาะแพลตฟอร์มเริ่มต้น) ที่

Firebase CLI และรหัสโปรเจ็กต์

ในบางกรณี คุณอาจมีโปรเจ็กต์ Firebase หลายโปรเจ็กต์ที่เชื่อมโยงกับไดเร็กทอรีแอปในเครื่องเดียวกัน ในสถานการณ์เหล่านี้เมื่อคุณใช้ Firebase CLI คุณจะต้องผ่านการ --project ธงกับ firebase คำสั่งในการสื่อสารซึ่งโครงการ Firebase คุณต้องการที่จะมีปฏิสัมพันธ์กับ

นอกจากนี้คุณยังสามารถตั้งค่า นามแฝงโครงการ แต่ละโครงการ Firebase เพื่อที่คุณจะไม่ต้องจำรหัสโครงการ

การเรียก API และ ID โปรเจ็กต์

สำหรับการเรียก API หลายๆ ครั้ง คุณต้องรวมตัวระบุเฉพาะสำหรับโปรเจ็กต์ แม้ว่าหลาย APIs ยอมรับ ID โครงการก็ขอแนะนำให้คุณใช้ จำนวนโครงการ สำหรับการโทร API เพื่อ Firebase, Google, หรือบริการของบุคคลที่สาม

เรียนรู้เพิ่มเติมเกี่ยวกับการใช้ตัวบ่งชี้โครงการโดยเฉพาะอย่างยิ่งจำนวนโครงการใน Google ของ AIP 2510 มาตรฐาน

ค้นหารหัสโครงการ

  • Firebase คอนโซล: คลิก การตั้งค่าโครงการ รหัสโปรเจ็กต์จะแสดงในบานหน้าต่างด้านบน

  • CLI Firebase: Run firebase projects:list รหัสโปรเจ็กต์จะแสดงพร้อมกับโปรเจ็กต์ Firebase ทั้งหมดที่เชื่อมโยงกับบัญชีของคุณ

  • Firebase จัดการ REST API: เรียก projects.list ร่างกายตอบสนองมี ID โครงการใน FirebaseProject วัตถุ

ไฟล์กำหนดค่า Firebase และอ็อบเจ็กต์

เมื่อคุณลงทะเบียนแอปกับโปรเจ็กต์ Firebase คอนโซล Firebase จะมีไฟล์การกำหนดค่า Firebase (แอป iOS/Android) หรือออบเจ็กต์การกำหนดค่า (เว็บแอป) ที่คุณเพิ่มลงในไดเรกทอรีแอปในเครื่องโดยตรง

  • สำหรับแอป iOS ของคุณ, คุณเพิ่ม GoogleService-Info.plist แฟ้มการกำหนดค่า
  • สำหรับแอป Android, คุณเพิ่ม google-services.json แฟ้มการกำหนดค่า
  • สำหรับเว็บแอป คุณจะต้องเพิ่มออบเจ็กต์การกำหนดค่า Firebase

เมื่อใดก็ตามที่คุณสามารถ รับไฟล์ config ของแอป Firebase หรือวัตถุ

ไฟล์การกำหนดค่า Firebase หรืออ็อบเจ็กต์เชื่อมโยงแอปกับโปรเจ็กต์ Firebase และทรัพยากร (ฐานข้อมูล ที่เก็บข้อมูล เป็นต้น) การกำหนดค่าประกอบด้วย "ตัวเลือก Firebase" ซึ่งเป็นพารามิเตอร์ที่จำเป็นสำหรับ Firebase และบริการของ Google เพื่อสื่อสารกับ API เซิร์ฟเวอร์ Firebase และเพื่อเชื่อมโยงข้อมูลไคลเอ็นต์กับโปรเจ็กต์ Firebase และแอป Firebase นี่คือ "ตัวเลือก Firebase" ขั้นต่ำที่จำเป็น:

  • คีย์ API : สตริงง่ายเข้ารหัสใช้เมื่อเรียก APIs บางอย่างที่ไม่จำเป็นต้องเข้าถึงข้อมูลส่วนตัวของผู้ใช้ (ค่าตัวอย่างเช่น: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • รหัสโครงการ : ผู้ใช้กำหนดระบุเฉพาะสำหรับโครงการในทุก Firebase และ Google เมฆ ตัวระบุนี้อาจปรากฏใน URL หรือชื่อสำหรับทรัพยากร Firebase บางอย่าง แต่โดยทั่วไปควรถือเป็นชื่อแทนอำนวยความสะดวกในการอ้างอิงโปรเจ็กต์ (ค่าตัวอย่างเช่น: myapp-project-123 )

  • แอพลิเคชัน ID ( "AppID"): ตัวบ่งชี้เฉพาะสำหรับแอป Firebase ในทุก Firebase ที่มีรูปแบบแพลตฟอร์มที่เฉพาะเจาะจง:

    • Firebase iOS Apps: GOOGLE_APP_ID (ค่าตัวอย่างเช่น: 1:1234567890:ios:321abc456def7890 )
      นี้ไม่ได้เป็น Apple ID กำ
    • ปพลิเคชัน Firebase Android: mobilesdk_app_id (ค่าตัวอย่างเช่น: 1:1234567890:android:321abc456def7890 )
      นี้ไม่ได้เป็นชื่อแพคเกจของ Android หรือ Android ID แอพลิเคชัน
    • ปพลิเคชัน Firebase เว็บ: appId (ค่าตัวอย่างเช่น: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

เนื้อหาของไฟล์การกำหนดค่าหรืออ็อบเจ็กต์ Firebase ถือเป็นสาธารณะ รวมถึง ID เฉพาะแพลตฟอร์มของแอป (iOS บันเดิล ID หรือชื่อแพ็คเกจ Android) และค่าเฉพาะโปรเจ็กต์ Firebase เช่น คีย์ API, ID โปรเจ็กต์, Realtime Database URL และ ชื่อที่เก็บข้อมูล Cloud Storage ให้นี้ใช้ Firebase กฎการรักษาความปลอดภัยเพื่อปกป้องข้อมูลและไฟล์ของคุณใน เรียลไทม์ฐานข้อมูล , เมฆ FireStore และ การจัดเก็บเมฆ

สำหรับโปรเจ็กต์โอเพนซอร์ส โดยทั่วไปเราไม่แนะนำให้รวมไฟล์การกำหนดค่า Firebase หรือออบเจ็กต์ในการควบคุมแหล่งที่มา เนื่องจากในกรณีส่วนใหญ่ ผู้ใช้ของคุณควรสร้างโปรเจ็กต์ Firebase ของตนเองและชี้แอปไปที่ทรัพยากร Firebase ของตนเอง (ผ่านการกำหนดค่า Firebase ของตนเอง ไฟล์หรือวัตถุ)

การจัดการโปรเจ็กต์ Firebase

ตรวจสอบให้แน่ใจที่จะทบทวน โครงการระดับทั่วไปปฏิบัติที่ดีที่สุด (ที่ด้านล่างของหน้านี้) สำหรับการพิจารณาที่อาจส่งผลกระทบต่อวิธีที่คุณจัดการโครงการ Firebase

เครื่องมือในการจัดการโครงการ

คอนโซล Firebase

Firebase คอนโซล ข้อเสนอสภาพแวดล้อมที่ร่ำรวยที่สุดสำหรับการจัดการผลิตภัณฑ์ Firebase ปพลิเคชันและการตั้งค่าระดับโครงการ

คอนโซล Firebase - หน้าจอภาพรวมโครงการ

แผงด้านซ้ายของคอนโซลแสดงรายการผลิตภัณฑ์ Firebase ซึ่งจัดตามหมวดหมู่ระดับบนสุด ที่ด้านบนของแผงด้านซ้ายด้านการเข้าถึงการตั้งค่าของโครงการโดยการคลิกที่ การตั้งค่าโครงการรวมถึง การผนวกรวม , สิทธิ์ในการเข้าถึง และ การเรียกเก็บเงิน

ตรงกลางคอนโซลจะแสดงปุ่มต่างๆ ที่เรียกใช้เวิร์กโฟลว์การตั้งค่าเพื่อลงทะเบียนแอปประเภทต่างๆ หลังจากที่คุณเริ่มใช้ Firebase พื้นที่หลักของคอนโซลจะเปลี่ยนเป็นแดชบอร์ดที่แสดงสถิติเกี่ยวกับผลิตภัณฑ์ที่คุณใช้

Firebase CLI (เครื่องมือบรรทัดคำสั่ง)

Firebase ยังมี Firebase CLI สำหรับการกำหนดค่าและการจัดการผลิตภัณฑ์ที่เฉพาะเจาะจง Firebase เช่น Firebase โฮสติ้งและฟังก์ชั่นคลาวด์สำหรับ Firebase

หลังจากติดตั้ง CLI คุณได้เข้าสู่ โลก firebase คำสั่ง ใช้ CLI เพื่อ เชื่อมโยงไดเรกทอรีแอปในท้องถิ่นของคุณกับโครงการ Firebase แล้ว ปรับใช้ เวอร์ชันใหม่ของเนื้อหา Firebase เป็นเจ้าภาพหรือปรับปรุงฟังก์ชั่น

การจัดการ Firebase REST API

ใช้ Firebase จัดการ REST API คุณโปรแกรมสามารถจัดการโครงการ Firebase ตัวอย่างเช่นคุณสามารถลงทะเบียนโปรแกรม app ที่มีโครงการหรือรายการปพลิเคชันที่มีการลงทะเบียนไปแล้ว ( iOS | Android | เว็บ )

แนวปฏิบัติที่ดีที่สุดทั่วไป

การเพิ่มแอพในโปรเจ็กต์

ตรวจสอบให้แน่ใจว่าปพลิเคชันทั้งหมดภายในโครงการเป็นแพลตฟอร์มที่แตกต่างของโปรแกรมเดียวกันจากมุมมองของผู้ใช้ปลายทาง ขอแนะนำให้ลงทะเบียนแอปหรือเกมเดียวกันในเวอร์ชัน iOS, Android และเว็บด้วยโปรเจ็กต์ Firebase เดียวกัน โดยทั่วไป แอปทั้งหมดในโปรเจ็กต์จะแชร์ทรัพยากร Firebase เดียวกัน (ฐานข้อมูล ที่เก็บข้อมูลของพื้นที่เก็บข้อมูล ฯลฯ)

หากคุณมีหลายสร้างสายพันธุ์ที่แตกต่างกันกับ iOS มัดรหัสหรือชื่อแพคเกจที่กำหนด Android คุณสามารถลงทะเบียนในแต่ละที่แตกต่างกับโครงการ Firebase แยกต่างหาก แต่ถ้าคุณมีสายพันธุ์ร่วมกันที่ทรัพยากร Firebase เดียวกันพวกเขาลงทะเบียนกับโครงการ Firebase เดียวกัน

ข้อจำกัดทั่วไปบางประการสำหรับโปรเจ็กต์ แอป และเว็บไซต์ Firebase มีดังนี้

  • จำนวนโครงการต่อบัญชี

    • แผนการกำหนดราคา Spark — โควต้าการสร้างโครงการจำกัดให้มีจำนวนโปรเจ็กต์ที่ต่ำกว่า (โดยปกติประมาณ 5-10)
    • แผนการกำหนดราคา Blaze — โควตาการสร้างโปรเจ็กต์ต่อบัญชีจะเพิ่มขึ้นอย่างมากตราบใดที่บัญชีสำหรับการเรียกเก็บเงินในระบบคลาวด์ที่เกี่ยวข้องอยู่ในสถานะดี

    ขีด จำกัด โควต้าโครงการสร้างจะไม่ค่อยมีความกังวลสำหรับนักพัฒนาส่วนใหญ่ แต่ถ้าจำเป็นคุณสามารถ ขอเพิ่มโควต้าในโครงการ

    โปรดทราบว่าการลบโปรเจ็กต์โดยสมบูรณ์ต้องใช้เวลา 30 วันและนับรวมในโควตาโปรเจ็กต์จนกว่าโปรเจ็กต์จะถูกลบโดยสมบูรณ์

  • จำนวนแอพต่อโปรเจ็กต์

    Firebase จำกัดจำนวนแอป Firebase ทั้งหมดภายในโปรเจ็กต์ Firebase ไว้ที่ 30 รายการ

    คุณควรตรวจสอบว่าแอป Firebase ทั้งหมดภายในโปรเจ็กต์ Firebase เดียวเป็นเวอร์ชันแพลตฟอร์มของแอปพลิเคชันเดียวกันจากมุมมองของผู้ใช้ปลายทาง อ่านข้อมูลเพิ่มเติมเกี่ยวกับวิธีปฏิบัติที่ดีที่สุดสำหรับ หลายครอบครอง ด้านล่าง

    เรียนรู้เพิ่มเติมเกี่ยวกับ ข้อ จำกัด เกี่ยวกับแอพพลิเคต่อโครงการ ในคำถามที่พบบ่อย

  • จำนวนเว็บไซต์โฮสติ้งต่อโครงการ

    Firebase Hosting คุณลักษณะ MultiSite การ สนับสนุนสูงสุดของ 36 เว็บไซต์ต่อโครงการ

ผู้เช่าหลายราย

ไม่แนะนำให้เชื่อมต่อแอปและ/หรือเว็บไซต์ที่เป็นอิสระทางตรรกะหลายรายการกับโปรเจ็กต์ Firebase เดียว (มักเรียกว่า "ผู้เช่าหลายราย") การเช่าหลายรายการอาจนำไปสู่ปัญหาด้านการกำหนดค่าและความเป็นส่วนตัวของข้อมูลที่ร้ายแรง ซึ่งรวมถึงปัญหาที่ไม่ได้ตั้งใจด้วยการรวมการวิเคราะห์ การตรวจสอบสิทธิ์ที่ใช้ร่วมกัน โครงสร้างฐานข้อมูลที่ซับซ้อนเกินไป และปัญหากับกฎความปลอดภัย

โดยทั่วไปถ้าชุดของปพลิเคชันจะไม่เปิดเผยข้อมูลเดียวกันและการกำหนดค่าขอพิจารณาการลงทะเบียนแต่ละ app กับโครงการ Firebase ที่แตกต่างกัน

ตัวอย่างเช่น หากคุณพัฒนาแอปพลิเคชันไวท์เลเบล แอปที่ติดป้ายกำกับแยกกันควรมีโปรเจ็กต์ Firebase ของตัวเอง แต่ป้ายกำกับนั้นในเวอร์ชัน iOS และ Android สามารถอยู่ในโปรเจ็กต์เดียวกันได้ แอปที่มีป้ายกำกับแยกกันแต่ละแอปไม่ควรแชร์ข้อมูลกับผู้อื่น (ด้วยเหตุผลด้านความเป็นส่วนตัว)

กำลังเปิดแอปของคุณ