รายการตรวจสอบการเปิดตัว 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 ที่แตกต่างกันสำหรับการพัฒนา การทดสอบ และการใช้งานจริง

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

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

  • หากยังไม่ได้ดำเนินการ โปรดพิจารณาตั้งค่า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 เพื่อเริ่มรวบรวมข้อมูลวิเคราะห์ ตั้งแต่เปิดตัวแอป

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

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

  • ตรวจสอบการตั้งค่าสำหรับบทบาท 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 ของ SDK จะเพิ่มขนาด APK ได้

Cloud Messaging

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

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

Cloud Storage

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

Crashlytics

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

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

  • (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 เพื่อให้คุณวิเคราะห์ข้อมูลด้วย SQL ของ BigQuery หรือส่งออกข้อมูล เพื่อใช้กับเครื่องมือของคุณเองได้

Realtime Database

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

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

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

Remote Config

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

  • พิจารณา กำหนดค่าพารามิเตอร์ minimum_version ใน Remote Config เพื่อให้คุณแจ้งหรือกำหนดให้ผู้ใช้อัปเดตแอป หากเวอร์ชันก่อนหน้าใช้ร่วมกันไม่ได้หรือเลิกใช้งานแล้ว