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