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