หากคุณเริ่มต้นแอปโดยไม่มีชุดตัวเลือก Firebase ที่ถูกต้อง ผู้ใช้ใหม่ของแอปพลิเคชันจะพบปัญหาร้ายแรง
ตัวเลือก Firebase คือชุดพารามิเตอร์ที่บริการต้องใช้เพื่อให้สื่อสารกับ API ของเซิร์ฟเวอร์ Firebase ได้สำเร็จและเพื่อเชื่อมโยงข้อมูลไคลเอ็นต์กับโปรเจ็กต์ Firebase และแอปพลิเคชัน Firebase บริการ Firebase จะใช้ตัวเลือก Firebase ที่ถูกต้องซึ่งมีอยู่ในไลบรารีหลัก/ทั่วไปของ Firebase ที่สร้างขึ้นระหว่างการเริ่มต้น Firebase
บริการ Firebase ที่แตกต่างกันต้องใช้ตัวเลือก Firebase ที่แตกต่างกันเพื่อให้ทำงานได้อย่างถูกต้อง แต่บริการ Firebase ทั้งหมดต้องใช้ตัวเลือก Firebase ต่อไปนี้
- คีย์ API - หมายเหตุ: ข้อมูลนี้ไม่ใช่คีย์เซิร์ฟเวอร์ FCM โปรดดูคีย์เซิร์ฟเวอร์ FCM
ค่าตัวอย่าง ได้แก่AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
- รหัสโปรเจ็กต์ - ค่าตัวอย่าง เช่น
myapp-project-123
- รหัสแอปพลิเคชัน ("AppID") - ตัวระบุที่ไม่ซ้ำกันสำหรับแอป ซึ่งรูปแบบจะขึ้นอยู่กับแพลตฟอร์ม ดังนี้
- สำหรับ Android:
mobilesdk_app_id
- หมายเหตุ: นี่ไม่ใช่ชื่อแพ็กเกจ Android
ค่าตัวอย่าง ได้แก่1:1234567890:android:321abc456def7890
- สำหรับ iOS+:
GOOGLE_APP_ID
- หมายเหตุ: นี่ไม่ใช่รหัส Apple Bundle
ค่าตัวอย่าง ได้แก่1:1234567890:ios:321abc456def7890
- สำหรับ Android:
แก้ปัญหาแอป Android
Firebase SDK จะอัปเดตในวันที่ 27 กุมภาพันธ์ และหลังจากนั้นได้แทนที่บริการรหัสอินสแตนซ์ Firebase ด้วยทรัพยากร Dependency ใน Firebase SDK Attachs API เพื่อเพิ่มความปลอดภัย
การติดตั้ง Firebase จะบังคับให้มีและความถูกต้องของคีย์ API ตัวเลือก Firebase, รหัสโปรเจ็กต์ และรหัสแอปพลิเคชันที่จำเป็น เพื่อเชื่อมโยงข้อมูลไคลเอ็นต์กับโปรเจ็กต์ Firebase ดูข้อมูลเพิ่มเติมได้ที่ FirebaseOptions
การรับส่งข้อความในระบบคลาวด์ของ Firebase (FCM) ที่มีรหัสอินสแตนซ์ของ Firebase (IID)
หากผู้ใช้ใหม่ของแอปพบปัญหาเกี่ยวกับ FCM อาจเป็นไปได้ว่าคุณเริ่มต้นใช้งาน Firebase โดยไม่มีชุดตัวเลือก Firebase ที่จำเป็น
แอปพลิเคชันอาจใช้ไฟล์การกำหนดค่าที่ไม่สมบูรณ์หรือมีข้อผิดพลาด google-services.json
หรือแอปกำลังเริ่มต้น Firebase โดยใช้โปรแกรมโดยไม่มีตัวเลือก Firebase ที่จำเป็นครบชุด
ด้วยเหตุนี้ บริการของ Firebase เช่น Firebase Cloud Messaging จะทำงานผิดปกติสำหรับผู้ใช้ปลายทางที่ติดตั้งแอปของคุณหลังจากเปิดตัวด้วย Firebase SDK ที่อัปเดตแล้ว นอกจากนี้ การส่งคำขอไปยัง Firebase ที่ไม่สำเร็จซ้ำๆ อาจทำให้ประสบการณ์ของผู้ใช้ปลายทางช้าลงด้วย
สิ่งที่ต้องทำ
วิธีแก้ไขบริการ Firebase ที่ทำงานผิดพลาดสำหรับแอปพลิเคชันของคุณ
- อัปเดตแอปพลิเคชันด้วยการเริ่มต้น Firebase ด้วยคีย์ API ที่ถูกต้องของโปรเจ็กต์ รหัสโปรเจ็กต์ที่ถูกต้อง และรหัสแอปพลิเคชันที่ถูกต้อง (
mobilesdk_app_id
หรือ "รหัสแอป")- กระบวนการเริ่มต้นเริ่มต้นโดยใช้ไฟล์การกำหนดค่า Firebase: ดาวน์โหลดไฟล์กำหนดค่า google-services.json จากคอนโซล Firebase แล้วแทนที่ไฟล์ที่มีอยู่ในแอป
- การเริ่มต้นแบบเป็นโปรแกรมโดยใช้ออบเจ็กต์
FirebaseOptions
: ดาวน์โหลดไฟล์กำหนดค่า google-services.json จากคอนโซล Firebase เพื่อค้นหาคีย์ API, รหัสโปรเจ็กต์ และรหัสแอปพลิเคชัน จากนั้นอัปเดตค่าเหล่านี้ในออบเจ็กต์FirebaseOptions
ในแอป
- เผยแพร่แอปเวอร์ชันใหม่ใน Play Store
แก้ปัญหาแอป Apple
Firebase SDK จะอัปเดตในวันที่ 14 มกราคมและหลังจากนั้นก็แทนที่บริการรหัสอินสแตนซ์ของ Firebase ด้วยทรัพยากร Dependency ใน Firebase SDK Attachs API เพื่อเพิ่มความปลอดภัย
การติดตั้ง Firebase จะบังคับให้มีและความถูกต้องของคีย์ API ตัวเลือก Firebase, รหัสโปรเจ็กต์ และรหัสแอปพลิเคชันที่จำเป็น เพื่อเชื่อมโยงข้อมูลไคลเอ็นต์กับโปรเจ็กต์ Firebase ดูข้อมูลเพิ่มเติมได้ที่ FIROptions
การรับส่งข้อความในระบบคลาวด์ของ Firebase (FCM) ที่มีรหัสอินสแตนซ์ของ Firebase (IID)
หากผู้ใช้ใหม่ของแอปพบปัญหาเกี่ยวกับ FCM อาจเป็นไปได้ว่าคุณเริ่มต้นใช้งาน Firebase โดยไม่มีชุดตัวเลือก Firebase ที่จำเป็น
แอปพลิเคชันอาจใช้ไฟล์การกำหนดค่า GoogleService-Info.plist
ที่ไม่สมบูรณ์หรือไม่ถูกต้อง หรือแอปเริ่มต้น Firebase โดยใช้โปรแกรมโดยไม่มีตัวเลือก Firebase ที่จำเป็นครบชุด
ด้วยเหตุนี้ บริการ Firebase เช่น Firebase Cloud Messaging จะทำงานผิดปกติสำหรับผู้ใช้ปลายทางที่ติดตั้งแอปหลังจากเปิดตัวด้วย Firebase SDK ที่อัปเดตแล้ว นอกจากนี้ การส่งคำขอไปยัง Firebase ที่ไม่สำเร็จซ้ำๆ อาจทำให้ประสบการณ์ของผู้ใช้ปลายทางช้าลงด้วย
สิ่งที่ต้องทำ
วิธีแก้ไขบริการ Firebase ที่ทำงานผิดพลาดสำหรับแอปพลิเคชันของคุณ
- อัปเดตแอปพลิเคชันด้วยการเริ่มต้น Firebase ด้วยคีย์ API ที่ถูกต้องของโปรเจ็กต์ รหัสโปรเจ็กต์ที่ถูกต้อง และรหัสแอปพลิเคชันที่ถูกต้อง (
GOOGLE_APP_ID
หรือ "รหัสแอป")- ขั้นตอนการเริ่มต้นเริ่มต้นโดยใช้ไฟล์การกำหนดค่า Firebase: ดาวน์โหลดไฟล์กำหนดค่า GoogleService-Info.plist จากคอนโซล Firebase จากนั้นแทนที่ไฟล์ที่มีอยู่ในแอป
- การเริ่มต้นแบบเป็นโปรแกรมโดยใช้ออบเจ็กต์
FIROptions
: ดาวน์โหลดไฟล์กำหนดค่า GoogleService-Info.plist จากคอนโซล Firebase เพื่อค้นหาคีย์ API, รหัสโปรเจ็กต์ และรหัสแอปพลิเคชัน จากนั้นอัปเดตค่าเหล่านี้ในออบเจ็กต์FIROptions
ในแอป
- เผยแพร่แอปเวอร์ชันใหม่ใน App Store
คีย์เซิร์ฟเวอร์ FCM
หากแอปของคุณใช้คีย์เซิร์ฟเวอร์ FCM แทนที่จะใช้คีย์ Cloud API อาจทำให้เกิดช่องโหว่ด้านความปลอดภัยในกรณีที่คุณใช้คีย์เซิร์ฟเวอร์ FCM เดียวกันเพื่อส่งข้อความ Push ผ่าน FCM ในกรณีนี้ ขอแนะนำให้คุณแก้ไขวิธีที่เซิร์ฟเวอร์ตรวจสอบสิทธิ์การส่งคำขอไปยัง FCM
โปรดทราบว่าคีย์เซิร์ฟเวอร์ FCM (ซึ่งไม่เหมือนกับคีย์ Firebase/Cloud API) ต้องไม่รวมอยู่ในแอปพลิเคชัน เนื่องจากอาจมีการละเมิดเพื่อส่งข้อความ Push ในชื่อโปรเจ็กต์ของคุณ