פתרון בעיות של אפשרויות אתחול

אם אתה מאתחל את האפליקציה שלך ללא קבוצה חוקית של אפשרויות Firebase, משתמשים חדשים באפליקציה שלך יתקלו בבעיות רציניות.

אפשרויות Firebase הן קבוצה של פרמטרים הנדרשים על ידי שירותים כדי לתקשר בהצלחה עם ממשקי API של שרת Firebase ולשייך נתוני לקוח לפרויקט Firebase וליישום Firebase שלך. שירותי Firebase מסתמכים על אפשרויות Firebase חוקיות הזמינות מספריית הליבה/ספריית Firebase המשותפת שנוצרה במהלך האתחול של Firebase.

שירותי Firebase שונים דורשים אפשרויות שונות של Firebase כדי לתפקד כהלכה, אבל כל שירותי Firebase דורשים את האפשרויות הבאות של Firebase:

  • מפתח API - הערה: זה לא מפתח שרת FCM, ראה מפתחות שרת FCM .
    ערך לדוגמה: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
  • מזהה פרויקט - ערך לדוגמה: myapp-project-123 .
  • מזהה אפליקציה ("AppID") - מזהה ייחודי לאפליקציה שלך שהפורמט שלה תלוי בפלטפורמה:
    • עבור אנדרואיד: mobilesdk_app_id — הערה: זה לא שם חבילת אנדרואיד .
      ערך לדוגמה: 1:1234567890:android:321abc456def7890
    • עבור iOS+: GOOGLE_APP_ID — הערה: זה לא מזהה אפל חבילה .
      ערך לדוגמה: 1:1234567890:ios:321abc456def7890

פתרון בעיות באפליקציות אנדרואיד

כדי לשפר את האבטחה, עדכוני 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 המעודכנות. בנוסף, בקשות נכשלות חוזרות ונשנות ל-Firebase עשויות להאט את חוויית משתמש הקצה באפליקציה שלך.

מה אני צריך לעשות?

כדי לתקן שירותי Firebase פגומים עבור האפליקציות שלך:

  1. עדכן את האפליקציה שלך על ידי אתחול Firebase עם מפתח API חוקי של הפרויקט שלך, מזהה פרויקט חוקי ומזהה אפליקציה חוקי ( mobilesdk_app_id או "App ID").
    • תהליך אתחול ברירת מחדל באמצעות קובץ תצורה של Firebase : הורד את קובץ התצורה google-services.json ממסוף Firebase ולאחר מכן החלף את הקובץ הקיים באפליקציה שלך.
    • אתחול פרוגרמטי באמצעות אובייקט FirebaseOptions : הורד את קובץ התצורה של google-services.json ממסוף Firebase כדי למצוא את מפתח ה-API, מזהה הפרויקט ומזהה היישום שלך, ולאחר מכן עדכן את הערכים האלה באובייקט FirebaseOptions באפליקציה שלך.
  2. שחרר גרסה חדשה של האפליקציה שלך לחנות Play.

פתרון בעיות באפליקציות של אפל

כדי לשפר את האבטחה, עדכוני 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 המעודכנות. בנוסף, בקשות נכשלות חוזרות ונשנות ל-Firebase עשויות להאט את חוויית משתמש הקצה של האפליקציה שלך.

מה אני צריך לעשות?

כדי לתקן שירותי Firebase פגומים עבור האפליקציות שלך:

  1. עדכן את היישום שלך על ידי אתחול Firebase עם מפתח API חוקי של הפרויקט שלך, מזהה פרויקט חוקי ומזהה יישום חוקי ( GOOGLE_APP_ID או "מזהה אפליקציה").
    1. תהליך אתחול ברירת מחדל באמצעות קובץ תצורה של Firebase : הורד את קובץ התצורה של GoogleService-Info.plist ממסוף Firebase, ולאחר מכן החלף את הקובץ הקיים באפליקציה שלך.
    2. אתחול פרוגרמטי באמצעות אובייקט FIROptions : הורד את קובץ התצורה של GoogleService-Info.plist ממסוף Firebase כדי למצוא את מפתח ה-API, מזהה הפרויקט ומזהה היישום שלך, ולאחר מכן עדכן את הערכים האלה באובייקט FIROptions באפליקציה שלך.
  2. שחרר גרסה חדשה של האפליקציה שלך ל-App Store.

מפתחות שרת FCM

אם האפליקציה שלך משתמשת במפתח FCM Server ולא במפתח Cloud API, הדבר עלול לגרום לפגיעות אבטחה במקרה שאתה משתמש באותו מפתח FCM Server כדי לשלוח הודעות דחיפה באמצעות FCM. במקרה זה, אנו ממליצים בחום לשנות את האופן שבו השרת שלך מאמת שליחת בקשות ל-FCM .

שים לב שאסור לכלול מפתחות שרת FCM (שאינם זהים למפתחות Firebase/Cloud API) ביישומים, מכיוון שניתן להשתמש בהם לרעה כדי לשלוח הודעות דחיפה בשם הפרויקט שלך.