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

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

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

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

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

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

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

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

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

ตรวจสอบว่าโปรเจ็กต์และแอป 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 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แบบทดลองไม่มีผลต่อผู้ใช้รุ่นที่เผยแพร่ และมีการกระจายค่าเริ่มต้นของเซิร์ฟเวอร์และค่าเริ่มต้นในแอปที่เหมาะสมใน แอปของคุณ