รายการตรวจสอบการเปิดตัว 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

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

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

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

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

Vertex AI in Firebase