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