Check out what’s new from Firebase at Google I/O 2022. Learn more

แก้ไขปัญหาตัวเลือกการเริ่มต้น

หากคุณเริ่มต้นแอปโดยไม่มีชุดตัวเลือก Firebase ที่ถูกต้อง ผู้ใช้ใหม่ของแอปพลิเคชันของคุณจะประสบปัญหาร้ายแรง

ตัวเลือก Firebase คือชุดของพารามิเตอร์ที่จำเป็นสำหรับบริการต่างๆ เพื่อสื่อสารกับ API เซิร์ฟเวอร์ Firebase ได้สำเร็จ และเพื่อเชื่อมโยงข้อมูลไคลเอ็นต์กับโปรเจ็กต์ Firebase และแอปพลิเคชัน Firebase บริการ Firebase อาศัยตัวเลือก Firebase ที่ถูกต้องซึ่งมีให้จากไลบรารีหลักของ Firebase/ไลบรารีทั่วไปที่สร้างขึ้นระหว่างการเริ่มต้น Firebase

บริการ Firebase ที่แตกต่างกันต้องการตัวเลือก Firebase ที่แตกต่างกันเพื่อให้ทำงานได้อย่างถูกต้อง แต่บริการ Firebase ทั้งหมดต้องการตัวเลือก Firebase ต่อไปนี้:

  • คีย์ API - หมายเหตุ: นี่ ไม่ใช่ คีย์เซิร์ฟเวอร์ FCM โปรดดู ที่คีย์เซิร์ฟเวอร์ FCM
    ตัวอย่างค่า: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
  • รหัสโครงการ - ตัวอย่างค่า: myapp-project-123
  • ID แอปพลิเคชัน ("AppID") - ตัวระบุที่ไม่ซ้ำสำหรับแอปของคุณซึ่งมีรูปแบบขึ้นอยู่กับแพลตฟอร์ม:
    • สำหรับ Android: mobilesdk_app_id หมายเหตุ: นี่ไม่ใช่ชื่อแพ็คเกจของ Android
      ค่าตัวอย่าง: 1:1234567890:android:321abc456def7890
    • สำหรับ iOS+: GOOGLE_APP_ID —หมายเหตุ: ไม่ใช่ Apple Bundle ID
      ค่าตัวอย่าง: 1:1234567890:ios:321abc456def7890

แก้ปัญหาแอพ Android

เพื่อปรับปรุงความปลอดภัย Firebase SDK จะอัปเดต ในวันที่ 27 กุมภาพันธ์ และหลังจากนั้นได้แทนที่บริการ Firebase Instance ID ด้วยการพึ่งพา Firebase Installations API

การติดตั้ง Firebase บังคับใช้การมีอยู่และความถูกต้องของคีย์ API ตัวเลือก Firebase รหัสโปรเจ็กต์ และรหัสแอปพลิเคชัน เพื่อเชื่อมโยงข้อมูลไคลเอ็นต์กับโปรเจ็กต์ Firebase ดู FirebaseOptions สำหรับข้อมูลเพิ่มเติม

Firebase Cloud Messaging (FCM) พร้อม Firebase Instance ID (IID)

หากผู้ใช้ใหม่ของแอปกำลังประสบปัญหากับ FCM เป็นไปได้ว่าคุณกำลังเริ่มต้น Firebase โดยไม่มีชุดตัวเลือก Firebase ที่จำเป็น

แอปพลิเคชันของคุณอาจใช้ไฟล์การกำหนดค่า google-services.json ที่ไม่สมบูรณ์หรือผิดพลาด หรือแอปของคุณกำลัง เริ่มต้น Firebase โดยทางโปรแกรม โดยไม่มีตัวเลือก Firebase ที่จำเป็นครบชุด

ด้วยเหตุนี้ บริการ Firebase เช่น Firebase Cloud Messaging จะทำงานผิดพลาดสำหรับผู้ใช้ปลายทางที่ติดตั้งแอปของคุณหลังจากที่เผยแพร่พร้อมกับ Firebase SDK ที่อัปเดตแล้ว นอกจากนี้ คำขอที่ล้มเหลวซ้ำแล้วซ้ำเล่าไปยัง Firebase อาจทำให้ประสบการณ์ของผู้ใช้ปลายทางของแอปช้าลง

ฉันต้องทำอย่างไร?

วิธีแก้ไขบริการ Firebase ที่ทำงานผิดปกติสำหรับแอปพลิเคชันของคุณ:

  1. อัปเดตแอปพลิเคชันของคุณโดยเริ่มต้น Firebase ด้วยคีย์ API ที่ถูกต้องของโปรเจ็กต์ รหัสโปรเจ็กต์ที่ถูกต้อง และ ID แอปพลิเคชันที่ถูกต้อง ( mobilesdk_app_id หรือ "App Id")
    • กระบวนการเริ่มต้นเริ่มต้นโดยใช้ไฟล์กำหนดค่า Firebase : ดาวน์โหลดไฟล์กำหนดค่า google-services.json จากคอนโซล Firebase จากนั้นแทนที่ไฟล์ที่มีอยู่ในแอปของคุณ
    • การเริ่มต้นแบบเป็นโปรแกรมโดยใช้ออบเจ็กต์ FirebaseOptions : ดาวน์โหลดไฟล์กำหนดค่า google-services.json จากคอนโซล Firebase เพื่อค้นหาคีย์ API, ID โปรเจ็กต์ และ ID แอปพลิเคชัน จากนั้นอัปเดตค่าเหล่านี้ในออบเจ็กต์ FirebaseOptions ในแอปของคุณ
  2. เผยแพร่แอปเวอร์ชันใหม่ของคุณไปที่ Play Store

