เอกสารนี้มีรายการตรวจสอบแนวทางปฏิบัติแนะนำและสิ่งที่ควรพิจารณาก่อนเปิดตัวแอป Firebase ไปยังเวอร์ชันที่ใช้งานจริง
แนวทางปฏิบัติแนะนำโดยทั่วไปสำหรับการเผยแพร่
ตรวจสอบว่าคุณได้ทดสอบการเปลี่ยนแปลงทั้งหมดใน Firebase Local Emulator Suite (สำหรับผลิตภัณฑ์ที่รองรับ) ก่อนที่จะติดตั้งใช้งานในเวอร์ชันที่ใช้งานจริง การทดสอบอย่างละเอียดจะช่วยป้องกันข้อผิดพลาดที่อาจมีค่าใช้จ่ายสูง
เริ่ม บังคับใช้ Firebase App Check สำหรับทุกบริการที่รองรับ App Check ช่วยให้มั่นใจได้ว่าเฉพาะแอปของคุณเท่านั้นที่จะเข้าถึงบริการและทรัพยากรแบ็กเอนด์ได้
ใช้ Firebase Remote Config การเปิดตัวแบบค่อยเป็นค่อยไป เพื่อ เผยแพร่ฟีเจอร์และการอัปเดตใหม่ๆ ไปยังแอปของคุณอย่างปลอดภัยและค่อยๆ เป็นค่อยไป
หากยังไม่ได้ทำ ให้พิจารณาตั้งค่า Firebase Crashlytics ซึ่งเป็นเครื่องมือรายงานข้อขัดข้องแบบเรียลไทม์ที่มีขนาดเล็ก ซึ่งจะช่วยให้คุณติดตาม จัดลำดับความสำคัญ และแก้ไขปัญหาด้านความเสถียรที่ทำให้คุณภาพของแอปแย่ลงได้
ทราบขีดจำกัดของแพ็กเกจราคาและตั้งค่าการแจ้งเตือนงบประมาณ
ตรวจสอบว่าคุณไม่ได้ใช้งานถึงขีดจำกัดและโควต้าหลังจากเปิดตัวแอปไปยังเวอร์ชันที่ใช้งานจริง โดยเฉพาะอย่างยิ่งหากคุณใช้แพ็กเกจ Spark แบบไม่มีค่าใช้จ่าย พิจารณาอัปเกรดเป็นแพ็กเกจราคา Blaze แบบจ่ายเมื่อใช้
ตั้งค่า การแจ้งเตือนงบประมาณ สำหรับโปรเจ็กต์
โปรดทราบว่าการแจ้งเตือนงบประมาณ ไม่ใช่ ขีดจำกัดสูงสุด ของงบประมาณ ระบบจะส่งการแจ้งเตือนให้คุณเมื่อคุณใช้งานใกล้ถึงหรือเกินเกณฑ์ที่กำหนดค่าไว้ เพื่อให้คุณดำเนินการในแอปหรือโปรเจ็กต์ได้
พิจารณาตั้งค่า การแจ้งเตือนและการดำเนินการขั้นสูง, เช่น ฟังก์ชันที่จะปิดใช้การเรียกเก็บเงินเมื่อได้รับการแจ้งเตือน
หากคุณใช้ Firebase AI Logic, 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
นอกจากนี้ คุณยังเลือกปรับแต่ง "ผู้ติดต่อที่จำเป็น" ของโปรเจ็กต์ได้หากต้องการให้สมาชิกโปรเจ็กต์ที่เฉพาะเจาะจงหรือสมาชิกเพิ่มเติมได้รับการแจ้งเตือน ซึ่งจะเป็นประโยชน์อย่างยิ่งในการตรวจสอบว่ามีผู้รับการแจ้งเตือนเกี่ยวกับการเรียกเก็บเงิน การเปลี่ยนแปลงทางกฎหมาย และการเปลี่ยนแปลงผลิตภัณฑ์มากกว่าเพียงเจ้าของโปรเจ็กต์
จำกัดคีย์ Firebase API ให้ใช้ได้เฉพาะกับ 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 ให้ ตรวจสอบว่าคุณได้ อัปโหลดสัญลักษณ์แบบเนทีฟ สำหรับการเรียกใช้บิลด์แต่ละครั้งที่คุณต้องการให้มีสัญลักษณ์ ไม่ว่าจะมี โค้ดหรือการเปลี่ยนแปลงการกำหนดค่าหรือไม่ก็ตาม
Dynamic Links
- Dynamic Links เลิกใช้งานแล้ว เราจึงขอแนะนำให้ย้ายข้อมูลออกจาก บริการ ดูข้อมูลเพิ่มเติมได้ในคำถามที่พบบ่อยเกี่ยวกับการเลิกใช้งาน
Firebase ML
ดู หัวข้อเตรียมแ3/} แอป Apple สำหรับเวอร์ชันที่ใช้งานจริงFirebase ML
ดูหัวข้อ เตรียมแอป Android สำหรับเวอร์ชันที่ใช้งานจริง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 ที่เป็นแบบทดลองจะไม่ส่งผลกระทบต่อผู้ใช้ที่เผยแพร่ และมีการเผยแพร่ค่าเริ่มต้นของเซิร์ฟเวอร์และค่าเริ่มต้นในแอปที่เหมาะสมใน แอป