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