שאלות נפוצות על Firebase

נתקלת בבעיות אחרות או שהבעיה שלך לא מופיעה בהמשך? אתם יכולים לדווח על באג או לבקש תכונה ולהצטרף לדיוני Stack Overflow.

פרויקטים ב-Firebase ואפליקציות ב-Firebase

פרויקט Firebase הוא הישות ברמת העליונה ב-Firebase. בפרויקט אפשר לרשום אפליקציות ל-Apple, ל-Android או לאינטרנט. אחרי שמירת האפליקציות ב-Firebase, אפשר להוסיף לאפליקציה את ערכות ה-SDK של Firebase שספציפיות למוצרים, כמו Analytics,‏ Cloud Firestore,‏ Crashlytics או Remote Config.

עליכם לרשום את הגרסאות של האפליקציות ל-Apple, ל-Android ולאפליקציית האינטרנט בפרויקט Firebase יחיד. אפשר להשתמש במספר פרויקטים ב-Firebase כדי לתמוך בסביבות שונות, כמו פיתוח, Staging וייצור.

הנה כמה מקורות מידע נוספים על פרויקטים ב-Firebase:

  • הסבר על פרויקטים ב-Firebase – סקירה כללית קצרה על כמה מושגים חשובים לגבי פרויקטים ב-Firebase, כולל הקשר שלהם ל-Google Cloud וההיררכיה הבסיסית של פרויקט, האפליקציות והמשאבים שלו.
  • שיטות מומלצות כלליות להגדרת פרויקטים ב-Firebase – כאן מפורטות שיטות מומלצות כלליות ברמה גבוהה להגדרת פרויקטים ב-Firebase ולרישום האפליקציות שלכם בפרויקט, כדי שתוכלו ליצור תהליך פיתוח ברור שמשתמש בסביבות נפרדות.

חשוב לדעת שבכל הפרויקטים ב-Firebase, מערכת Firebase מוסיפה באופן אוטומטי תווית firebase:enabled בדף Labels של הפרויקט במסוף Google Cloud. מידע נוסף על התווית הזו זמין בשאלות הנפוצות שלנו.

ארגון Google Cloud הוא מאגר של פרויקטים ב-Google Cloud (כולל פרויקטים ב-Firebase). ההיררכיה הזו מאפשרת לארגן בצורה טובה יותר את הפרויקטים ב-Google Cloud וב-Firebase, לנהל את הגישה אליהם ולבצע ביקורת עליהם. למידע נוסף, קראו את המאמר יצירה וניהול של ארגונים.

יכול להיות שיש לכם פרויקטים קיימים של Google Cloud שמנוהלים דרך מסוף Google Cloud או דרך Google APIs Console.

אפשר להוסיף את Firebase לפרויקטים הקיימים של Google Cloud באמצעות אחת מהאפשרויות הבאות:

מידע נוסף על הוספת Firebase לפרויקט Google Cloud

Firebase משולב בצורה עמוקה עם Google Cloud. הפרויקטים משותפים בין Firebase לבין Google Cloud, כך שאפשר להפעיל בפרויקטים שירותי Firebase ושירותי Google Cloud. אפשר לגשת לאותו פרויקט דרך מסוף Firebase או דרך מסוף Google Cloud. באופן ספציפי:

  • מוצרים מסוימים של Firebase מגובים ישירות על ידי Google Cloud, כמו Cloud Storage for Firebase. רשימת המוצרים שנתמכים על ידי Google Cloud תמשיך להתרחב עם הזמן.
  • Firebase ו-Google Cloud משתפים הרבה מההגדרות שלכם, כולל נתוני החיוב והשותפים ליצירת תוכן. השימוש ב-Firebase וב-Google Cloud מופיע באותו חיוב.

בנוסף, כשמשדרגים לתוכנית Blaze, אפשר להשתמש בכל אחד מממשקי ה-API ושירותי התשתית ברמה עולמית של Google Cloud ישירות בפרויקט Firebase, במסגרת התמחור הרגיל של Google Cloud. אפשר גם לייצא נתונים מ-Google Cloud ישירות אל BigQuery לצורך ניתוח. למידע נוסף, ראו קישור BigQuery ל-Firebase.

יש יתרונות רבים לשימוש ב-Google Cloud עם Firebase (לעומת שירותים אחרים בענן שלא נמצאים באותו מיקום פיזי), כולל שיפור האבטחה, קיצור זמני האחזור וחסכון בזמן. פרטים נוספים זמינים באתר של Google Cloud.

בדף Labels של הפרויקט במסוף Google Cloud, יכול להיות שתראו תווית מסוג firebase:enabled (בפרט, Key של firebase עם Value של enabled).

התווית הזו נוספה על ידי Firebase באופן אוטומטי כי הפרויקט שלכם הוא פרויקט Firebase, כלומר יש בו הגדרות ושירותים ספציפיים ל-Firebase. מידע נוסף על הקשר בין פרויקטים ב-Firebase לבין Google Cloud

מומלץ מאוד לא לשנות או למחוק את התווית הזו. התווית הזו משמשת את Firebase ואת Google Cloud כדי להציג את הפרויקטים שלכם ב-Firebase (לדוגמה, באמצעות נקודת הקצה projects.list של API ל-REST או בתפריטים במסוף Firebase).

חשוב לדעת שהוספה ידנית של התווית הזו לרשימת תוויות הפרויקט לא מפעילה הגדרות ושירותים ספציפיים ל-Firebase בפרויקט Google Cloud. כדי לעשות זאת, צריך להוסיף את Firebase באמצעות מסוף Firebase (או, בתרחישי שימוש מתקדמים, באמצעות ממשק ה-API ל-REST לניהול ב-Firebase או באמצעות ה-CLI של Firebase).

השאלות הנפוצות האלה רלוונטיות אם הפרויקט שלכם ב-Firebase לא מופיע במקומות הבאים:

כדאי לנסות את השלבים הבאים לפתרון בעיות:

  1. קודם כל, נסו לגשת לפרויקט על ידי כניסה ישירות לכתובת ה-URL שלו. יש להשתמש בפורמט הבא:
    https://console.firebase.google.com/project/PROJECT_ID/overview
  2. אם אין לכם גישה לפרויקט או אם מופיעות שגיאות שקשורות להרשאות, כדאי לבדוק את הדברים הבאים:
    • חשוב לוודא שנכנסתם ל-Firebase באמצעות אותו חשבון Google שיש לו גישה לפרויקט. אפשר להיכנס ולצאת ממסוף Firebase דרך הדמות של החשבון בפינה השמאלית העליונה של המסוף.
    • בודקים אם אפשר לראות את הפרויקט במסוף Google Cloud.
    • מוודאים שהתווית firebase:enabled מופיעה בדף Labels של הפרויקט במסוף Google Cloud. Firebase ו-Google Cloud משתמשים בתווית הזו כדי להציג את הפרויקטים שלכם ב-Firebase. אם התווית הזו לא מופיעה אבל ממשק Firebase Management API מופעל בפרויקט, צריך להוסיף את התווית באופן ידני (בפרט, Key של firebase עם Value של enabled).
    • חשוב לוודא שהוקצה לכם אחד מתפקידי IAM הבסיסיים (בעלים, עריכה, צפייה) או תפקיד שכולל הרשאות שקשורות ל-Firebase, למשל תפקיד מוגדר מראש ב-Firebase. אפשר לראות את התפקידים שלכם בדף IAM במסוף Google Cloud.
    • אם הפרויקט שייך לארגון Google Cloud, יכול להיות שתצטרכו הרשאות נוספות כדי לראות את הפרויקט ברשימה במסוף Firebase. פונים לאדם שמנהל את הארגון ב-Google Cloud כדי לקבל את התפקיד המתאים לצפייה בפרויקט, למשל התפקיד 'דפדפן'.

אם אף אחד מהשלבים לפתרון בעיות שלמעלה לא מאפשר לכם לראות את הפרויקט ברשימה של פרויקטים ב-Firebase, תוכלו לפנות אל התמיכה של Firebase.

  • תוכנית תמחור Spark: המכסה ליצירת פרויקטים מוגבלת למספר קטן של פרויקטים (בדרך כלל 5 עד 10).
  • תוכנית התמחור Blaze: המכסה ליצירת פרויקטים עדיין מוגבלת, אבל היא עשויה לגדול אם תקשרו חשבון Cloud Billing תקין.

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

חשוב לדעת: המחיקה המלאה של פרויקט נמשכת 30 יום, והיא נספרת במכסת הפרויקטים עד שהפרויקט יימחק לחלוטין.

פרויקט Firebase הוא מאגר לאפליקציות Firebase ב-Apple, ב-Android ובאינטרנט. ב-Firebase מוגבלים ל-30 האפליקציות הכוללות את Firebase בפרויקט Firebase.

אחרי המספר הזה, הביצועים מתחילים לרדת (במיוחד ב-Google Analytics), ובסופו של דבר, כשמספר האפליקציות גדול יותר, חלק מהפונקציונליות של המוצרים מפסיקה לפעול. בנוסף, אם משתמשים בכניסה באמצעות חשבון Google בתור ספק אימות, נוצר מזהה לקוח ב-OAuth 2.0 לכל אפליקציה בפרויקט. יש מגבלה של כ-30 מזהי לקוחות שאפשר ליצור בפרויקט יחיד.

חשוב לוודא שכל האפליקציות ב-Firebase בפרויקט Firebase אחד הן וריאציות של אותה אפליקציה בפלטפורמות שונות, מנקודת המבט של משתמש הקצה. לדוגמה, אם אתם מפתחים אפליקציה לבדיקת מותגים, לכל אפליקציה עם תווית עצמאית צריך להיות פרויקט Firebase משלה, אבל הגרסאות של התווית ל-Apple ול-Android יכולות להיות באותו פרויקט. הנחיות מפורטות יותר זמינות במדריך השיטות המומלצות הכללי להגדרת פרויקטים ב-Firebase.

במקרים נדירים שבהם אתם צריכים יותר מ-30 אפליקציות בפרויקט, תוכלו לבקש הגדלה של מגבלת האפליקציות. כדי לבצע את הבקשה הזו, הפרויקט צריך להיות בתוכנית התמחור Blaze. כדי לשלוח את הבקשה ולבצע הערכה שלה, צריך להיכנס למסוף Google Cloud. מידע נוסף על ניהול מכסות זמין במסמכי העזרה של Google Cloud.

במסוף Firebase אפשר לתייג את פרויקטי Firebase לפי סוג הסביבה שלהם, ייצור או לא צוין (לא ייצור).

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

אם תתייגו את הפרויקט כסביבת ייצור, נוסיף לו תג Prod בצבע בולט במסוף Firebase, כדי להזכיר לכם שכל שינוי עשוי להשפיע על האפליקציות שלכם בסביבת הייצור. בעתיד, יכול להיות שנוסיף תכונות ואמצעי הגנה נוספים לפרויקטים ב-Firebase שמתויגים כבסביבות ייצור.

כדי לשנות את סוג הסביבה של פרויקט Firebase, עוברים אל Project settings (הגדרות הפרויקט) > General (כללי), ואז בכרטיס Your project (הפרויקט שלך) בקטע Environment (סביבה), לוחצים על כדי לשנות את סוג הסביבה.

במסוף Firebase, עוברים אל Project settings ב-. גוללים למטה אל הכרטיס האפליקציות שלך ולוחצים על האפליקציה הרצויה ב-Firebase כדי להציג את פרטי האפליקציה, כולל מזהה האפליקציה.

ריכזנו כאן כמה דוגמאות לערכים של מזהה אפליקציה:

  • אפליקציות Firebase ל-iOS: 1:1234567890:ios:321abc456def7890
  • אפליקציות Firebase ל-Android: 1:1234567890:android:321abc456def7890
  • אפליקציות אינטרנט של Firebase: 1:1234567890:web:321abc456def7890
  • כדי לקשר את חשבון Google Play, צריך את הפרטים הבאים:
    • אחד מהתפקידים הבאים ב-Firebase: 'בעלים' או 'אדמין ב-Firebase'
      וגם
    • אחת מרמות הגישה הבאות ב-Google Play: בעלים או אדמין של החשבון
  • כדי לקשר את אפליקציית AdMob, עליכם להיות גם הבעלים של פרויקט Firebase וגם אדמינים ב-AdMob.
  • כדי לקשר את חשבון AdWords, עליכם להיות גם הבעלים של פרויקט Firebase וגם אדמינים ב-AdWords.
  • כדי לקשר את הפרויקט ב-BigQuery, עליכם להיות הבעלים של פרויקט Firebase.

בפלטפורמות של Apple, ה-pod של Firebase מכיל קובץ NOTICES שכולל את הרשומות הרלוונטיות. Firebase Android SDK מכיל עזרה Activity להצגת פרטי הרישיון.

הרשאות וגישה לפרויקטים ב-Firebase

כדי לנהל את התפקידים שהוקצו לכל חבר בפרויקט, צריך להיות לכם הרשאת בעלים בפרויקט ב-Firebase (או שהוקצה לכם תפקיד עם ההרשאה resourcemanager.projects.setIamPolicy).

אלה המקומות שבהם אפשר להקצות ולנהל תפקידים:

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

שימו לב: אם פרויקט Firebase הוא חלק מארגון Google Cloud, יכול להיות שאין לו בעלים. אם לא מוצג בעלים של פרויקט Firebase, צריך לפנות לאדם שמנהל את הארגון ב-Google Cloud כדי להקצות בעלים לפרויקט.

אפשר לראות את חברי הפרויקט ואת התפקידים שלהם במקומות הבאים:

  • אם יש לכם גישה לפרויקט במסוף Firebase, תוכלו להציג את רשימת חברי הפרויקט, כולל הבעלים, בדף Users and permissions במסוף Firebase.
  • אם אין לכם גישה לפרויקט במסוף Firebase, בדקו אם יש לכם גישה לפרויקט במסוף Google Cloud. אפשר לראות את רשימת חברי הפרויקט, כולל הבעלים, בדף IAM במסוף Google Cloud.

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

