แนวทางปฏิบัติแนะนำทั่วไปในการตั้งค่าโปรเจ็กต์ Firebase

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

ทำความเข้าใจลำดับชั้นของโปรเจ็กต์ Firebase

แผนภาพแสดงลำดับชั้นพื้นฐานของโปรเจ็กต์ 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 แต่ละแอปจะเป็นสตรีมข้อมูลแยกกันในพร็อพเพอร์ตี้นั้น

โปรเจ็กต์ Google Cloud มีบทบาทอย่างไรในลำดับชั้นนี้

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับความสัมพันธ์ระหว่าง Firebase กับ Google Cloud ได้ที่ ทำความเข้าใจโปรเจ็กต์ Firebase

การลงทะเบียนแอปเวอร์ชันต่างๆ กับโปรเจ็กต์ Firebase

เคล็ดลับสำคัญบางประการสำหรับการลงทะเบียนแอปเวอร์ชันต่างๆ กับโปรเจ็กต์ Firebase มีดังนี้

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

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

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

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

    • แอปเวอร์ชันต่างๆ ในแพลตฟอร์มต่างๆ ของแอปเวอร์ชันแต่ละรายการควรอยู่ในโปรเจ็กต์ Firebase เดียวกัน ตัวอย่างเช่น ให้ลงทะเบียนทั้งแอปเวอร์ชันดีบัก iOS และ Android ในโปรเจ็กต์ Firebase "dev" เนื่องจากทั้ง 2 เวอร์ชันสามารถโต้ตอบกับข้อมูลและทรัพยากรที่ไม่ใช่โปรดักชันเดียวกันได้

หลีกเลี่ยงการใช้หลายผู้เช่า

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

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

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

ขั้นตอนถัดไป