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

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

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

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

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

  • โปรเจ็กต์ Firebase สามารถมี Firebase App อย่างน้อย 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 เดียวกัน แอปแต่ละแอปที่ติดป้ายกำกับแยกกันไม่ควรแชร์ข้อมูลกับแอปอื่นๆ (ด้วยเหตุผลด้านความเป็นส่วนตัว)

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