לתשומת ליבכם: אם פרויקט Firebase הוא חלק מארגון Google Cloud, יכול להיות שאין לו בעלים. במקום זאת, המשתמש שמנהל את הארגון ב-Google Cloud יכול לבצע משימות רבות שרק בעלים יכול לבצע. עם זאת, כדי לבצע כמה משימות ספציפיות לבעלים (כמו הקצאת תפקידים או ניהול נכסי Google Analytics), יכול להיות שהאדמין יצטרך להקצות לעצמו את תפקיד הבעלים בפועל כדי לבצע את המשימות האלה. אם לא מוצאים בעלים לפרויקט ב-Firebase, צריך לפנות לאדם שמנהל את הארגון ב-Google Cloud כדי להקצות בעלים לפרויקט.

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

לרוב, חברי הפרויקט עם התפקיד 'בעלים' הם היחידים שיכולים לבצע משימות ניהול או לקבל התראות חשובות:

  • לרוב, רק חברי צוות בפרויקט עם תפקיד 'בעלים' יכולים לבצע פעולות ניהוליות חשובות (כמו הקצאת תפקידים וניהול נכסי Google Analytics), ותמיכת Firebase יכולה למלא בקשות ניהוליות רק מבעלים מוסמכים של פרויקטים.
  • בדרך כלל, חברי פרויקט עם התפקיד 'בעלים' הם היחידים (כברירת מחדל) שמקבלים התראות על שינויים בפרויקט או במוצרים (כמו שינויים משפטיים וחיובים, הוצאה משימוש של תכונות וכו'). אם רוצים שאנשים ספציפיים או אנשים נוספים בפרויקט יקבלו התראות, אפשר להתאים אישית את 'אנשי הקשר החיוניים' בפרויקט.

אחרי שמגדירים את הבעלים של פרויקט Firebase, חשוב לעדכן את ההקצאות האלה.

חשוב לזכור שאם פרויקט Firebase הוא חלק מארגון Google Cloud, האדם שמנהל את הארגון ב-Google Cloud יכול לבצע משימות רבות שרק בעלים יכול לבצע. עם זאת, כדי לבצע כמה משימות ספציפיות לבעלים (למשל הקצאת תפקידים או ניהול נכסי Google Analytics), יכול להיות שהאדמין יצטרך להקצות לעצמו את תפקיד הבעלים בפועל כדי לבצע את המשימות האלה.

הודעת האימייל שקיבלתם אמורה להכיל קישור לפתיחת פרויקט Firebase. לחיצה על הקישור באימייל אמורה לפתוח את הפרויקט במסוף Firebase.

אם אתם לא מצליחים לפתוח את הפרויקט בקישור, ודאו שנכנסתם ל-Firebase באמצעות אותו חשבון Google שקיבל את האימייל לגבי הפרויקט. אפשר להיכנס ולצאת ממסוף Firebase דרך תמונת הפרופיל של החשבון בפינה השמאלית העליונה של המסוף.

הערה: אם אתם אדמינים בארגון Google Cloud, יכול להיות שתקבלו התראות על שינויים בפרויקטים של Firebase בארגון. עם זאת, יכול להיות שאין לכם מספיק הרשאות כדי לפתוח את הפרויקט ב-Firebase. במקרים כאלה, הפתרון הפשוט ביותר הוא להקצות לעצמכם את תפקיד הבעלים בפועל כדי שתוכלו לפתוח את הפרויקט ולבצע את הפעולות הנדרשות. מידע נוסף על הסיבות והמועדים להקצאת התפקיד 'בעלים'



פלטפורמות ומסגרות

כדאי להיכנס לדפי השאלות הנפוצות והטיפים לפתרון בעיות ספציפיים לפלטפורמה כדי לקבל טיפים שימושיים ותשובות לשאלות נפוצות נוספות.



Firebase מסוף

אפשר לגשת למסוף Firebase מגרסאות עדכניות של דפדפנים פופולריים למחשב, כמו Chrome,‏ Firefox,‏ Safari ו-Edge. בשלב זה אין תמיכה מלאה בדפדפנים לנייד.

השאלות הנפוצות האלה רלוונטיות אם נתקלתם באחת מהבעיות הבאות:

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

כדאי לנסות את השלבים הבאים לפתרון בעיות:

  1. קודם כל, נסו לגשת לפרויקט על ידי כניסה ישירות לכתובת ה-URL שלו. יש להשתמש בפורמט הבא:
    https://console.firebase.google.com/project/PROJECT-ID/overview
  2. אם עדיין אין לכם גישה לפרויקט או שמופיעות שגיאות שקשורות להרשאות, כדאי לבדוק את הדברים הבאים:
    • חשוב לוודא שנכנסתם ל-Firebase באמצעות אותו חשבון Google שיש לו גישה לפרויקט. אפשר להיכנס ולצאת ממסוף Firebase דרך הדמות של החשבון בפינה השמאלית העליונה של המסוף.
    • מוודאים שFirebase Management API מופעל בפרויקט.
    • חשוב לוודא שהוקצה לכם אחד מתפקידי IAM הבסיסיים (בעלים, עריכה, צפייה) או תפקיד שכולל הרשאות שקשורות ל-Firebase, למשל תפקיד מוגדר מראש ב-Firebase. אפשר לראות את התפקידים שלכם בדף IAM במסוף Google Cloud.
    • אם הפרויקט שייך לארגון Google Cloud, יכול להיות שתצטרכו הרשאות נוספות כדי לראות את הפרויקט ברשימה במסוף Firebase. פונים לאדם שמנהל את הארגון ב-Google Cloud כדי לקבל את התפקיד המתאים לצפייה בפרויקט, למשל התפקיד 'דפדפן'.

אם אף אחד מהשלבים לפתרון בעיות שלמעלה לא מאפשר לכם למצוא את הפרויקט או לגשת אליו, תוכלו לפנות אל התמיכה של Firebase.

השאלות הנפוצות האלה רלוונטיות אם נתקלתם באחת מהבעיות הבאות:

  • טעינת דף במסוף Firebase אף פעם לא מסתיימת.
  • הנתונים בדף לא נטענים כמצופה.
  • מוצגות הודעות שגיאה בדפדפן כשמטענים את מסוף Firebase.

כדאי לנסות את השלבים הבאים לפתרון בעיות:

  1. בודקים את השורה Console במרכז הבקרה של סטטוס Firebase כדי לבדוק אם יש הפרעות אפשריות בשירות.
  2. מוודאים שמשתמשים בדפדפן נתמך.
  3. נסו לטעון את מסוף Firebase בחלון פרטי או בחלון גלישה פרטית.
  4. משביתים את כל התוספים לדפדפן.
  5. מוודאים שהחיבור לרשת לא חסום על ידי תוכנת חסימה של מודעות, תוכנת אנטי-וירוס, שרת proxy, חומת אש או תוכנה אחרת.
  6. מנסים לטעון את מסוף Firebase באמצעות רשת או מכשיר אחרים.
  7. אם אתם משתמשים ב-Chrome, כדאי לבדוק אם יש שגיאות במסוף הכלים למפתחים.

אם אף אחד מהשלבים לפתרון בעיות שמפורטים למעלה לא פותר את הבעיה, תוכלו לפנות אל התמיכה של Firebase.

הגדרת השפה של מסוף Firebase מבוססת על השפה שבחרתם בהגדרות של חשבון Google.

במאמר שינוי השפה מוסבר איך לשנות את העדפת השפה.

מסוף Firebase תומך בשפות הבאות:

  • אנגלית
  • פורטוגזית ברזילאית
  • צרפתי
  • גרמנית
  • אינדונזית
  • יפנית
  • קוריאנית
  • רוסית
  • סינית פשוטה
  • ספרדי
  • סינית מסורתית

במסוף Firebase ובמסוף Google Cloud נעשה שימוש באותם תפקידים והרשאות בסיסיים. מידע נוסף על תפקידים והרשאות זמין במסמכי התיעוד של IAM ב-Firebase.

ב-Firebase יש תמיכה בתפקידים הבסיסיים 'בעלים', 'עריכה' ו'צפייה':

  • הבעלים של הפרויקט יכול להוסיף חברים אחרים לפרויקט, להגדיר שילובים (קישור הפרויקט לשירותים כמו BigQuery או Slack) ויש לו גישה מלאה לעריכת הפרויקט.
  • לעורך בפרויקט יש גישת עריכה מלאה לפרויקט.
  • משתמש עם הרשאת צפייה בפרויקט מקבל הרשאת קריאה בלבד בפרויקט. שימו לב שבמסוף Firebase לא מסתירים או משביתים כרגע את אמצעי הבקרה של ממשק המשתמש לעריכה מ'צופים' בפרויקט, אבל הפעולות האלה ייכשל אצל חברי הפרויקט שהוקצה להם התפקיד 'צפייה'.

Firebase תומך גם באפשרויות הבאות:

  • תפקידים מוגדרים מראש ב-Firebase – תפקידים ספציפיים ל-Firebase שמאפשרים בקרת גישה פרטנית יותר מאשר התפקידים הבסיסיים 'בעלים', 'עריכה' ו'צפייה'.
  • תפקידים בהתאמה אישית – תפקידים מותאמים אישית של IAM שאתם יוצרים כדי להתאים קבוצה של הרשאות שעומדות בדרישות הספציפיות של הארגון.



Firebase Local Emulator Suite

ההודעה הזו מופיעה אם מערכת Emulator Suite זיהתה שהיא מריצה אמולטור של מוצר מסוים באמצעות מזהי פרויקטים שונים. ייתכן שהסיבה לכך היא הגדרה שגויה, ויכול להיות שהיא תגרום לבעיות כשהאמולטורים ינסו לתקשר ביניהם, וכשאתם מנסים לקיים אינטראקציה עם אמולטורים מהקוד שלכם. אם מזהי הפרויקטים לא תואמים, לרוב נראה שחסרים נתונים, כי הנתונים שמאוחסנים במהדמנים ממוספרים לפי projectID, והיכולת לפעול יחד תלויה בהתאמה של מזהי הפרויקטים.

זה היה מקור נפוץ לבלבול בקרב המפתחים, ולכן כברירת מחדל, Local Emulator Suite יאפשר עכשיו להריץ רק מזהה פרויקט אחד, אלא אם יצוין אחרת בקובץ התצורה firebase.json. אם במהלך ההרצה במהדורת הדמיה יתגלה יותר ממזהה פרויקט אחד, תירשם אזהרה ביומן ויכול להיות שתופיע שגיאה קטלנית.

בודקים את ההצהרות על מזהי הפרויקט כדי לראות אם יש אי-התאמות בפרטים הבאים:

  • פרויקט ברירת המחדל שהוגדר בשורת הפקודה. כברירת מחדל, מזהה הפרויקט יועבר בזמן ההפעלה מהפרויקט שנבחר באמצעות firebase init או firebase use. כדי להציג את רשימת הפרויקטים (ולראות איזה מהם נבחר), משתמשים ב-firebase projects:list.
  • בדיקות יחידה (unit testing) מזהה הפרויקט מצוין לרוב בקריאות לשיטות initializeTestEnvironment או initializeTestApp בספרייה של בדיקת יחידות של כללים. קוד בדיקה אחר עשוי להתחיל ב-initializeApp(config).
  • הדגל --project בשורת הפקודה. העברת הדגל --project ב-CLI של Firebase מבטלת את הפרויקט שמוגדר כברירת מחדל. צריך לוודא שהערך של הדגל תואם למזהה הפרויקט בבדיקות היחידה ובהפעלת האפליקציה.

מקומות ספציפיים לפלטפורמה שאפשר לבדוק:

אתר המאפיין projectId באובייקט firebaseConfig של JavaScript, שמשמש ב-initializeApp.
Android המאפיין project_id בקובץ התצורה google-services.json.
פלטפורמות של Apple המאפיין PROJECT_ID בקובץ התצורה GoogleService-Info.plist.

כדי להשבית את מצב הפרויקט היחיד, מעדכנים את firebase.json במפתח singleProjectMode:

{
  "firestore": {
    ...
  },
  "functions": {
    ...
  },
  "hosting": {
    ...
  },
  "emulators": {
    "singleProjectMode": false,
    "auth": {
      "port": 9099
    },
    "functions": {
      "port": 5001
    },
    ...
  }
}



תמחור

כדי למצוא שאלות נפוצות ספציפיות למוצר מסוים, אפשר לעיין בקטע של המוצר בדף הזה או במסמכי העזרה הייעודיים של המוצר.

מוצרי התשתית בתשלום של Firebase הם Realtime Database,‏ Cloud Storage for Firebase,‏ Cloud Functions,‏ Hosting,‏ Test Lab ואימות טלפון. אנחנו מציעים רמה ללא עלות עם כל התכונות האלה.

ב-Firebase יש גם הרבה מוצרים ללא עלות: Analytics,‏ Cloud Messaging,‏ הכלי ליצירת התראות, Remote Config,‏ App Indexing,‏ Dynamic Links ו-Crash Reporting. השימוש במוצרים האלה כפוף רק למדיניות שלהם בנושא בקרת תעבורה (למשל מכסות, גישה הוגנת והגנות אחרות על השירות) בכל התוכניות, כולל תוכנית Spark ללא עלות. בנוסף, כל התכונות של Authentication מלבד אימות הטלפון הן ללא עלות.

אפשר להשתמש בשירותי Firebase בתשלום במסגרת Google Cloudהתקופת הניסיון בחינם. משתמשים חדשים ב-Google Cloud וב-Firebase יכולים ליהנות מתקופת ניסיון של 90 יום, שכוללת קרדיט בשווי 300 $ב-Cloud Billing, כדי לבדוק את המוצרים והשירותים של Google Cloud ו-Firebase.

במהלך תקופת הניסיון בחינם של Google Cloud, תקבלו חשבון Cloud Billing לתקופת הניסיון בחינם. כל פרויקט Firebase שמשתמש בחשבון לחיוב הזה יהיה בתוכנית התמחור Blaze במהלך תקופת הניסיון בחינם.

אל דאגה, הגדרת חשבון Cloud Billing לתקופת ניסיון בחינם לא מאפשרת לנו לחייב אותך. לא תחויבו אלא אם תפעילו את החיוב באופן מפורש על ידי שדרוג החשבון Cloud Billing לתקופת הניסיון בחינם לחשבון בתשלום. תוכלו לשדרג לחשבון בתשלום בכל שלב במהלך תקופת הניסיון. אחרי השדרוג, עדיין תוכלו להשתמש בזיכויים שנותרו (במהלך התקופה של 90 הימים).

בתום תקופת הניסיון בחינם, תצטרכו לשדרג לאחור את הפרויקט לתוכנית התמחור Spark או להגדיר את תוכנית התמחור Blaze במסוף Firebase כדי להמשיך להשתמש בפרויקט Firebase.

מידע נוסף על תקופת הניסיון בחינם ב-Google Cloud

תוכנית התמחור של Spark

תוכנית Spark היא מקום מצוין לפתח את האפליקציה שלכם ללא עלות. אתם מקבלים את כל התכונות של Firebase ללא תשלום (Analytics, הכלי ליצירת התראות, Crashlytics וכו') ומספר גדול של תכונות התשתית בתשלום. עם זאת, אם תחרגו מהמשאבים של תוכנית Spark בחודש קלנדרי, האפליקציה שלכם תושבת בשארית החודש. בנוסף, התכונות של Google Cloud לא זמינות כשמשתמשים בחבילת Spark.

תוכנית התמחור של Blaze

המינוי ל-Blaze מיועד לאפליקציות שפועלות בסביבת הייצור. בנוסף, תוכנית Blaze מאפשרת לכם להרחיב את האפליקציה באמצעות תכונות Google Cloud בתשלום. אתם משלמים רק על המשאבים שאתם צורכים, כך שתוכלו להתאים את הקיבולת לצורך. אנחנו שואפים שהמחירים של תוכנית Blaze יהיו תחרותיים ביחס לספקים מובילים בתחום הענן.

כן, אפשר לשדרג, לשדרג לאחור או לבטל את המינוי בכל שלב. חשוב לדעת שאנחנו לא מעניקים החזרים כספיים חלקיים במקרים של שדרוג לאחור או ביטולים. המשמעות היא שאם תבצעו שדרוג לאחור או ביטול לפני סוף תקופת החיוב, עדיין תצטרכו לשלם על יתרת החודש.

השימוש ללא עלות בתוכנית Blaze מחושב מדי יום. מגבלות השימוש שונות גם ב-Cloud Functions, באימות טלפוני וב-Test Lab, בהשוואה לתוכנית Spark.

ב-Cloud Functions, השימוש ללא עלות בתוכנית Blaze מחושב ברמת החשבון Cloud Billing, ולא ברמת הפרויקט, והוא מוגבל למגבלות הבאות:

  • 2 מיליון קריאות בחודש
  • 400,000 שניות-GB לחודש
  • 200,000 שניות מעבד בחודש
  • 5GB של תעבורת נתונים יוצאת (egress) ברשתות לחודש

בחישוב השימוש ללא תשלום באימות הטלפון בתוכנית Blaze, החישוב מתבצע על בסיס חודשי.

ב-Test Lab, השימוש ללא עלות בתוכנית Blaze מוגבל באופן הבא:

  • 30 דקות ביום במכשיר פיזי
  • 60 דקות של מכשיר וירטואלי ביום

השימוש ללא עלות בתוכנית Spark כלול בתוכנית Blaze. השימוש ללא עלות לא מתאפס כשעוברים למינוי Blaze.

אם מוסיפים חשבון Cloud Billing לפרויקט במסוף Google Cloud, אותו פרויקט ישודרג באופן אוטומטי למינוי Firebase Blaze אם הפרויקט נמצא כרגע במינוי Spark.

לעומת זאת, אם תסירו חשבון Cloud Billing פעיל קיים מפרויקט במסוף Google Cloud, הפרויקט יורד לרמה קודמת לתוכנית Firebase Spark.

אפשר לעקוב אחרי השימוש במשאבי הפרויקט במסוף Firebase בכל אחד ממרכזי הבקרה הבאים:

לא, בשלב הזה אי אפשר להגביל את השימוש בתוכנית Blaze. אנחנו שוקלים אפשרויות לתמיכה במכסות לשימוש בתוכנית Blaze.

משתמשי Blaze יכולים להגדיר תקציב לפרויקט או לחשבון שלהם, ולקבל התראות כשההוצאות שלהם מתקרבות למגבלות האלה. כך מגדירים התראות לגבי תקציבים

כל האפליקציות ב-Firebase, כולל אלה שמשתמשות בתוכניות ללא עלות, כוללות תמיכה באימייל מצוות Firebase במהלך שעות הפעילות באזור החוף המערבי של ארה"ב. בכל החשבונות יש תמיכה ללא הגבלה בנושאים הבאים: בעיות שקשורות לחיוב, בעיות שקשורות לחשבון, שאלות טכניות (פתרון בעיות) ודוחות אירועים.

כל אחד יכול להשתמש בתוכנית Spark, כולל אנשים פרטיים וארגונים, כולל עמותות, בתי ספר ופרויקטים בקוד פתוח. מכיוון שהתוכניות האלה כבר כוללות מכסות נדיבות, אנחנו לא מציעים הנחות או תוכניות מיוחדות לפרויקטים בקוד פתוח, ללא מטרות רווח או לפרויקטים חינוכיים.

תוכנית Blaze מתאימה לארגונים בכל הגדלים, והסכם רמת השירות שלנו עומד בסטנדרטים של התעשייה לתשתית ענן או עולה עליהם. עם זאת, אנחנו לא מציעים כרגע חוזים ארגוניים, תמחור או תמיכה, וגם לא אירוח תשתית ייעודי (כלומר, התקנות בארגון) לשירותים כמו Realtime Database שלנו. אנחנו עובדים קשה כדי להוסיף חלק מהתכונות האלה.

בתוכנית Blaze אנחנו מציעים תמחור מותאם אישית, שבו משלמים רק על התכונות שבהן משתמשים.

תוכניות התמחור של Firebase הן נפרדות מ-Ads, ולכן אין זיכויים על פרסום ללא עלות. מפתחים ב-Firebase יכולים 'לקשר' את חשבון Ads ל-Firebase כדי לתמוך במעקב המרות.

כל הקמפיינים של המודעות מנוהלים ישירות ב-Ads, והחיוב ב-Ads מנוהל דרך מסוף Ads.

בינואר 2020, התוכנית Flame (25$ לחודש של מכסה נוספת) הוסרה כאפשרות להרשמות חדשות. משתמשים קיימים בתוכנית קיבלו תקופת חסד כדי להעביר את הפרויקטים שלהם מתוכנית Flame. בפברואר 2022, הפרויקטים שנותרו בתוכנית התמחור Flame הורדו לתוכנית התמחור Spark.
בהתאם,

  • לא ניתן יותר לעבור לתוכנית Flame או להירשם אליה בפרויקטים קיימים בתוכנית Spark ובתוכנית Blaze, וגם לא בפרויקטים חדשים.
  • אם העברת פרויקט קיים בתוכנית Flame לתוכנית תמחור אחרת, לא ניתן להחזיר את הפרויקט לתוכנית Flame.
  • אפשר לשדרג פרויקטים שהורדתם לתוכנית Spark לתוכנית Blaze כדי להמשיך להשתמש בשירותים בתשלום נוספים.
  • ההפניות לתוכנית Flame הוסרו מהמסמכים.

יש לכם שאלות נוספות לגבי הפסקת השימוש בתוכנית Flame? בהמשך מפורטות כמה שאלות נפוצות נוספות.

רוצים לקבל מידע על תוכניות התמחור האחרות ש-Firebase מציעה? מומלץ לעיין בדף התמחור של Firebase. אם אתם רוצים להתחיל להעביר פרויקטים קיימים לתוכנית תמחור אחרת, תוכלו לעשות זאת דרך מסוף Firebase של הפרויקט.

שאלות נפוצות נוספות על הפסקת השימוש בתוכנית Flame

להירשם לתוכנית התמחור Blaze ולהגדיר התראות לגבי תקציב.

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

אי אפשר יותר לעבור לתוכנית Flame. כדי לקבל גישה לשירותים שסופקו על ידי חבילת Flame, צריך לוודא שאתם משתמשים בחבילת התמחור Blaze, ולהגדיר התראות תקציב לפרויקט.

אם אתם צריכים מכסה נוספת בפרויקט מעבר למכסה שסופקת בחבילת Spark, תצטרכו לשדרג את הפרויקט לחבילת התמחור Blaze.

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



פרטיות

כדאי לעיין בדף פרטיות ואבטחה ב-Firebase.

כן. התכונה הזו זמינה כרגע רק ל-iOS, אבל יכול להיות שהיא תהיה זמינה גם ל-Android בעתיד. ה-SDK של Firebase לפלטפורמות Apple כולל את המסגרת FirebaseCoreDiagnostics כברירת מחדל. Firebase משתמשת במסגרת הזו כדי לאסוף מידע על השימוש ב-SDK ועל אבחון, כדי לקבוע סדר עדיפויות לשיפורים עתידיים במוצר. השדה FirebaseCoreDiagnostics הוא אופציונלי, כך שאם אתם רוצים לבטל את שליחת יומני האבחון של Firebase, תוכלו לבטל את הקישור של הספרייה לאפליקציה. אפשר לעיין במקור המלא, כולל הערכים ביומן, ב-GitHub.



A/B Testing

מותר ליצור עד 300 ניסויים לכל פרויקט, שיכולים לכלול עד 24 ניסויים פעילים, והשאר טיוטות או ניסויים שהושלמו.

קישור לנכס Google Analytics אחר יוביל לאובדן הגישה לניסויים שנוצרו לפני כן. כדי לקבל שוב גישה לניסוי קודם, צריך לקשר מחדש את הפרויקט לנכס Google Analytics שקושר כשהניסוי נוצר.

אם כבר קישרתם את Firebase ל-Google Analytics אבל עדיין מופיעה ההודעה ש-Google Analytics לא מקושר, עליכם לוודא שיש מקור נתונים ב-Analytics לכל האפליקציות בפרויקט. נכון לעכשיו, כדי להשתמש בבדיקות A/B, כל האפליקציות בפרויקט צריכות להיות מחוברות למקור נתונים ב-Google Analytics.

רשימת כל ההעברות הפעילות מופיעה בדף פרטי השילוב של Google Analytics במסוף Firebase. אפשר לגשת לדף הזה דרך הגדרות הפרויקט שילובים Google Analytics ניהול.

יצירת מקור לנתוני Google Analytics לכל אפליקציה שאין לה מקור כזה אמורה לפתור את הבעיה. יש כמה דרכים ליצור שידורים של אפליקציות חסרות:

  • אם יש לכם רק אפליקציה אחת או שתיים ללא מקור נתונים משויך של Google Analytics, תוכלו להשתמש באחת מהשיטות הבאות כדי להוסיף מקור נתונים של Google Analytics:
    • מוחקים כל אפליקציה ללא שידור פעיל במסוף Firebase ומוסיפים אותה מחדש.
    • במסוף Google Analytics, בוחרים באפשרות ניהול, לוחצים על מקורות נתונים ואז על הוספת מקור נתונים, מוסיפים את פרטי האפליקציה החסרים ולוחצים על רישום האפליקציה.
  • אם חסרים יותר מכמה מקורות נתונים של אפליקציות, ביטול הקישור של נכס Google Analytics ויצירת קישור מחדש הם הדרך המהירה והיעילה ביותר ליצור את מקורות הנתונים החסרים של האפליקציות:
    1. בדף Project Settings, בוחרים באפשרות Integrations.
    2. בכרטיס Google Analytics, לוחצים על ניהול כדי לגשת להגדרות של Firebase ושל Google Analytics.
    3. מציינים את מזהה הנכס ב-Google Analytics ואת חשבון Google Analytics המקושר.
    4. לוחצים על אפשרויות נוספות ובוחרים באפשרות ביטול הקישור של Analytics לפרויקט הזה.
    5. קוראים את האזהרה שמופיעה (אין מה לדאוג, תקשרו מחדש את אותו נכס בשלב הבא) ולוחצים על ביטול הקישור ל-Google Analytics.

      בסיום ביטול הקישור, תועברו לדף Integrations (שילובים).
    6. בכרטיס Google Analytics, לוחצים על Enable (הפעלה) כדי להתחיל בתהליך הקישור מחדש.
    7. בוחרים את חשבון Analytics מהרשימה Select account.
    8. לצד האפשרות יצירת נכס חדש באופן אוטומטי בחשבון הזה, לוחצים על עריכה ובוחרים את מזהה הנכס מהרשימה נכס Analytics שמופיעה.

      תוצג רשימה של כל האפליקציות בפרויקט. מופיעים בהם מיפויים קיימים של מקורות הנתונים לכל אפליקציה, ואפליקציות שאין להן מקור נתונים יקבלו מקור נתונים חדש.
    9. לוחצים על הפעלת Google Analytics כדי לקשר מחדש את הנכס.
    10. לוחצים על סיום.

אם עדיין מופיעה הודעת שגיאה בזמן יצירת בדיקות A/B באמצעות הגדרת תצורה מרחוק אחרי ביצוע השלבים האלה, פנו לתמיכה של Firebase.



AdMob

לא, בשלב הזה אין תמיכה באפליקציות ל-Windows.

אפשר לקשר אפליקציית AdMob לאפליקציית Firebase דרך מסוף AdMob. כך עושים את זה

כדי לבצע את הקישור הזה, נדרשת הגישה הבאה:

  • AdMob: צריכה להיות לכם הרשאת אדמין ב-AdMob.
  • Firebase: צריכה להיות לכם ההרשאה firebase.links.create, שכלולה בתפקידים בעלים ואדמין ב-Firebase.
  • Google Analytics: צריך להיות לכם התפקיד 'עריכה' או התפקיד 'ניהול משתמשים' בנכס שמשויך לפרויקט Firebase. מידע נוסף

בחשבונות AdMob עם משתמשים מרובים, רק המשתמש שיצר את הקישור הראשון ל-Firebase ואישר את התנאים וההגבלות של Firebase יכול ליצור קישורים חדשים בין אפליקציות AdMob לאפליקציות Firebase.

כדי להשתמש ב-AdMob, תמיד צריך להשתמש ב-SDK של Google Mobile Ads כפי שמתואר בשאלות הנפוצות האלה. בנוסף, אם רוצים לאסוף מדדי משתמשים של AdMob, צריך לכלול באפליקציה את Firebase SDK של Google Analytics.




Analytics

Google Analytics הוא פתרון חינמי לניתוח נתונים ללא הגבלה, שמשתלב עם התכונות של Firebase כדי לספק תובנות מועילות. בעזרת הכלי תוכלו לראות יומני אירועים ב-Crashlytics, את מידת היעילות של ההתראות ב-FCM, את ביצועי קישורי העומק ב-Dynamic Links ונתונים על רכישות מתוך האפליקציה מ-Google Play. הוא מאפשר טירגוט מתקדם לפי קהל ב-Remote Config, התאמה אישית ב-Remote Config ועוד.

Google Analytics פועלת כשכבת בינה במסוף Firebase כדי לספק לכם תובנות מעשיות יותר לגבי פיתוח אפליקציה באיכות גבוהה, הגדלת בסיס המשתמשים והגדלת ההכנסות.

כדי להתחיל, קוראים את המסמכים.

כברירת מחדל, הנתונים של Google Analytics משמשים לשיפור תכונות אחרות של Firebase ושל Google. אתם יכולים לקבוע איך נתוני Google Analytics ישותפו בהגדרות הפרויקט בכל שלב. מידע נוסף על הגדרות שיתוף הנתונים

בדף ניהול בנכס Google Analytics תוכלו לעדכן את הגדרות הנכס, למשל:

  • הגדרות שיתוף נתונים
  • הגדרות של שמירת נתונים
  • הגדרות של אזור הזמן והמטבע

כדי לעדכן את הגדרות הנכס, פועלים לפי השלבים הבאים:

  1. במסוף Firebase, עוברים אל > Project settings.
  2. עוברים לכרטיסייה Integrations (שילובים), ובכרטיס Google Analytics לוחצים על Manage (ניהול) או על View link (הצגת קישור).
  3. לוחצים על הקישור לחשבון Google Analytics כדי לפתוח את ההגדרות של החשבון והנכס.

כן. פרטים נוספים זמינים בדף הגדרת איסוף הנתונים והשימוש בהם.

סיכום של השינויים האלה זמין במאמר פונקציונליות חדשה של Google Analytics 4 עבור Google Analytics for Firebase במרכז העזרה של Firebase.

הנתונים של Analytics נמצאים בנכס Google Analytics, ולא בפרויקט Firebase. אם תמחקו או תבטלו את הקישור של הנכס, לא תהיה ל-Firebase גישה לנתוני Analytics ותראו בלוח הבקרה Analytics ריק במסוף Firebase. לתשומת ליבכם: מאחר שהנתונים עדיין נמצאים בנכס המקושר הקודם, תמיד תוכלו לקשר מחדש את הנכס ל-Firebase ולראות את נתוני Analytics במסוף Firebase.

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

לא. אם הנכס נמחק, אי אפשר לבטל את המחיקה שלו או לאחזר את נתוני Analytics שנאספו בעבר ושנשמרו בנכס הזה.

אם תרצו להתחיל להשתמש שוב ב-Google Analytics, תוכלו לקשר נכס חדש או נכס קיים לפרויקט Firebase. אפשר לבצע את הקישור הזה במסוף Firebase או בממשק המשתמש של Google Analytics. מידע נוסף על קישור נכס Google Analytics לפרויקט Firebase

אם תרצו להתחיל להשתמש שוב ב-Google Analytics, תוכלו לקשר נכס חדש או נכס קיים לפרויקט Firebase. אפשר לבצע את הקישור הזה במסוף Firebase או בממשק המשתמש של Google Analytics. מידע נוסף על קישור נכס Google Analytics לפרויקט Firebase

חשוב לזכור שכל נתוני Analytics מאוחסנים בנכס (ולא בפרויקט Firebase), ולכן אי אפשר לאחזר את נתוני Analytics שנאספו בעבר.

כמה מוצרים של Firebase מסתמכים על השילוב עם Google Analytics. אם נכס Analytics והנתונים שלו יימחקו, אלה יהיו התוצאות אם אתם משתמשים במוצרים הבאים:

  • Crashlytics – כבר לא תוכלו לראות משתמשים ללא תאונות, יומני נתיב או התראות לגבי מהירות.
  • Cloud Messaging ו-In-App Messaging – לא ניתן יותר להשתמש בטירגוט, במדדי קמפיינים, בפילוח קהלים ובתוויות ניתוח נתונים.
  • Remote Config — לא תוכלו יותר להשתמש בהגדרות טירגוט או בהתאמה אישית.
  • A/B Testing – אי אפשר יותר להשתמש ב-A/B Testing כי מדידת הניסוי מסופקת על ידי Google Analytics.
  • Dynamic Links – כל תכונה שמבוססת על נתונים מ-Google Analytics תיפגע.

בנוסף, השילובים הבאים יושפעו:

אפשר להציג את הבעיה בדרך אחרת על ידי 'טירגוט שלילי' של המשתמשים האלה. לדוגמה, אפשר לנסח מחדש את הבעיה כך: 'לא להציג מודעות לאנשים שכבר קנו משהו', וליצור קהל של המשתמשים האלה לצורך טירגוט.

הקהלים ומאפייני המשתמשים יסונכרנו. כדי להשתמש בתכונות מסוימות, כמו פילוח ומשפכים סגורים, תצטרכו להשתמש בממשק של Google Analytics. אפשר לגשת לממשק של Google Analytics ישירות דרך קישורי עומק מהמסוף Firebase.

כל שינוי שתבצעו במסוף Firebase אפשר לבצע גם ב-Google Analytics, והשינויים האלה ישתקפו ב-Firebase.



Authentication

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

אזור קוד
לסה״נאנדורה
AEאיחוד האמירויות הערביות
AFאפגניסטן
AGאנטיגואה וברבודה
אלבניהאלבניה
AMארמניה
AOאנגולה
ARארגנטינה
ASסמואה האמריקנית
ATאוסטריה
AUאוסטרליה
AWארובה
AZאזרבייג'ן
BAבוסניה והרצגובינה
BBברבדוס
BDבנגלדש
BEבלגיה
BFבורקינה פאסו
BGבולגריה
BJבנין
BMברמודה
BNברוני דרוסלם
BOבוליביה
BRברזיל
BSאיי הבהאמה
BTבהוטן
BWבוצואנה
BYבלארוס
BZבליז
קנדהקנדה
CDקונגו (קינשאסה)
מ'רפובליקת מרכז אפריקה
CGקונגו (ברזוויל)
CHשווייץ
CIחוף השנהב
CKאיי קוק
CLצ'ילה
CMקמרון
קולורדוקולומביה
תגובה מוכנה מראשקוסטה ריקה
קורות חייםכף ורדה
CWקוראסאו
CYקפריסין
CZצ'כיה
DEגרמניה
די-ג'ייג'יבוטי
DKדנמרק
DMדומיניקה
DOהרפובליקה הדומיניקנית
DZאלג'יריה
ECאקוודור
EGמצרים
ESספרד
ETאתיופיה
FIפינלנד
FJפיג'י
FKאיי פוקלנד
FMהפדרציה של מיקרונזיה
FOאיי פארו
FRצרפת
GAגאבון
GBבריטניה
GDגרנדה
GEגאורגיה
GFגיאנה הצרפתית
GGגרנזי
GHגאנה
GIגיברלטר
GLגרינלנד
GMגמביה
GPגוואדלופ
GQגיניאה המשוונית
GRיוון
GTגואטמלה
GYגיאנה
HKהונג קונג, אזור מנהלי מיוחד של סין
HNהונדורס
HRקרואטיה
מחציתהאיטי
HUהונגריה
מזההאינדונזיה
IEאירלנד
ILישראל
IMהאי מאן
INהודו
IQעירק
ITאיטליה
JEג'רזי
JMג'מייקה
JOירדן
JPיפן
KEקניה
ק"גקירגיזסטן
KHקמבודיה
KMאיי קומורו
KNסנט קיטס ונוויס
KRקוריאה הדרומית
KWכווית
KYאיי קיימן
KZקזחסטן
LAהרפובליקה הדמוקרטית העממית של לאוס
LBלבנון
LCסנט לוסיה
LIליכטנשטיין
LKסרי לנקה
LSלסוטו
LTליטא
LUלוקסמבורג
LVלטביה
LYלוב
MAמרוקו
מרילנדמולדובה
MEמונטנגרו
MFסן מרטן (החלק הצרפתי)
MGמדגסקר
MKמקדוניה
MMמיאנמר
MNמונגוליה
MOמקאו, אזור מנהלי מיוחד של סין
MSמונסראט
MTמלטה
MUמאוריציוס
מגה-ואטמלאווי
MXמקסיקו
MYמלזיה
MZמוזמביק
לא זמיןנמיביה
NCקלדוניה החדשה
צפ'-מז'ניז'ר
NFהאי נורפולק
NGניגריה
NIניקרגואה
NLהולנד
לאנורווגיה
NPנפאל
NZניו זילנד
OMעומאן
PAפנמה
PEפרו
PGפפואה גינאה החדשה
מ'הפיליפינים
PKפקיסטן
PLפולין
PMסנט פייר ומיקלון
PRפוארטו ריקו
PSהרשות הפלסטינית
PTפורטוגל
PYפרגוואי
בקרת איכותקטאר
REראוניון
ROרומניה
RSסרביה
RUרוסיה
RWרואנדה
SAערב הסעודית
SCאיי סיישל
SEשוודיה
SGסינגפור
פנדליםסנט הלנה
SIסלובניה
SKסלובקיה
SLסיירה לאון
SNסנגל
SRסורינאם
STסאו טומה ופרינסיפה
SVאל סלבדור
SZסווזילנד
TCאיי טורקס וקאיקוס
TGטוגו
THתאילנד
TLמזרח טימור
TMטורקמניסטן
אבטונגה
TRטורקיה
TTטרינידד וטובגו
TWטייוואן, הרפובליקה של סין
TZהרפובליקה המאוחדת של טנזניה
UAאוקראינה
UGאוגנדה
ארה"בארצות הברית
UYאורוגוואי
UZאוזבקיסטן
VCסנט וינסנט והגרנדינים
VEונצואלה (הרפובליקה הבוליברית)
VGאיי הבתולה הבריטיים
VIאיי הבתולה, ארה״ב
VNוייטנאם
WSסמואה
YEתימן
YTמאיוט
ZAדרום אפריקה
ZMזמביה
ZWזימבבואה

כדי לשפר את האבטחה ואת איכות השירות של אימות הטלפון, החל מספטמבר 2024 פרויקטים ב-Firebase צריכים להיות מקושרים לחשבון לחיוב ב-Cloud כדי להפעיל את שירות ה-SMS ולהשתמש בו.

כדי להגן על הפרויקט מפני יצירת תנועה מלאכותית של הודעות SMS ושימוש לרעה ב-API, כדאי לבצע את הפעולות הבאות:

כדאי להגדיר מדיניות אזורים ל-SMS
  1. הצגת השימוש ב-SMS לפי אזור

    חפשו אזורים עם מספר גבוה מאוד של הודעות SMS שנשלחו ומספר נמוך מאוד (או אפס) של הודעות SMS מאומתות. היחס בין מספר ההודעות שאומתו לבין מספר ההודעות שנשלחו הוא שיעור ההצלחה שלכם. שיעורי ההצלחה הרגילים נעים בדרך כלל בין 70% ל-85%, מאחר ש-SMS הוא לא פרוטוקול העברה מובטח, ויכול להיות שיהיה שימוש לרעה בחלק מהאזורים. שיעורי הצלחה מתחת ל-50% מציינים ששלחתם הרבה הודעות SMS אבל מעט כניסות מוצלחות. זהו אינדיקטור נפוץ לפעילות זדונית וליצירת תנועה מלאכותית בהודעות SMS.

  2. אתם יכולים להשתמש במדיניות לגבי אזורים ל-SMS כדי לדחות אזורים ל-SMS עם שיעורי הצלחה נמוכים, או לאפשר רק אזורים מסוימים אם האפליקציה מיועדת להפצה רק בשווקים מסוימים.

הגבלת הדומיינים המורשים לאימות

לוח הבקרה של הגדרות האימות מאפשר לנהל את הדומיינים המורשים. הדומיין localhost מתווסף כברירת מחדל לדומיינים המורשים לאימות כדי לפשט את הפיתוח. מומלץ להסיר את localhost מהדומיינים המורשים בפרויקט הייצור כדי למנוע מגורמים זדוניים להריץ קוד ב-localhost שלהם כדי לגשת לפרויקט הייצור.

הפעלה ואכיפה של בדיקת האפליקציות

מפעילים את App Check כדי להגן על הפרויקט מפני ניצול לרעה של ממשקי API, על ידי אימות שהבקשות מגיעות רק מאפליקציות שמשויכות לפרויקט.

כדי להשתמש ב'בדיקת האפליקציות' עם Firebase Authentication, צריך לשדרג ל-Firebase Authentication with Identity Platform.

חשוב לזכור שצריך לאכוף את App Check לאימות במסוף Firebase (מומלץ לעקוב אחרי התנועה לפני האכיפה). בנוסף, כדאי לבדוק שוב את רשימת האתרים המאושרים ב-reCAPTCHA Enterprise כדי לוודא שהיא מכילה רק את האתרים שלכם בסביבת הייצור, ושרשימת האפליקציות הרשומה בפרויקט ב-App Check מדויקת.

חשוב לזכור ש-App Check עוזר להגן מפני התקפות אוטומטיות על ידי אימות שהקריאה מגיעה מאחת מהאפליקציות הרשמות שלכם. היא לא מונעת ממשתמשים להשתמש באפליקציה בדרכים לא רצויות (לדוגמה, הפעלה של תהליכי התחברות ולא השלמת התהליך כדי ליצור הודעות SMS שנשלחות).

בשלב זה, העברת מספרים בין ספקים תגרום לכך שאי אפשר יהיה לשלוח הודעות SMS למשתמשים הקצה האלה. אין פתרון עקיף, ואנחנו ב-Firebase עובדים על הבעיה הזו.

אם מוצגת השגיאה הבאה, צריך לפעול לפי השלבים לפתרון בעיות שמפורטים בשאלות הנפוצות האלה:

GoogleFragment: Google sign in failed
    com.google.android.gms.common.api.ApiException: 13: Unable to get token.
        at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
  1. מוודאים שהכניסה באמצעות Google מופעלת כראוי כספק אימות:

    1. במסוף Firebase, פותחים את הקטע Authentication.

    2. בכרטיסייה שיטת כניסה, משביתים את שיטת הכניסה באמצעות Google ואז מפעילים אותה מחדש (גם אם היא כבר מופעלת):

      1. פותחים את שיטת הכניסה באמצעות Google, משביתים אותה ולוחצים על שמירה.

      2. פותחים מחדש את שיטת הכניסה באמצעות Google, מפעילים אותה ולוחצים על Save.

  2. מוודאים שהאפליקציה משתמשת בקובץ התצורה המעודכן של Firebase (google-services.json).
    איך מקבלים את קובץ התצורה של האפליקציה

  3. בודקים אם השגיאה ממשיכה להופיע. אם כן, ממשיכים לשלב הבא לפתרון הבעיות.

  4. מוודאים שקיימים לקוחות OAuth 2.0 בסיסיים נדרשים.

    1. בדף Credentials במסוף Google Cloud, מחפשים בקטע OAuth 2.0 Client IDs.

    2. אם לקוחות OAuth 2.0 לא מופיעים (ואתם ביצעתם את כל השלבים לפתרון בעיות שמפורטים למעלה), פנו לתמיכה.

אם מוצגת השגיאה הבאה, צריך לפעול לפי השלבים לפתרון בעיות שמפורטים בשאלות הנפוצות האלה:

You must specify |clientID| in |GIDConfiguration|
  1. מוודאים שהכניסה באמצעות Google מופעלת כראוי כספק אימות:

    1. במסוף Firebase, פותחים את הקטע Authentication.

    2. בכרטיסייה שיטת כניסה, משביתים את שיטת הכניסה באמצעות Google ואז מפעילים אותה מחדש (גם אם היא כבר מופעלת):

      1. פותחים את שיטת הכניסה באמצעות Google, משביתים אותה ולוחצים על שמירה.

      2. פותחים מחדש את שיטת הכניסה באמצעות Google, מפעילים אותה ולוחצים על Save.

  2. מוודאים שהאפליקציה משתמשת בקובץ התצורה המעודכן של Firebase (GoogleService-Info.plist).
    איך מקבלים את קובץ התצורה של האפליקציה

  3. בודקים אם השגיאה ממשיכה להופיע. אם כן, ממשיכים לשלב הבא לפתרון הבעיות.

  4. מוודאים שקיימים לקוחות OAuth 2.0 בסיסיים נדרשים.

    1. בדף Credentials במסוף Google Cloud, מחפשים בקטע OAuth 2.0 Client IDs.

    2. אם לקוחות OAuth 2.0 לא מופיעים (ואתם ביצעתם את כל השלבים לפתרון בעיות שמפורטים למעלה), פנו לתמיכה.

אם מוצגת השגיאה הבאה, צריך לפעול לפי השלבים לפתרון בעיות שמפורטים בשאלות הנפוצות האלה:

AuthErrorCode.INVALID_OAUTH_CLIENT_ID
  1. מוודאים שהכניסה באמצעות Google מופעלת כראוי כספק אימות:

    1. במסוף Firebase, פותחים את הקטע Authentication.

    2. בכרטיסייה שיטת כניסה, משביתים את שיטת הכניסה באמצעות Google ואז מפעילים אותה מחדש (גם אם היא כבר מופעלת):

      1. פותחים את שיטת הכניסה באמצעות Google, משביתים אותה ולוחצים על שמירה.

      2. פותחים מחדש את שיטת הכניסה באמצעות Google, מפעילים אותה ולוחצים על Save.

  2. בנוסף, בהגדרות של ספק הכניסה באמצעות חשבון Google בקטע Authentication, חשוב לוודא שמזהה הלקוח והסוד של OAuth תואמים ללקוח האינטרנט שמוצג בדף Credentials במסוף Google Cloud (בקטע OAuth 2.0 Client IDs).

אם מוצגת השגיאה הבאה, צריך לפעול לפי השלבים לפתרון בעיות שמפורטים בשאלות הנפוצות האלה:

This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.

הסיבה העיקרית לשגיאה הזו היא שהדומיין להפניה אוטומטית לא מופיע כדומיין מורשה ל-Firebase Authentication, או שמפתח ה-API שבו אתם משתמשים בשירות Firebase Authentication לא תקין.

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

כברירת מחדל, Firebase Authentication JS SDK מסתמך על מפתח ה-API של פרויקט Firebase שמסומן בתור Browser key, והוא משתמש במפתח הזה כדי לוודא שהכתובת ה-URL להפניה אוטומטית לכניסה תקינה בהתאם לרשימה של הדומיינים המורשים. Authentication מקבל את מפתח ה-API הזה בהתאם לאופן שבו אתם ניגשים ל-SDK של Authentication:

מוודאים שמפתח ה-API לא נמחק: עוברים לחלונית APIs & Services > Credentials במסוף Google Cloud, שבה מפורטים כל מפתחות ה-API של הפרויקט.

  • אם Browser key לא נמחק, צריך לבדוק את הפרטים הבאים:

    • מוודאים ש-API של Firebase Authentication נמצא ברשימת ממשקי ה-API המורשים למפתח (מידע נוסף על הגבלות API למפתחות API).

    • אם אתם מארחים את קוד הכניסה בעצמכם, ודאו שמפתח ה-API שמופיע בקובץ __/firebase/init.json תואם למפתח ה-API במסוף Cloud. מתקנים את המפתח בקובץ, אם צריך, ופורסים מחדש את האפליקציה.

    • אם השדה Browser key נמחק, תוכלו לבקש מ-Firebase ליצור עבורכם מפתח API חדש: במסוף Firebase, עוברים אל > Project settings (הגדרות הפרויקט), ואז בקטע Your apps (האפליקציות שלך) לוחצים על אפליקציית האינטרנט. הפעולה הזו יוצרת באופן אוטומטי מפתח API שאפשר לראות בקטע SDK setup and configuration (הגדרה והגדרה אישית של ה-SDK) של אפליקציית האינטרנט.

    לתשומת ליבכם: במסוף Cloud, מפתח ה-API החדש לא ייקרא Browser key. במקום זאת, הוא ייקרא בשם של הכינוי של אפליקציית האינטרנט ב-Firebase. אם תחליטו להוסיף הגבלות על ממשקי API למפתח ה-API החדש, עליכם לוודא שממשק ה-API Firebase Authentication נכלל ברשימת ממשקי ה-API המורשים.

    אחרי שתיצרו את מפתח ה-API החדש, עליכם לבצע את השלבים הרלוונטיים הבאים:

    • אם אתם משתמשים בכתובות URL Hosting שמורות, תצטרכו לפרוס מחדש את האפליקציה ב-Firebase כדי שתוכל לקבל באופן אוטומטי את מפתח ה-API החדש עם שאר ההגדרות של Firebase.

    • אם מארחים בעצמכם את קוד הכניסה, מעתיקים את מפתח ה-API החדש ומוסיפים אותו לקובץ __/firebase/init.json, ולאחר מכן פורסים מחדש את האפליקציה.

  1. פותחים את הדף Credentials במסוף Google Cloud.

  2. בחלק העליון של הדף, בוחרים באפשרות Create credentials (יצירת פרטי כניסה) > OAuth client ID (מזהה לקוח OAuth).

  3. אם מופיעה בקשה להגדרת מסך ההסכמה, פועלים לפי ההוראות במסך ואז ממשיכים בשלבים הבאים במאמר השאלות הנפוצות הזה.

  4. יוצרים את לקוח האינטרנט של OAuth:

    1. בשדה Application Type בוחרים באפשרות Web application.

    2. בקטע Authorized JavaScript Origins, מוסיפים את הפרטים הבאים:

      • http://localhost
      • http://localhost:5000
      • https://PROJECT_ID.firebaseapp.com
      • https://PROJECT_ID.web.app
    3. בקטע Authorized Redirect URIs, מוסיפים את הפרטים הבאים:

      • https://PROJECT_ID.firebaseapp.com/__/auth/handler
      • https://PROJECT_ID.web.app/__/auth/handler
    4. שומרים את לקוח ה-OAuth.

  5. מעתיקים את מזהה הלקוח ואת סוד הלקוח החדשים ב-OAuth ללוח.

  6. במסוף Firebase, פותחים את הקטע Authentication.

  7. בכרטיסייה Sign in method (שיטת כניסה), פותחים את הספק Google sign-in (כניסה באמצעות חשבון Google) ומדביקים את מספר הלקוח ואת הסוד של שרת האינטרנט שיצרתם ועכשיו העתקתם מהמסוף Google Cloud. לוחצים על Save.

לפני דצמבר 2022, השדה %APP_NAME% בתבנית האימייל היה מאוכלס בשם המותג של OAuth שהוקצה באופן אוטומטי בכל פעם שאפליקציית Android נרשמה בפרויקט Firebase. מכיוון שמותג OAuth מוקצה רק כשהכניסה באמצעות חשבון Google מופעלת, כך נקבע הערך של %APP_NAME%:

  • אם שם המותג של OAuth זמין, הערך של %APP_NAME% בתבנית האימייל יהיה שם המותג של OAuth (כמו ההתנהגות לפני דצמבר 2022).

  • אם שם המותג של OAuth לא זמין, כך נקבע הערך של %APP_NAME% בתבנית האימייל:

    • באפליקציות אינטרנט, השדה %APP_NAME% יהיה שם ברירת המחדל של האתר Firebase Hosting (הערך שמופיע לפני .firebaseapp.com ו-.web.app, ובדרך כלל מזהה הפרויקט ב-Firebase).

    • באפליקציות לנייד:

      • אם שם החבילה ל-Android או מזהה החבילה ל-iOS מופיעים בבקשה, השדה %APP_NAME% יהיה שם האפליקציה שמוצג בחנות Play או ב-App Store (בהתאמה).

      • אחרת, הערך של %APP_NAME% יהיה שם ברירת המחדל של האתר Firebase Hosting (הערך שמופיע לפני .firebaseapp.com ו-.web.app, ובדרך כלל מזהה הפרויקט ב-Firebase).

    חשוב לזכור: אם החיפוש של שם האתר Firebase Hosting שמוגדר כברירת מחדל נכשל, האפשרות האחרונה היא להשתמש במזהה הפרויקט ב-Firebase בתור %APP_NAME%.



Cloud Functions

תמיכה בסביבת זמן ריצה של Cloud Functions

  1. מוודאים שאתם משתמשים בתוכנית התמחור Blaze.
  2. חשוב לוודא שאתם משתמשים בגרסה העדכנית ביותר של CLI של Firebase.
  3. מעדכנים את השדה engines ב-package.json של הפונקציות.
  4. אפשר גם לבדוק את השינויים באמצעות Firebase Local Emulator Suite.
  5. פורסים מחדש את כל הפונקציות.

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

כן. מכיוון שתוספים משתמשים ב-Cloud Functions, סביבת זמן הריצה של התוספים תצטרך להתעדכן באותו ציר זמן כמו Cloud Functions.

מומלץ לעדכן מדי פעם לגרסה האחרונה של כל התוספים שמותקנים בפרויקט. אפשר לשדרג את התוספים של הפרויקטים דרך מסוף Firebase או CLI של Firebase.

תמחור Cloud Functions

Cloud Functions for Firebase מסתמך על חלק משירותי Google בתשלום. פריסות של פונקציות חדשות עם Firebase CLI מגרסה 11.2.0 ואילך מסתמכות על Cloud Build ועל Artifact Registry. בפריסות לגרסאות ישנות יותר, Cloud Build משמש באותו אופן, אבל אחסון מתבצע באמצעות Container Registry ו-Cloud Storage במקום Artifact Registry. השימוש בשירותים האלה יתבצע בחיוב נפרד, בנוסף למחירים הקיימים.

נפח אחסון ב-CLI של Firebase בגרסה 11.2.0 ואילך

Artifact Registry מספק את הקונטיינרים שבהם הפונקציות פועלות. Artifact Registry מספק את 500MB הראשונים ללא עלות, כך שיכול להיות שלא תחויבו על הפריסות הראשונות של הפונקציות. מעבר לסף הזה, כל GB נוסף של אחסון מחויב ב-0.10 $לחודש.

נפח אחסון ב-CLI של Firebase בגרסה 11.1.x וגרסאות קודמות

לפונקציות שנפרסו לגרסאות ישנות יותר, Container Registry מספק את הקונטיינרים שבהם הפונקציות פועלות. אתם תחויבו על כל מאגר שנדרש לפריסה של פונקציה. יכול להיות שתבחינו בחיובים קטנים על כל מאגר שמאוחסן. לדוגמה, חיוב על 1GB אחסון הוא 0.026 $לחודש.

מידע נוסף על השינויים הצפויים בחשבונית זמין

כן. בתוכנית Blaze, Cloud Functions מספק רמה ללא עלות להפעלות, לזמן מחשוב ולתנועה באינטרנט. 2,000,000 הקריאות הראשונות, 400,000 שניות-GB, 200,000 שניות-CPU ו-5GB של תעבורת נתונים יוצאת (egress) באינטרנט ניתנים בחינם בכל חודש. החיוב יתבצע רק על שימוש מעבר לסף הזה.

אחרי 500MB הראשונים של אחסון ללא עלות, תחויבו בסכומים קטנים על כל פעולת פריסה, עבור נפח האחסון שמשמש את הקונטיינר של הפונקציה. אם תהליך הפיתוח שלכם תלוי בפריסה של פונקציות לצורך בדיקה, תוכלו לצמצם עוד יותר את העלויות באמצעות השימוש ב-Firebase Local Emulator Suite במהלך הפיתוח.

אפשר לעיין בתוכניות התמחור של Firebase ובתרחישי הדוגמה של Cloud Functions Pricing.

לא. אין תוכניות לשינוי המכסות, מלבד הסרת המגבלה על משך הזמן המקסימלי ליצירת גרסאות build. במקום לקבל שגיאות או אזהרות כשמגיעים למכסת ה-build היומית של 120 דקות, תחויבו בהתאם לתנאים של תוכנית התמחור Blaze. מידע נוסף זמין במאמר מכסות ומגבלות.

כן, אפשר ליצור חשבון Cloud Billing במסוף Google Cloud כדי לקבל את הזיכוי בסך 300$, ואז לקשר את חשבון Cloud Billing הזה לפרויקט ב-Firebase.

מידע נוסף על הזיכוי Google Cloud זמין כאן.

חשוב לזכור שאם תעשו זאת, תצטרכו להגדיר את תוכנית התמחור של Blaze במסוף Firebase כדי שהפרויקט ימשיך לפעול אחרי שהזיכוי בסך 300 $ינוצל.

לא, סליחה. אפשר להשתמש במעבד Firebase לפיתוח בלי חשבון Cloud Billing. לחלופין, אפשר לנסות להגיש בקשה לתקופת ניסיון בחינם ב-Google Cloud. אם אתם עדיין נתקלים בבעיות בתשלום החשבונית בגלל השינוי הזה, תוכלו לפנות לתמיכה של Firebase.

כדי לעזור לכם לשלוט בעלויות, תוכלו להגדיר התראות לגבי תקציב במסוף Google Cloud. בנוסף, אפשר להגדיר מגבלות על מספר המכונות לחיוב שנוצרות לכל אחת מהפונקציות. כדי לקבל מושג על העלויות בתרחישים אופייניים, תוכלו לעיין בדוגמאות לתמחור של Cloud Functions.

הצגת לוח הבקרה Usage and billing במסוף Firebase.

כן. מכיוון שתוספים משתמשים ב-Cloud Functions, הם כפופים לאותם חיובים כמו פונקציות אחרות.

כדי להשתמש בתוספים, תצטרכו לשדרג לתוכנית התמחור Blaze. תחויבו בסכום קטן (בדרך כלל כ-0.01 $לחודש) על המשאבים של Firebase שנדרשים לכל תוסף שתתקינו (גם אם לא משתמשים בהם), בנוסף לחיובים שקשורים לשימוש שלכם בשירותי Firebase.



Cloud Messaging

Firebase Cloud Messaging מספק קבוצה מלאה של יכולות שליחת הודעות באמצעות ערכות ה-SDK ללקוח ופרוטוקולים של שרתים מסוג HTTP ו-XMPP. לפריסות עם דרישות מורכבות יותר לשליחת הודעות, FCM היא האפשרות הנכונה.

הכלי ליצירת התראות הוא פתרון קל משקל ללא שרת לשליחת הודעות, שמבוסס על Firebase Cloud Messaging. בעזרת מסוף גרפי ידידותי למשתמש ודרישות תכנות מופחתות, הכלי ליצירת התראות מאפשר למשתמשים לשלוח בקלות הודעות כדי לחדש את האינטראקציה עם המשתמשים ולשמר אותם, לעודד את הצמיחה של האפליקציה ולתמוך בקמפיינים שיווקיים.

יכולות כלי ליצירת התראות Cloud Messaging
Target מכשיר אחד
לקוחות שנרשמו לנושאים (למשל, מזג האוויר)
לקוחות בפלח משתמשים מוגדר מראש (אפליקציה, גרסה, שפה)
לקוחות בקהלים ספציפיים ב-Analytics
לקוחות בקבוצות מכשירים
מצד הלקוח לשרת
סוג ההודעה      התראות עד 2KB
הודעות נתונים עד 4KB
משלוח מיידי
הזמן המקומי העתידי של מכשיר הלקוח
Analytics אוסף מובנה של ניתוח נתונים של התראות וניתוח נתונים של משפך

לא. Firebase Cloud Messaging עבר לפרוטוקול APNs המבוסס על HTTP/2 בשנת 2017. אם אתם משתמשים ב-FCM כדי לשלוח התראות למכשירי iOS, לא נדרשת כל פעולה מצידכם.

אפשר להשתמש ב-Firebase Cloud Messaging כרכיב עצמאי, באותו אופן שבו השתמשתם ב-GCM, בלי להשתמש בשירותים אחרים של Firebase.

FCM היא הגרסה החדשה של GCM במסגרת המותג Firebase. הוא יורש את תשתית הליבה של GCM, עם ערכות SDK חדשות שיקלו על פיתוח Cloud Messaging.

היתרונות של השדרוג ל-FCM SDK כוללים:

  • פיתוח קל יותר של לקוחות. לא תצטרכו יותר לכתוב לוגיקה משלכם לניסיון חוזר של רישום או מינוי.
  • פתרון מוכן לשימוש להתרעות. אפשר להשתמש בכלי ליצירת התראות, פתרון ללא שרת להתראות עם מסוף אינטרנט שמאפשר לכל אחד לשלוח התראות לטרגוט קהלים ספציפיים על סמך תובנות מ-Google Analytics.

כדי לשדרג מ-GCM SDK ל-FCM SDK, אפשר לעיין במדריכים להעברת אפליקציות ל-Android ול-iOS.

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

טיפול בהודעות בחזית עבור הודעות התראה. אפליקציות לקוח צריכות להוסיף לוגיקה לטיפול בהודעות כדי לטפל בהודעות התראה כשהאפליקציה בחזית במכשיר. אפשר לעיין בפרטים לגבי iOS ו- Android.

הגבלות של חומת אש בין רשתות. אם בארגון שלכם יש חומת אש שמגבילה את התנועה לאינטרנט או ממנו, עליכם להגדיר אותה כך שתאפשר קישוריות עם FCM כדי שאפליקציות הלקוח של Firebase Cloud Messaging יוכלו לקבל הודעות. היציאות שצריך לפתוח הן:

  • 5228
  • 5229
  • 5230

בדרך כלל FCM משתמש ב-5228, אבל לפעמים הוא משתמש ב-5229 וב-5230. FCM לא מספק כתובות IP ספציפיות, לכן צריך לאפשר לחומת האש לקבל חיבורים יוצאים לכל כתובות ה-IP שמפורטות בבלוק כתובות ה-IP שמופיע ב-ASN של Google‏ 15169.

כשהאפליקציה פועלת ברקע, הודעות התראה מוצגות בסרגל האפליקציות, ולא מתבצעת קריאה ל-onMessageReceived. בהתראות עם עומס נתונים, ההתראה מוצגת במגש המערכת, ואפשר לאחזר את הנתונים שכללו את ההתראה מהכוונה שהופעל כשהמשתמש הקיש על ההתראה.

מידע נוסף זמין במאמר קבלה וטיפול בהודעות.

הכלי ליצירת התראות הוא פתרון קל משקל ללא שרת לשליחת הודעות, שמבוסס על Firebase Cloud Messaging. בעזרת מסוף גרפי ידידותי למשתמש ודרישות תכנות מופחתות, הכלי ליצירת התראות מאפשר למשתמשים לשלוח בקלות הודעות כדי לחדש את האינטראקציה עם המשתמשים ולשמר אותם, לעודד את הצמיחה של האפליקציה ולתמוך בקמפיינים שיווקיים.

Firebase Cloud Messaging מספק קבוצה מלאה של יכולות שליחת הודעות באמצעות ערכות ה-SDK ללקוח ופרוטוקולים של שרתים מסוג HTTP ו-XMPP. לפריסות עם דרישות מורכבות יותר לשליחת הודעות, FCM היא האפשרות הנכונה.

הנה השוואה בין יכולות ההודעות של Firebase Cloud Messaging לבין הכלי ליצירת התראות:

יכולות כלי ליצירת התראות Cloud Messaging
Target מכשיר אחד
לקוחות שנרשמו לנושאים (למשל, מזג האוויר)
לקוחות בפלח משתמשים מוגדר מראש (אפליקציה, גרסה, שפה)
לקוחות בקהלים ספציפיים ב-Analytics
לקוחות בקבוצות מכשירים
מצד הלקוח לשרת
סוג ההודעה      התראות עד 2KB
הודעות נתונים עד 4KB
משלוח מיידי
הזמן המקומי העתידי של מכשיר הלקוח
Analytics אוסף מובנה של ניתוח נתונים של התראות וניתוח נתונים של משפך

הכלי ליצירת התראות הוא פתרון מוכן לשימוש שמאפשר לכל אחד לשלוח התראות לטירגוט קהלים ספציפיים על סמך תובנות מ-Google Analytics. בנוסף, הכלי ליצירת התראות מספק ניתוח משפך לכל הודעה, ומאפשר להעריך בקלות את היעילות של ההתראות.

אם אתם מפתחים של GCM, כדי להשתמש בכלי ליצירת התראות תצטרכו לשדרג מ-GCM SDK ל-FCM SDK. כדאי לעיין במדריכים להעברת אפליקציות ל-Android ול-iOS.

תכונות של FCM שהוצאו משימוש ביוני 2023

ממשקי ה-API או ערכות ה-SDK הבאים יושפעו מההוצאה משימוש:

API לשרתי

שם ה-API נקודת קצה ל-API ההשפעה על המשתמשים נדרשת פעולה
פרוטוקול HTTP מדור קודם https://fcm.googleapis.com/fcm/send בקשות לנקודת הקצה יתחילו להיכשל אחרי 21 ביוני 2024. מעבר ל-HTTP v1 API.
פרוטוקול XMPP מדור קודם fcm-xmpp.googleapis.com:5235 בקשות לנקודת הקצה יתחילו להיכשל אחרי 21 ביוני 2024. מעבר ל-HTTP v1 API.
ממשקי API של שרתים למזהי מכונות https://iid.googleapis.com/v1/web/iid בקשות לנקודת הקצה יתחילו להיכשל אחרי 21 ביוני 2024. משתמשים ב-Web JS SDK כדי ליצור רישומים באתר של FCM.
https://iid.googleapis.com/iid/* נקודות הקצה ימשיכו לפעול, אבל הן לא יתמכו באימות באמצעות מפתחות שרת סטטיים אחרי 21 ביוני 2024. שימוש באסימון גישה מסוג OAuth 2.0 שמבוסס על חשבון שירות.
ממשק API לניהול קבוצות של מכשירים https://fcm.googleapis.com/fcm/notification נקודת הקצה (endpoint) תמשיך לפעול, אבל היא לא תתמוך באימות באמצעות מפתחות שרת סטטיים אחרי 21 ביוני 2024. שימוש באסימון גישה מסוג OAuth 2.0 שמבוסס על חשבון שירות.
שליחת הודעות ב-upstream דרך XMPP fcm-xmpp.googleapis.com:5235 קריאות API ל-FirebaseMessaging.send באפליקציה לא יפעילו הודעות ב-upstream לשרת האפליקציה אחרי 21 ביוני 2024. מטמיעים את הפונקציונליות הזו בלוגיקה של השרת. לדוגמה, חלק מהמפתחים מטמיעים נקודת קצה משלהם מסוג HTTP/gRPC ומפעילים את נקודת הקצה ישירות כדי לשלוח הודעות מהלקוחות שלהם לשרת האפליקציה. במדריך למתחילים בנושא gRPC תוכלו למצוא דוגמה להטמעה של שליחת הודעות ב-upstream באמצעות gRPC.
Batch Send API https://fcm.googleapis.com/batch בקשות לנקודת הקצה יתחילו להיכשל אחרי 21 ביוני 2024. עוברים לשיטת השליחה הרגילה של API ב-HTTP v1, שתומכת ב-HTTP/2 לריבוב.

ממשקי API של Firebase Admin SDK

שם ה-API שפת ה-API ההשפעה על המשתמשים נדרשת פעולה
sendToDevice() Node.js ה-API יפסיק לפעול אחרי 21 ביוני 2024 כי הוא קורא ל-API לשליחת HTTP מהדור הקודם. משתמשים בשיטה send() .
sendToDeviceGroup() Node.js ה-API יפסיק לפעול אחרי 21 ביוני 2024 כי הוא קורא ל-API לשליחת HTTP מהדור הקודם. משתמשים בשיטה send() .
sendToTopic() Node.js ה-API יפסיק לפעול אחרי 21 ביוני 2024 כי הוא קורא ל-API לשליחת HTTP מהדור הקודם. משתמשים בשיטה send() .
sendToCondition() Node.js ה-API יפסיק לפעול אחרי 21 ביוני 2024 כי הוא קורא ל-API לשליחת HTTP מהדור הקודם. משתמשים בשיטה send() .
sendAll()/sendAllAsync()/send_all()/sendMulticast()/SendMulticastAsync()/send_multicast() Node.js, ‏ Java, ‏ Python, ‏ Go, ‏ C# ממשקי ה-API האלה יפסיקו לפעול אחרי 21 ביוני 2024 כי הם קוראים ל-Batch Send API . משדרגים ל-SDK העדכני ביותר של Firebase לאדמינים ומשתמשים ב-API החדשים במקום זאת: sendEach()/ sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/ send_each_for_multicast().

חשוב לזכור שממשקי ה-API החדשים כבר לא קוראים ל-API לשליחת קבוצות בקשות שהוצא משימוש, ולכן הם עשויים ליצור יותר חיבורי HTTP בו-זמנית מאשר ממשקי ה-API הישנים.

ערכות SDK ללקוח

גרסאות SDK ההשפעה על המשתמשים נדרשת פעולה
ערכות SDK של GCM (הוצאו משימוש ב-2018) אפליקציות שמשתמשות ב-GCM SDK לא יוכלו לרשום אסימונים או לקבל הודעות מ-FCM אחרי 21 ביוני 2024. אם עדיין לא עשיתם זאת, עליכם לשדרג את Android SDK ל-Firebase SDK העדכני ביותר.
גרסאות SDK של JS שקודמות לגרסה 7.0.0 (שינוי תוכנה משמעותי בגרסה 7.0.0 בשנת 2019) אפליקציות אינטרנט שמשתמשות ב-SDKs ישנים יותר של JS לא יוכלו לרשום אסימונים אחרי 21 ביוני 2024. משדרגים את ה-SDK של Firebase לאינטרנט לגרסה האחרונה.

לא. יש לכם 12 חודשים (20 ביוני 2023 עד 21 ביוני 2024) כדי לעבור מממשקי ה-API הישנים לממשקי ה-API החדשים בלי שדרוג לאחור של השירות. מומלץ מאוד לתכנן את ההעברה בהקדם האפשרי כדי שלא תושפע מהוצאת ה-API משימוש ביוני 2024.

אחרי יוני 2024, יכול להיות שתבחינו במספר גבוה יותר של שגיאות או בחוסר פונקציונליות כשאתם משתמשים בממשקי ה-API או בערכות ה-SDK שצוינו למעלה (מידע נוסף זמין בשאלות הנפוצות הבאות).

FCM תתחיל להשבית בהדרגה את ממשקי ה-API הוצאו משימוש בסביבות 22 ביולי 2024. אחרי התאריך הזה, שירותים שהוצאו משימוש יהיו כפופים לתהליך 'הבהוב', שבו מספר הולך וגדל של בקשות יחזירו תגובות שגיאה. במהלך תקופת ההוצאה משימוש, התדירות של התגובות הבאות לשגיאות וההתנהגות הבאה צפויה לעלות עם הזמן:

קטגוריה מה צפוי לקרות
פרוטוקול HTTP מדור קודם בקשות נדחות עם קוד HTTP‏ 301.
פרוטוקול XMPP מדור קודם בקשות שנדחות עם קוד השגיאה 302.
FCM Upstream הודעות שהמערכת של הקצה העורפי של FCM משליכה בשקט.
Batch Send API בקשות נדחות עם קוד השגיאה UNIMPLEMENTED וההודעה "The API is deprecated".
ערכות SDK של GCM – רישום טוקנים בקשות נדחות עם קוד HTTP‏ 301.
ערכות SDK של GCM – שליחת הודעות בקשות נדחות עם קוד השגיאה 400 והודעת השגיאה "V3 token has been deprecated".
ערכות SDK של JS בגרסה 7.0.0 ואילך בקשות נדחות עם קוד HTTP 501.
שימוש במפתח שרת כדי לגשת למזהי מכונות ולממשקי API לניהול קבוצות של מכשירים בקשות נדחות עם קוד HTTP 401.

אסימון OAuth 2.0 הוא אסימון לטווח קצר שמבוסס על חשבון שירות. זהו מודל האימות הרגיל של Google, והוא מאובטח יותר ממפתחות שרת סטטיים.

במאמר שימוש בפרטי כניסה כדי ליצור אסימוני גישה מוסבר איך משתמשים בספריית Google Auth כדי לקבל אסימונים.

חשוב לזכור שכותרות הבקשות משתנות כשמשתמשים באסימוני OAuth 2.0 לבקשות לנקודות קצה שונות.

  • HTTP v1 API: Authorization: Bearer $oauth_token
  • Instance ID server API ו-Device group management API: Authorization: Bearer $oauth_token
    access_token_auth: true

מומלץ להגדיל בהדרגה את נפח התנועה ל-API החדש. אם אתם מתכננים לשלוח יותר מ-600,000 הודעות בדקה באופן קבוע, פנו לתמיכה של Firebase כדי לקבל הוראות להגדלת המכסה או המלצות לחלוקת התנועה.

נושאים: כשמשתמשים ב-API בגרסה 1, אין צורך להוסיף את הקידומת ‎/topics/ לטירגוט לפי נושא.

קבוצות מכשירים: אפשר להשתמש בטוקן קבוצתי כיעד של טוקן ב-HTTP v1 API. עם זאת, ה-API של HTTP v1 לא מחזיר את מספר הבקשות שבוצעו בהצלחה או שנכשלו בתגובה. מומלץ להשתמש בנושאי FCM או לנהל את קבוצות המכשירים בעצמכם.

לא. התכונה הזו, שנקראת 'שידור מרובות' בממשקי API קודמים של HTTP, לא נתמכת ב-HTTP v1 API, שמתוכנן בצורה טובה יותר להתאמה לעומס.

בתרחישים לדוגמה שבהם זמן האחזור מקצה לקצה קריטי, או שבהם הגודל הכולל של ההפצה (fanout) קטן (פחות ממיליון), Google ממליצה לשלוח כמה בקשות נפרדות באמצעות HTTP v1 API. ב-99.9% מהבקשות להעברה קבוצתית (שליחת פחות מ-100 אסימונים), הביצועים של HTTP v1 API באמצעות HTTP/2 דומים. בתרחישי שימוש חריגים (שליחת 1,000 אסימונים), הוא משיג עד שליש ממדד הקצב של תעבורת הנתונים, ולכן נדרשת בו-זמניות נוספת כדי לבצע אופטימיזציה לתרחיש השימוש הלא אופייני הזה. משתמשים יכולים ליהנות מהיתרונות של מהימנות וזמינות גבוהים יותר ב-HTTP v1 API בהשוואה ל-multicast מדור קודם.

בתרחישי שימוש שבהם קצב העברת הנתונים ורוחב הפס של תעבורת הנתונים היוצאת הם בעדיפות גבוהה, או כשגודל ההתפצלות הכולל גדול (יותר ממיליון), Google ממליצה להשתמש בהעברת הודעות בנושאים. כדי לשלוח הודעות בנושאים צריך לבצע פעולה חד-פעמית כדי להירשם לנושא, אבל אפשר לשלוח עד 10,000 בקשות לשנייה לכל פרויקט ללא הגבלה מקסימלית על גודל הנושא.

פלטפורמה גרסת ה-SDK של Firebase לאדמינים
Node.js ‎>=11.7.0
Python ‎>=6.2.0
Java ‎>=9.2.0
Go >=4.12.0
‎.NET >=2.4.0

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

לקבלת עזרה, אפשר לפנות לצוות התמיכה של Google Cloud.

לא. החל מ-20 במאי 2024, לא תהיה יותר אפשרות להפעיל את ממשקי ה-API הקודמים בפרויקטים חדשים.

אחרי שתהיה לכם ודאות שהשלמתם את המעבר ל-HTTP v1 API, תוכלו להשבית את Cloud Messaging API הקודם (יכול להיות שהדף לא ייטען אם ה-API כבר הושבת).

מכסות ומגבלות של FCM

לצערנו, אין תמיכה בתרחיש לדוגמה הזה. עליכם לפזר את התנועה לאורך 5 דקות.

לצערנו, לא נוכל להגדיל את המכסות מסיבה זו. עליכם לפזר את התנועה לאורך 5 דקות.

מומלץ להתחיל לשלוח את ההתראות לפחות 5 דקות לפני האירוע.

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

במאמר בנושא Google Cloud מוסבר איך לצייר תרשים של מדדי המכסות ולעקוב אחריהם.

אנחנו מבינים שהמגבלות על המכסות יכולות להיות מאתגרות, אבל המכסות חיוניות לשמירה על אמינות השירות, ואין לנו אפשרות להעניק פטור.

אפשר לבקש מכסה נוספת כדי לתמוך באירוע שנמשך עד חודש אחד. יש להגיש את הבקשה לפחות חודש אחד לפני האירוע, ולציין פרטים ברורים לגבי מועד ההתחלה והסיום של האירוע. צוות FCM יעשה כל מאמץ מעשי כדי למלא את הבקשה (לא ניתן להבטיח הגדלה). הגדלות המכסות האלה יבטלו אחרי תאריך הסיום של האירוע.

Google לא תשנה את המכסות בקלות, אבל ייתכן שהן ישתנו לפי הצורך כדי להגן על תקינות המערכת. כשהדבר אפשרי, Google תודיע לכם מראש על שינויים כאלה.



Cloud Storage for Firebase

במסמכי התיעוד של Cloud Storage מפורט מידע נוסף על השינויים בקטגוריה Cloud Storage שמוגדרת כברירת מחדל.

Cloud Storage for Firebase יוצרת קטגוריית ברירת מחדל ברמה ללא עלות App Engine. כך תוכלו להתחיל להשתמש ב-Firebase וב-Cloud Storage for Firebase במהירות, בלי להזין פרטי כרטיס אשראי או להפעיל חשבון Cloud Billing. הוא גם מאפשר לכם לשתף בקלות נתונים בין Firebase לבין פרויקט Google Cloud.

עם זאת, יש שני מקרים ידועים שבהם אי אפשר ליצור את הקטגוריה הזו ולא תוכלו להשתמש ב-Cloud Storage for Firebase:

  • פרויקט שיובא מ-Google Cloud וכללה אפליקציית Datastore מסוג App Engine (אדון/עבד).
  • פרויקט שיובא מ-Google Cloud שכולל פרויקטים עם קידומת של דומיין. לדוגמה: domain.com:project-1234.

בשלב זה אין פתרונות עקיפים לבעיות האלה, ולכן מומלץ ליצור פרויקט חדש במסוף Firebase ולהפעיל את Cloud Storage for Firebase בפרויקט הזה.

סביר להניח שקודי השגיאה 412 מופיעים כי ה-API של Cloud Storage for Firebase לא מופעל בפרויקט או שלחשבון השירות הנדרש חסרות ההרשאות הנדרשות.

שאלות נפוצות בנושא

בפרויקטים בתוכנית ללא תשלום (Spark), מערכת Firebase חוסמת העלאות ואירוח של סוגי קבצים מסוימים שניתן להריץ ב-Windows, ב-Android וב-Apple באמצעות Cloud Storage for Firebase ו-Firebase Hosting. המדיניות הזו נועדה למנוע התנהלות פוגעת בפלטפורמה שלנו.

הצגה, אירוח והעלאות של קבצים אסורים חסומים בכל הפרויקטים ב-Spark שנוצרו ב-28 בספטמבר 2023 ואילך. בפרויקטים קיימים של Spark עם קבצים שהועלו לפני התאריך הזה, עדיין אפשר להעלות קבצים כאלה ולארח אותם.

ההגבלה הזו חלה על פרויקטים בתוכנית Spark. פרויקטים בתוכנית 'תשלום לפי שימוש' (Blaze) לא יושפעו.

לא ניתן לארח ב-Firebase Hosting וב-Cloud Storage for Firebase את סוגי הקבצים הבאים:

  • קובצי Windows עם הסיומת .exe, ‏ .dll ו-.bat
  • קבצים של Android עם הסיומת .apk
  • קובצי פלטפורמה של Apple עם הסיומת .ipa

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

אם אתם עדיין רוצים לארח את סוגי הקבצים האלה אחרי 28 בספטמבר 2023:

  • לאירוח: צריך לשדרג לתוכנית Blaze כדי שתוכלו לפרוס את סוגי הקבצים האלה ב-Firebase Hosting באמצעות הפקודה firebase deploy.
  • לאחסון: צריך לשדרג לתוכנית Blaze כדי להעלות את סוגי הקבצים האלה לקטגוריה שבחרתם באמצעות ה-CLI של GCS, מסוף Firebase או מסוף Google Cloud.

משתמשים בכלים של Firebase כדי לנהל את המשאבים של Firebase Hosting ו-Cloud Storage.

  • כדי לנהל את המשאבים ב-Firebase Hosting, משתמשים במסוף Firebase כדי למחוק גרסאות בהתאם למדריך הזה.
  • כדי לנהל משאבים ב-Cloud Storage, עוברים אל דף המוצר של Storage בפרויקט.
    1. בכרטיסייה Files, מאתרים את הקבצים שאסור למחוק בהיררכיית התיקיות, ומסמנים אותם באמצעות התיבה לצד שמות הקבצים בצד ימין של החלונית.
    2. לוחצים על מחיקה ומאשרים שהקבצים נמחקו.

מידע נוסף על ניהול משאבי אירוח באמצעות הכלים של Firebase ועל קטגוריות של Cloud Storage for Firebase באמצעות ספריות לקוח זמין במסמכי העזרה שלנו.

בעבר, בקשות להורדה ולהעלאה ל-Cloud Storage for Firebase API לא נספרו בצורה נכונה. נקטנו פעולות כדי לפתור את הבעיה, החל מ-15 בספטמבר 2023.

משתמשי Blaze יתחילו לשלם על פעולות העלאה והורדה בחיוב החודשי. משתמשי Spark יתחילו להיספר במסגרת המכסה החודשית בחינם.

מומלץ לעקוב אחרי דף השימוש כדי לבדוק אם יש עליות שעשויות להיספר במסגרת המגבלות שלכם.

ב-Firebase נעשה שימוש בחשבונות שירות כדי להפעיל ולנהל שירותים בלי לשתף את פרטי הכניסה של המשתמשים. כשיוצרים פרויקט ב-Firebase, יכול להיות שתבחינו שכבר יש בו כמה חשבונות שירות.

חשבון השירות שבו Cloud Storage for Firebase משתמש מוגבל לפרויקט שלכם, ונקרא
service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com.

אם השתמשתם ב-Cloud Storage for Firebase לפני 19 בספטמבר 2022, יכול להיות שתראו חשבון שירות נוסף בקטגוריות Cloud Storage מקושרות בעבר בשם firebase-storage@system.gserviceaccount.com. החל מ-19 בספטמבר 2022, חשבון השירות הזה לא נתמך יותר.

אפשר לראות את כל חשבונות השירות שמשויכים לפרויקט במסוף Firebase, בכרטיסייה Service accounts.

הוספת חשבון השירות החדש

אם הסרתם את חשבון השירות בעבר או שהוא לא נמצא בפרויקט, תוכלו לבצע אחת מהפעולות הבאות כדי להוסיף את החשבון.

  • (מומלץ) אוטומטית: משתמשים בנקודת הקצה של ה-REST‏ AddFirebase כדי לייבא מחדש את הקטגוריה ל-Firebase. צריך להפעיל את נקודת הקצה הזו רק פעם אחת, ולא פעם אחת לכל קטגוריה מקושרת.
  • ידנית: פועלים לפי השלבים שמפורטים במאמר יצירה וניהול של חשבונות שירות. לפי ההוראות במדריך, מוסיפים חשבון שירות עם תפקיד IAM‏ Cloud Storage for Firebase Service Agent ועם השם
    service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com.
הסרת חשבון השירות החדש

אנחנו לא ממליצים להסיר את חשבון השירות, כי הפעולה הזו עלולה לחסום את הגישה של האפליקציות לקטגוריות Cloud Storage. כדי להסיר את חשבון השירות מהפרויקט, פועלים לפי ההוראות במאמר השבתה של חשבון שירות.

תמחור Cloud Storage for Firebase

במסמכי העזרה של Cloud Storage מפורט מידע נוסף על השינויים בדרישות של תוכניות התמחור ב-Cloud Storage.

אפשר להיכנס לדף התמחור של Firebase ולהשתמש במחשבון של תוכנית Blaze. בחשבון מפורטים כל סוגי השימוש ב-Cloud Storage for Firebase.

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

כשחורגים מהמגבלות של Cloud Storage בפרויקט בתוכנית Spark, התוצאה תלויה בסוג המגבלה שחורגים ממנה:

  • אם תחרגו מהמגבלה של GB ששמורים, לא תוכלו לאחסן יותר נתונים בפרויקט הזה, אלא אם תסירו חלק מהנתונים השמורים או תשדרגו למינוי עם נפח אחסון גדול יותר או עם נפח אחסון בלתי מוגבל.
  • אם תחרגו מהמגבלה של GB שהורדו, לא תוכלו להוריד נתונים נוספים באפליקציה עד למחרת (החל מחצות, לפי שעון החוף המערבי בארה"ב), אלא אם תבצעו שדרוג לתוכנית עם מגבלות פחות מחמירות או ללא מגבלות.
  • אם תחרגו מהמגבלה של פעולות ההעלאה או ההורדה, האפליקציה לא תוכל להעלות או להוריד נתונים נוספים עד ליום הבא (החל מחצות, לפי שעון החוף המערבי בארה"ב), אלא אם תבצעו שדרוג למינוי עם מגבלות פחות מחמירות או ללא מגבלות.



Crashlytics

Crashlyticsדף השאלות הנפוצות והטיפים לפתרון בעיות מכיל טיפים שימושיים ותשובות לשאלות נפוצות נוספות.



שאלות נפוצות בנושא Dynamic Links

ממשק ה-API של getInvitation מנקה את הקישור הדינמי השמור כדי למנוע גישה אליו פעמיים. חשוב לקרוא ל-API הזה עם הפרמטר autoLaunchDeepLink שמוגדר כ-false בכל אחת מפעילויות קישור העומק כדי לנקות אותו במקרה שהפעילות מופעלת מחוץ לפעילות הראשית.



Hosting

בפרויקטים בתוכנית ללא תשלום (Spark), מערכת Firebase חוסמת העלאות ואירוח של סוגי קבצים מסוימים שניתן להריץ ב-Windows, ב-Android וב-Apple באמצעות Cloud Storage for Firebase ו-Firebase Hosting. המדיניות הזו נועדה למנוע התנהלות פוגעת בפלטפורמה שלנו.

הצגה, אירוח והעלאות של קבצים אסורים חסומים בכל הפרויקטים ב-Spark שנוצרו ב-28 בספטמבר 2023 ואילך. בפרויקטים קיימים של Spark עם קבצים שהועלו לפני התאריך הזה, עדיין אפשר להעלות קבצים כאלה ולארח אותם.

ההגבלה הזו חלה על פרויקטים בתוכנית Spark. פרויקטים בתוכנית 'תשלום לפי שימוש' (Blaze) לא יושפעו.

לא ניתן לארח ב-Firebase Hosting וב-Cloud Storage for Firebase את סוגי הקבצים הבאים:

  • קובצי Windows עם הסיומת .exe, ‏ .dll ו-.bat
  • קבצים של Android עם הסיומת .apk
  • קובצי פלטפורמה של Apple עם הסיומת .ipa

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

אם אתם עדיין רוצים לארח את סוגי הקבצים האלה אחרי 28 בספטמבר 2023:

  • לאירוח: צריך לשדרג לתוכנית Blaze כדי שתוכלו לפרוס את סוגי הקבצים האלה ב-Firebase Hosting באמצעות הפקודה firebase deploy.
  • לאחסון: צריך לשדרג לתוכנית Blaze כדי להעלות את סוגי הקבצים האלה לקטגוריה שבחרתם באמצעות ה-CLI של GCS, מסוף Firebase או מסוף Google Cloud.

משתמשים בכלים של Firebase כדי לנהל את המשאבים של Firebase Hosting ו-Cloud Storage.

  • כדי לנהל את המשאבים ב-Firebase Hosting, משתמשים במסוף Firebase כדי למחוק גרסאות בהתאם למדריך הזה.
  • כדי לנהל משאבים ב-Cloud Storage, עוברים אל דף המוצר של Storage בפרויקט.
    1. בכרטיסייה Files, מאתרים את הקבצים שאסור למחוק בהיררכיית התיקיות, ומסמנים אותם באמצעות תיבת הסימון לצד שמות הקבצים בצד ימין של החלונית.
    2. לוחצים על מחיקה ומאשרים שהקבצים נמחקו.

מידע נוסף על ניהול משאבי אירוח באמצעות הכלים של Firebase ועל קטגוריות של Cloud Storage for Firebase באמצעות ספריות לקוח זמין במסמכי העזרה שלנו.

מערכת Firebase מוסיפה באופן אוטומטי קבצים נוספים שמכילים מטא-נתונים לגבי האתר Hosting, והקבצים האלה נכללים במספר הכולל של הקבצים במהדורה.

Hosting מוגבל לקבצים בודדים בגודל של עד 2GB.

מומלץ לאחסן קבצים גדולים יותר באמצעות Cloud Storage, שמציע מגבלת גודל מקסימלית של כמה טרה-בייטים לאובייקטים בודדים.

התכונה Firebase Hosting לאתרים מרובים תומכת ב-36 אתרים לכל היותר בכל פרויקט.



Performance Monitoring

Performance Monitoringדף השאלות הנפוצות והטיפים לפתרון בעיות מכיל טיפים שימושיים ותשובות לשאלות נפוצות נוספות.

אפשר ליצור עד 400 תבניות URL מותאמות אישית בסך הכול לכל אפליקציה, ועד 100 תבניות URL מותאמות אישית לכל דומיין של אותה אפליקציה.

כדי להציג נתוני ביצועים בזמן אמת, צריך לוודא שהאפליקציה משתמשת בגרסת SDK של Performance Monitoring שתואמת לעיבוד נתונים בזמן אמת.

  • iOS – גרסה 7.3.0 ואילך
  • tvOS – גרסה 8.9.0 ואילך
  • Android – גרסה 19.0.10 ואילך (או Firebase Android BoM גרסה 26.1.0 ואילך)
  • אינטרנט – גרסה 7.14.0 ואילך

חשוב לזכור שתמיד מומלץ להשתמש בגרסה האחרונה של ה-SDK, אבל כל אחת מהגרסאות שמפורטות למעלה תאפשר ל-Performance Monitoring לעבד את הנתונים שלכם כמעט בזמן אמת.



Realtime Database

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

המגבלה של תוכנית Spark היא 100, ואי אפשר להגדיל אותה. בתוכניות Flame ו-Blaze יש מגבלה של 200,000 חיבורים בו-זמנית לכל מסד נתונים.

המגבלה הזו לא זהה למספר הכולל של המשתמשים באפליקציה, כי לא כל המשתמשים מתחברים בו-זמנית. אם אתם זקוקים ליותר מ-200,000 חיבורים בו-זמנית, כדאי לקרוא את המאמר התאמה לעומס באמצעות מספר מסדי נתונים.

לכל מכונה של Realtime Database יש מגבלות על מספר פעולות הכתיבה לשנייה. לכתיבה קטנה, המגבלה הזו היא בערך 1,000 פעולות כתיבה לשנייה. אם אתם מתקרבים למגבלה הזו, תוכלו להשתמש ב אוסף פעולות באמצעות עדכונים בכמה נתיבים כדי לשפר את קצב העברת הנתונים.

בנוסף, לכל מכונה של מסד נתונים יש מגבלה על מספר החיבורים בו-זמנית למסד הנתונים. מגבלות ברירת המחדל שלנו גדולות מספיק לרוב האפליקציות. אם אתם מפתחים אפליקציה שדורשת יכולת התאמה לעומס נוספת, יכול להיות שתצטרכו לפצל את האפליקציה לכמה מכונות של מסדי נתונים כדי להגדיל את יכולת ההתאמה לעומס. אפשר גם להשתמש ב-Cloud Firestore כמסד נתונים חלופי.

אם קיבלתם התראה באימייל או התראה במסוף Firebase על כך שחרגתם ממגבלות השימוש ב-Realtime Database, תוכלו לטפל בבעיה בהתאם למגבלת השימוש שחרגתם ממנה. כדי לראות את השימוש ב-Realtime Database, עוברים למרכז הבקרה Realtime Database Usage במסוף Firebase.

אם חרגתם ממגבלת ההורדות, תוכלו לשדרג את תוכנית התמחור של Firebase או להמתין עד למחזור החיובים הבא, שבו מגבלת ההורדות תתאפס. כדי להפחית את מספר ההורדות, אפשר לנסות את השלבים הבאים:

  • מוסיפים שאילתות כדי להגביל את הנתונים שמוחזרים על ידי פעולות ההאזנה.
  • בודקים אם יש שאילתות שלא נוספו לאינדקס.
  • להשתמש במאזינים שמורידים רק עדכונים לנתונים – לדוגמה, on() במקום once().
  • שימוש בכללי אבטחה כדי לחסום הורדות לא מורשות.

אם חרגתם ממכסת האחסון, כדאי לשדרג את תוכנית התמחור כדי למנוע שיבושים בשירות. כדי לצמצם את כמות הנתונים במסד הנתונים, אפשר לנסות את השלבים הבאים:

  • להריץ משימות ניקוי תקופתיות.
  • צמצום של נתונים כפולים במסד הנתונים.

לתשומת ליבכם, יכול להיות שיחלוף זמן מה עד שהמחיקה של הנתונים תופיע במכסת האחסון.

אם חרגתם ממגבלת החיבורים בו-זמנית למסדי נתונים, כדאי לשדרג את התוכנית כדי למנוע שיבושים בשירות. כדי לנהל חיבורים בו-זמניים למסד הנתונים, נסו להתחבר דרך משתמשים באמצעות ה-API ל-REST אם הם לא דורשים חיבור בזמן אמת.

כדי לספק לכם מחיר צפוי, יש מגבלה על המשאבים שזמינים לכם בתוכניות Spark. כלומר, אם תחרגו מאחד מהמגבלות של התוכנית בחודש מסוים, האפליקציה תושבת כדי למנוע שימוש נוסף במשאבים וחיובים נוספים.

כשהאפליקציה תגיע למגבלת הסימולטניות בתוכנית Spark, כל החיבורים הבאים יידחו עד שחלק מהחיבורים הקיימים ייסגרו. האפליקציה תמשיך לפעול אצל משתמשים שמחוברים.

גיבויים אוטומטיים הם תכונה מתקדמת ללקוחות בתוכנית התמחור Blaze, שמאפשרת לגבות את נתוני Firebase Realtime Database פעם ביום ולהעלות אותם אל Google Cloud Storage.

אנחנו לא מציעים גיבויים שעתיים.

בחישוב רוחב הפס, אנחנו בדרך כלל כוללים את התקורה של הצפנת ה-SSL (על סמך שכבה 5 במודל OSI). עם זאת, בספטמבר 2016 הוספנו באג שגרם לכך שהדיווח על רוחב הפס יתעלם מהעלות הנוספת של ההצפנה. כתוצאה מכך, יכול להיות שהתרחשה דיווח מלאכותי על רוחב פס נמוך וחיובים נמוכים בחשבון שלך במשך כמה חודשים.

פרסמנו תיקון לבאג בסוף מרץ 2017, והדיווח על רוחב הפס והחיוב חזרו לרמות הרגילות.



Remote Config

אם לא מאחזרים ערכים באמצעות fetchAndActivate(), הערכים מאוחסנים באופן מקומי אבל לא מופעלים. כדי להפעיל ערכים שאוחזרו כדי שהם ייכנסו לתוקף, צריך להפעיל את הפונקציה activate. בעזרת העיצוב הזה תוכלו לבחור מתי להפעיל את activate, וכך לקבוע מתי ההתנהגות והמראה של האפליקציה ישתנו. אחרי שמפעילים את activate, קוד המקור של האפליקציה קובע מתי נעשה שימוש בערכים המעודכנים של הפרמטרים.

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

מידע נוסף על Remote Config API ועל מודל השימוש זמין במאמר סקירה כללית על Remote Config API.

במהלך פיתוח האפליקציה, כדאי לאחזר ולהפעיל הגדרות בתדירות גבוהה מאוד (פעמים רבות בשעה) כדי לאפשר לכם לבצע איטרציות מהירות במהלך הפיתוח והבדיקה של האפליקציה. כדי לבצע איטרציות מהירות בפרויקט עם עד 10 מפתחים, תוכלו להגדיר באופן זמני באפליקציה אובייקט FirebaseRemoteConfigSettings עם מרווח אחזור מינימלי נמוך (setMinimumFetchIntervalInSeconds).

בדרך כלל, המכשירים מקבלים ערכים שאוחזרו תוך פחות משנייה, ולעיתים קרובות תוך אלפיות שנייה. השירות Remote Config מטפל בבקשות אחזור תוך אלפיות שנייה, אבל הזמן הנדרש להשלמת בקשת אחזור תלוי במהירות הרשת של המכשיר ובזמן האחזור של חיבור הרשת שבו המכשיר משתמש.

אם המטרה שלכם היא שהערכים שאוחזרו ייכנסו לתוקף באפליקציה בהקדם האפשרי, אבל בלי ליצור חוויית משתמש מטרידה, כדאי להוסיף קריאות ל-fetchAndActivate בכל פעם שהאפליקציה מבצעת רענון מסך מלא.



Test Lab

בדף פתרון הבעיות של Test Lab תוכלו למצוא טיפים שימושיים ותשובות לשאלות נפוצות.



אחסון של פילוח משתמשים ב-Firebase

במאגר של Firebase לפילוח משתמשים מאוחסנים מזהי התקנות של Firebase, מאפיינים ופלחים קשורים, וגם רשימות של קהלים שיצרתם. המידע הזה משמש לצורך קבלת נתוני טירגוט משירותי Firebase אחרים שמשתמשים בהם, כמו התאמה אישית של Crashlytics, ‏ FCM ו-Remote Config ועוד.