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