เอกสารนี้มีรายการตรวจสอบแนวทางปฏิบัติแนะนำและสิ่งที่ควรพิจารณาก่อนเปิดตัวแอป 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
เตรียมบริการที่เฉพาะเจาะจงซึ่งใช้ในแอป
ผลิตภัณฑ์และบริการแต่ละรายการที่ใช้ในแอปอาจมีข้อควรพิจารณาเฉพาะเมื่อนำไปใช้ในเวอร์ชันที่ใช้งานจริง
Google Analytics
กําหนดเงื่อนไขกลุ่มเป้าหมายสําหรับ Google 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 ของ SDK อาจทำให้ขนาด 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
ดูหัวข้อเตรียมแอป 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 เวอร์ชันทดลองจะไม่ส่งผลต่อผู้ใช้รุ่นต่างๆ และแอปของคุณมีการเผยแพร่ค่าเริ่มต้นที่เหมาะสมสำหรับเซิร์ฟเวอร์และในแอป