เอกสารนี้มีรายการตรวจสอบแนวทางปฏิบัติแนะนำและข้อควรพิจารณาก่อน เปิดตัวแอป 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 เพื่อเริ่มรวบรวมข้อมูลวิเคราะห์ ตั้งแต่เปิดตัวแอป
พิจารณา เปิดใช้การส่งออกข้อมูล 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 ให้ตรวจสอบว่าคุณได้อัปโหลดสัญลักษณ์ดั้งเดิม สําหรับการเรียกใช้บิลด์แต่ละรายการที่คุณต้องการมีสัญลักษณ์ ไม่ว่า จะมีการเปลี่ยนแปลงโค้ดหรือการกําหนดค่าหรือไม่ก็ตาม
Dynamic Links
- Dynamic Links จะเลิกใช้งานแล้ว เราจึงขอแนะนำให้ย้ายข้อมูลออกจากบริการ ดูข้อมูลเพิ่มเติมได้ในคำถามที่พบบ่อยเกี่ยวกับการเลิกใช้งาน
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 เพื่อให้คุณแจ้งหรือกำหนดให้ผู้ใช้อัปเดตแอป หากเวอร์ชันก่อนหน้าใช้ร่วมกันไม่ได้หรือเลิกใช้งานแล้ว