รายการตรวจสอบการเปิดตัว Firebase

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

แนวทางปฏิบัติแนะนำโดยทั่วไปสำหรับการเผยแพร่

  • ตรวจสอบว่าคุณได้ทดสอบการเปลี่ยนแปลงทั้งหมดใน Firebase Local Emulator Suite (สำหรับผลิตภัณฑ์ที่รองรับ) ก่อนที่จะติดตั้งใช้งานในเวอร์ชันที่ใช้งานจริง การทดสอบอย่างละเอียดจะช่วยป้องกันข้อผิดพลาดที่อาจมีค่าใช้จ่ายสูง

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

  • ตรวจสอบรายการตรวจสอบความปลอดภัยทั่วไปของ Firebase

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

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

ทราบขีดจำกัดของแพ็กเกจราคาและตั้งค่าการแจ้งเตือนงบประมาณ

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

  • ตั้งค่า การแจ้งเตือนงบประมาณ สำหรับโปรเจ็กต์

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

    • ลองตั้งค่า การแจ้งเตือนและการดำเนินการขั้นสูง, เช่น ฟังก์ชันที่จะปิดใช้การเรียกเก็บเงินเมื่อได้รับการแจ้งเตือน

    • หากคุณใช้ Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase และ Firebase Extensions เราขอแนะนำอย่างยิ่งให้ คุณตั้งค่าขีดจำกัดการใช้จ่าย ด้วย ซึ่งจะหยุดบริการที่เกี่ยวข้องชั่วคราวหากโปรเจ็กต์ของคุณใช้งบประมาณถึงจำนวนที่ตั้งไว้สำหรับบริการนั้น

  • ตรวจสอบการใช้งานในแดชบอร์ดเฉพาะผลิตภัณฑ์หรือ ใน การใช้งานและการเรียกเก็บเงินแดชบอร์ด ในFirebaseคอนโซล

ตรวจสอบว่าโปรเจ็กต์และแอป Firebase เป็นไปตามแนวทางปฏิบัติแนะนำ

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

โปรดทราบว่าโปรเจ็กต์ Firebase เป็นเพียงGoogle Cloud โปรเจ็กต์ที่เปิดใช้บริการและการกำหนดค่า Firebase ซึ่งหมายความว่าแนวทางปฏิบัติแนะนำมากมายที่ Google Cloud แนะนำก็ใช้ได้กับ Firebase ด้วย

  • ใช้โปรเจ็กต์ Firebase ที่แตกต่างกันสำหรับการพัฒนา การทดสอบ และเวอร์ชันที่ใช้งานจริง

    พยายามจำกัดการเปิดเผยโปรเจ็กต์ที่เชื่อมโยงกับ แอปเวอร์ชันที่ใช้งานจริงโดยไม่คาดคิด ดูข้อมูลเพิ่มเติมเกี่ยวกับ การตั้งค่าเวิร์กโฟลว์การพัฒนา

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

    • ใช้ สิทธิ์ยึดหน่วงโปรเจ็กต์ เพื่อป้องกันการลบโปรเจ็กต์โดยไม่ตั้งใจ

    • ใช้ แท็ก"Prod" ภายใน Firebaseคอนโซล เพื่อให้ระบุสภาพแวดล้อม เวอร์ชันที่ใช้งานจริงได้ง่ายขึ้น

  • หากยังไม่ได้ทำ ให้ลองตั้งค่า Google Cloud องค์กร และเพิ่ม โปรเจ็กต์ Firebase ลงในองค์กร

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

  • เพิ่มสมาชิกโปรเจ็กต์ (หรือที่เรียกว่า "ผู้มีสิทธิ์") เป็นกลุ่ม Google แทนที่จะเพิ่มทีละคน

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

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

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

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

  • จำกัดคีย์ API ของ Firebase ให้ใช้ได้เฉพาะกับ API ที่ ต้องอยู่ใน รายการที่อนุญาตของคีย์ API นอกจากนี้ โปรดดูข้อมูลเกี่ยวกับคีย์ API ใน รายการตรวจสอบความปลอดภัยของ Firebase

เตรียมบริการที่เฉพาะเจาะจงซึ่งใช้ในแอป

ผลิตภัณฑ์และบริการแต่ละรายการที่ใช้ในแอปอาจมีสิ่งที่ควรพิจารณาที่เฉพาะเจาะจงเมื่อใช้ในเวอร์ชันที่ใช้งานจริง

Firebase AI Logic

Google Analytics

  • กำหนดเงื่อนไขกลุ่มเป้าหมายสำหรับ Google Analytics เพื่อเริ่มเก็บรวบรวมข้อมูล Analytics ตั้งแต่เปิดตัวแอป

  • ลองเปิดใช้การส่งออกข้อมูล Google Analytics ไปยัง BigQuery เพื่อให้คุณวิเคราะห์ข้อมูลด้วย BigQuery SQL หรือส่งออก ข้อมูลเพื่อใช้กับเครื่องมือของคุณเองได้

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

  • ตรวจสอบการตั้งค่าสำหรับ Google Analytics บทบาท สำหรับ Google Analyticsพร็อพเพอร์ตี้และบัญชีของคุณ สิทธิ์เหล่านี้จะได้รับการจัดการแยกกันจากสิทธิ์และบทบาท IAM ของโปรเจ็กต์ Firebase

  • ตรวจสอบว่ารหัส App Store และรหัสทีม (หากจำเป็น) ถูกต้องใน การตั้งค่าโปรเจ็กต์ ของคอนโซล Firebase

App Check

  • ตรวจสอบว่ารหัสทีมถูกต้องใน การตั้งค่าโปรเจ็กต์ ของคอนโซล Firebase

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