แก้ปัญหาแอพ Apple

เพื่อปรับปรุงความปลอดภัย Firebase SDK จะอัปเดต ในวันที่ 14 มกราคม และหลังจากนั้นได้แทนที่บริการ Firebase Instance ID ด้วยการพึ่งพา Firebase Installations API

การติดตั้ง Firebase บังคับใช้การมีอยู่และความถูกต้องของคีย์ API ตัวเลือก Firebase รหัสโปรเจ็กต์ และรหัสแอปพลิเคชัน เพื่อเชื่อมโยงข้อมูลไคลเอ็นต์กับโปรเจ็กต์ Firebase ดู FIROptions สำหรับข้อมูลเพิ่มเติม

Firebase Cloud Messaging (FCM) พร้อม Firebase Instance ID (IID)

หากผู้ใช้ใหม่ของแอปกำลังประสบปัญหากับ FCM เป็นไปได้ว่าคุณกำลังเริ่มต้น Firebase โดยไม่มีชุดตัวเลือก Firebase ที่จำเป็น

แอปพลิเคชันของคุณอาจใช้ไฟล์การกำหนดค่า GoogleService-Info.plist ที่ไม่สมบูรณ์หรือไม่ถูกต้อง หรือแอปของคุณกำลัง เริ่มต้น Firebase โดยทางโปรแกรม โดยไม่มีตัวเลือก Firebase ที่จำเป็นครบชุด

ด้วยเหตุนี้ บริการ Firebase เช่น Firebase Cloud Messaging จะทำงานผิดพลาดสำหรับผู้ใช้ปลายทางที่ติดตั้งแอปของคุณหลังจากที่เผยแพร่พร้อมกับ Firebase SDK ที่อัปเดตแล้ว นอกจากนี้ คำขอที่ล้มเหลวซ้ำแล้วซ้ำอีกไปยัง Firebase อาจทำให้ประสบการณ์ผู้ใช้ปลายทางของแอปของคุณช้าลง

ฉันต้องทำอย่างไร?

วิธีแก้ไขบริการ Firebase ที่ทำงานผิดปกติสำหรับแอปพลิเคชันของคุณ:

  1. อัปเดตแอปพลิเคชันของคุณโดยเริ่มต้น Firebase ด้วยคีย์ API ที่ถูกต้องของโปรเจ็กต์ รหัสโปรเจ็กต์ที่ถูกต้อง และ ID แอปพลิเคชันที่ถูกต้อง ( GOOGLE_APP_ID หรือ "App Id")
    1. กระบวนการเริ่มต้นเริ่มต้นโดยใช้ไฟล์กำหนดค่า Firebase : ดาวน์โหลดไฟล์กำหนดค่า GoogleService-Info.plist จากคอนโซล Firebase จากนั้นแทนที่ไฟล์ที่มีอยู่ในแอปของคุณ
    2. การเริ่มต้นแบบเป็นโปรแกรมโดยใช้อ็อบเจ็กต์ FIROptions : ดาวน์โหลดไฟล์กำหนดค่า GoogleService-Info.plist จากคอนโซล Firebase เพื่อค้นหาคีย์ API, ID โปรเจ็กต์ และ ID แอปพลิเคชัน จากนั้นอัปเดตค่าเหล่านี้ในออบเจ็กต์ FIROptions ในแอปของคุณ
  2. เผยแพร่แอปเวอร์ชันใหม่ของคุณไปที่ App Store

คีย์เซิร์ฟเวอร์ FCM

หากแอปของคุณใช้ คีย์เซิร์ฟเวอร์ FCM แทนคีย์ Cloud API อาจทำให้เกิดช่องโหว่ด้านความปลอดภัยในกรณีที่คุณใช้คีย์เซิร์ฟเวอร์ FCM เดียวกันเพื่อส่งการแจ้งเตือนแบบพุชผ่าน FCM ในกรณีนี้ เราขอแนะนำให้คุณแก้ไขวิธีที่เซิร์ฟเวอร์ ตรวจสอบสิทธิ์ในการส่งคำขอไปยัง FCM

โปรดทราบว่าจะต้องไม่รวมคีย์เซิร์ฟเวอร์ FCM (ซึ่งไม่เหมือนกับคีย์ Firebase/Cloud API) ในแอปพลิเคชัน เนื่องจากอาจถูกนำไปใช้ในทางที่ผิดเพื่อส่งการแจ้งเตือนแบบพุชในชื่อโปรเจ็กต์ของคุณ