Authentication

  • ปิดใช้ ผู้ให้บริการ ที่คุณไม่ได้ใช้ (โดยเฉพาะการตรวจสอบสิทธิ์แบบไม่ระบุตัวตน)

  • หากแอปใช้การลงชื่อเข้าใช้ด้วย Google ให้ปรับ หน้าจอขอความยินยอม OAuth ในแบบของคุณ

  • ปรับแต่งโดเมนและผู้ส่งสำหรับ Authentication บริการส่งอีเมล

  • หากคุณใช้บริการยืนยันทาง SMS ของ Identity Platform ให้เริ่ม บังคับใช้ Firebase App Check และกำหนดค่านโยบาย ภูมิภาค SMS เพื่อปกป้องแอปจากการละเมิดทาง SMS

  • ใช้การจัดการข้อผิดพลาดในแพลตฟอร์ม Apple สำหรับ ข้อผิดพลาดAuthenticationที่พบบ่อย

  • เพิ่มแฮช SHA-1 ของรุ่นสำหรับใบรับรองการลงนามของแอปใน การตั้งค่าโปรเจ็กต์ ของคอนโซล Firebase ระบบจำเป็นต้องใช้แฮช SHA-1 หากแอปใช้การลงชื่อเข้าใช้ด้วยหมายเลขโทรศัพท์หรือการลงชื่อเข้าใช้ด้วย Google (ซึ่งมีข้อกำหนดไคลเอ็นต์ OAuth)

  • เพิ่มการควบคุมการเข้าถึงสำหรับโดเมนเพื่อป้องกันการใช้งานที่ไม่ได้รับอนุญาต โดยเฉพาะอย่างยิ่ง ให้สิทธิ์เข้าถึงโดเมนเวอร์ชันที่ใช้งานจริงใน ส่วน Authentication ของคอนโซล Firebase (สำคัญอย่างยิ่งหากคุณใช้ผลิตภัณฑ์ที่ ต้องอาศัย Firebase Security Rules)

Cloud Firestore

  • กำหนดค่า Cloud Firestore Security Rules เพื่อป้องกัน การเข้าถึงข้อมูลโดยไม่ตั้งใจ

  • ใช้ ProGuard เพื่อลดขนาดโค้ด ในบิลด์ที่เผยแพร่ หากไม่มี ProGuard, Cloud Firestore SDK และทรัพยากร Dependency อาจทำให้ขนาด APK เพิ่มขึ้น

Cloud Messaging

  • ลองเปิดใช้การส่งออกข้อมูล Cloud Messaging ไปยัง BigQuery เพื่อให้คุณวิเคราะห์ข้อมูลด้วย BigQuery SQL หรือส่งออก ข้อมูลเพื่อใช้กับเครื่องมือของคุณเองได้

  • อัปโหลดคีย์การตรวจสอบสิทธิ์ APNs สำหรับ Cloud Messaging ใน แอป Apple ใน Firebase คอนโซล หากใช้ใบรับรอง APNs ให้ตรวจสอบว่าได้อัปโหลดใบรับรอง APNs เวอร์ชันที่ใช้งานจริงแล้ว

Cloud Storage

  • กำหนดค่า Cloud Storage Security Rules เพื่อป้องกันการเข้าถึงข้อมูลโดยไม่ตั้งใจ

Crashlytics

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

  • ลอง เปิดใช้การส่งออกข้อมูล Crashlytics ไปยัง BigQuery เพื่อให้คุณวิเคราะห์ข้อมูลด้วย BigQuery SQL หรือส่งออก ข้อมูลเพื่อใช้กับเครื่องมือของคุณเองได้

  • (Android และ iOS แบบเนทีฟเท่านั้น) ลองเปิดใช้ ความช่วยเหลือจาก AI ใน Crashlytics เพื่อช่วย เร่งเวลาที่คุณใช้ในการทำความเข้าใจสาเหตุที่เกิดข้อขัดข้องและ สิ่งที่ต้องทำ

  • อัปโหลดไฟล์ dSYM สำหรับบิลด์ที่เผยแพร่เพื่อใช้ใน Crashlytics ตรวจสอบว่า Xcode สามารถ ประมวลผล dSYM และอัปโหลดไฟล์ได้โดยอัตโนมัติ

  • อัปโหลด การแมป ProGuard สำหรับบิลด์ที่เผยแพร่เพื่อใช้ใน Crashlytics. คุณอัปโหลดได้โดยใช้ Firebase CLI

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

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

Firebase ML

Performance Monitoring

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

  • ลอง เปิดใช้การส่งออกข้อมูล Performance Monitoring ไปยัง BigQuery เพื่อให้คุณวิเคราะห์ข้อมูลด้วย BigQuery SQL หรือส่งออก ข้อมูลเพื่อใช้กับเครื่องมือของคุณเองได้

Realtime Database

  • กำหนดค่า Realtime Database Security Rules เพื่อป้องกันการเข้าถึงข้อมูล โดยไม่ตั้งใจ

  • ตรวจสอบว่าคุณพร้อมที่จะขยายขนาดแล้ว Realtime Database มี โควต้าเริ่มต้น ที่ใหญ่พอสำหรับแอปพลิเคชันส่วนใหญ่ แต่บางแอปอาจต้องใช้ความจุเพิ่มเติม

  • กำหนดค่ากฎ ProGuard ให้ทำงานร่วมกับ Realtime Database.

Remote Config

  • ตรวจสอบว่ากฎ Remote Config ที่เป็นแบบทดลองจะไม่ส่งผลกระทบต่อผู้ใช้ที่เผยแพร่ และมีการเผยแพร่ค่าเริ่มต้นของเซิร์ฟเวอร์และค่าเริ่มต้นในแอปที่เหมาะสมใน แอปของคุณ