יש לך אתגרים אחרים או שאינך רואה את הבעיה המתוארת להלן? אנא דווח על באג או בקש תכונה והצטרף לדיוני Stack Overflow .
פרויקטים של Firebase ואפליקציות Firebase
מהו פרויקט Firebase?
פרויקט הוא מיכל לאפליקציות ב- iOS, Android ורשת. הוא תומך בשיתוף של תכונות כגון מסד נתונים, תצורה והודעות בין האפליקציות החוצה פלטפורמות שלך.
עליך להוסיף גרסאות iOS, Android ואפליקציות אינטרנט לפרויקט יחיד. אתה יכול להשתמש במספר פרויקטים לתמיכה בסביבות מרובות, כגון פיתוח, בימוי והפקה.
כיצד אוכל להוסיף את Firebase לפרויקט קיים של Google Cloud?
ייתכן שיש לך פרויקטים קיימים המנוהלים באמצעות Google Cloud Console או מסוף ה- API של Google . כברירת מחדל, פרויקטים אלה גלויים במסוף Firebase , אך אינם נחשבים כפרוייקטים של Firebase.
כדי להוסיף את Firebase לפרויקט Google Cloud הקיים שלך, לחץ על הוסף פרויקט בדף הנחיתה של מסוף Firebase , ואז בחר את הפרויקט בתפריט שם הפרויקט .
כמה פרויקטים יכולים להיות לי בכל חשבון?
- תוכנית Spark Free-Tier - מכסת הפרויקט שלך מוגבלת למספר מועט של פרויקטים (בדרך כלל בסביבות 5-10).
- תוכניות בתשלום - מכסת הפרויקט שלך לחשבון חיוב בענן גדלה משמעותית כל עוד חשבונך לחיוב בענן נמצא במצב תקין.
המגבלה על מכסת הפרויקטים לעיתים נדירות מדאיגה את רוב המפתחים, אך במידת הצורך תוכל לבקש הגדלה של מכסת הפרויקט שלך .
שים לב כי מחיקה מוחלטת של פרויקט דורשת 30 יום ונחשבת למכסה שלך עד שהיא תמחק לחלוטין.
כמה אפליקציות Firebase יכולות להיות לי בפרויקט Firebase?
פרויקט Firebase הוא מיכל לאפליקציות Firebase בכל iOS, Android ורשת. Firebase מגביל את המספר הכולל של אפליקציות Firebase בפרויקט Firebase ל -30.
לאחר מספר זה הביצועים מתחילים להתדרדר (במיוחד עבור Google Analytics) ובסופו של דבר, במספר גבוה יותר של אפליקציות, פונקציונליות מסוימת של מוצרים מפסיקה לעבוד. בנוסף, הוספת אפליקציית Firebase לפרויקט יוצרת מזהה לקוח אחד או יותר של OAuth 2.0. יש גבול של כ- 30 מזהי לקוח שניתן ליצור במסגרת פרויקט יחיד.
עליך לוודא שכל אפליקציות Firebase בפרויקט Firebase יחיד הן גרסאות פלטפורמה של אותה יישום מנקודת מבט של משתמש קצה. לדוגמא, אם אתה מפתח אפליקציית תווית לבנה, כל אפליקציה שתויגה באופן עצמאי אמורה לקבל פרויקט Firebase משלה. בקר ב'בנת פרויקטים של Firebase ' כדי ללמוד שיטות עבודה מומלצות נוספות אודות פרויקטים של Firebase ואפליקציות Firebase.
במקרה הנדיר שהפרויקט שלך דורש יותר מ -30 אפליקציות, אתה יכול לבקש העלאת מגבלת האפליקציה. הפרויקט שלך חייב להיות בתוכנית החיוב של Blaze כדי להגיש בקשה זו. בקר ב- Google Cloud Console כדי להגיש את בקשתך ולבדוק אותה. למידע נוסף על ניהול מכסות בתיעוד Google Cloud.
היכן אוכל למצוא את מזהה האפליקציה לאפליקציית Firebase שלי?
במסוף Firebase, עבור אל settings הפרויקט שלך. גלול מטה לכרטיס האפליקציות שלך ולחץ על אפליקציית Firebase הרצויה כדי להציג את פרטי האפליקציה, כולל מזהה האפליקציה שלה.
להלן מספר ערכי זיהוי אפליקציה לדוגמא:
- יישומי iOS של Firebase:
1:1234567890:ios:321abc456def7890
- אפליקציות אנדרואיד של Firebase:
1:1234567890:android:321abc456def7890
- יישומי אינטרנט של Firebase:
1:1234567890:web:321abc456def7890
האם עלי לספק SHA-1 בעת הוספת אפליקציית Android?
מידע על SHA-1 נדרש על ידי אימות Firebase (כאשר משתמשים בכניסה של Google או בכניסה למספר טלפון ) וקישורים דינמיים של Firebase . אם אינך משתמש בתכונות אלה, אינך צריך לספק SHA-1.
כיצד אוכל לפתור שגיאה זו: "כבר קיים לקוח OAuth2 עבור שם חבילה זה ו- SHA-1 בפרויקט אחר"?
שגיאה זו מתרחשת אם אנו מגלים שפרוייקט אחר של Firebase או Google Cloud מכיל מזהה לקוח של OAuth 2.0 עם שם החבילה ו- SHA-1 שציינת. למד כיצד לפתור שגיאה זו .
כשאני מוסיף את Firebase לפרויקט האנדרואיד שלי, אני מקבל את השגיאה "לא הצלחתי למצוא".
שגיאה זו בדרך כלל פירושה שהאפליקציה שלך חסרה הפניה אחת או יותר למאגר Maven של גוגל. בקובץ build.gradle
ברמת הפרויקט שלך, הקפד לכלול את מאגר Maven של google()
) גם buildscript
allprojects
וגם בקטעי allprojects
.
מהן התנאים המוקדמים לקישור Play / AdMob / AdWords / BigQuery לפרויקט Firebase שלי?
- כדי לקשר את חשבון Play שלך, עליך להיות גם בעל פרויקט Firebase וגם בעל חשבון Play.
- כדי לקשר את אפליקציית AdMob שלך, אתה צריך להיות גם בעל פרויקט Firebase וגם מנהל AdMob.
- כדי לקשר את חשבון AdWords שלך, עליך להיות גם בעל פרויקט Firebase וגם מנהל מערכת של AdWords.
- כדי לקשר את פרויקט BigQuery שלך, עליך להיות בעל פרויקט Firebase.
אילו הודעות קוד פתוח עלי לכלול באפליקציה שלי?
ב- iOS, תרמיל Firebase מכיל קובץ הודעות הכולל את הערכים הרלוונטיים. ה- SDK של Android של Firebase מכיל Activity
עוזרת להצגת פרטי רישיון.
באילו גרסאות Xcode תומכת Firebase?
Firebase תומכת בעד שתי גרסאות עיקריות של Xcode, לא כולל גרסאות Xcode שאפל כבר אינה תומכת בהן. לדוגמא, החל ממרץ 2019, אפל דורשת לפחות iOS 12 בכל אפליקציות ה- iOS, כלומר התמיכה ב- Xcode 9 תיפטר ו- Xcode 10 תהיה הגרסה העיקרית היחידה הנתמכת.
השינויים בתמיכה בגרסאות ספציפיות או גרסאות תיקון של Xcode (למשל, 9.2.0 עד 9.4.1) נקבעים על פי הצרכים של Firebase iOS SDK וסקר השימוש במפתחים. שינויים אלה באים לידי ביטוי בהערות השחרור של Firebase iOS SDK ובדף ההתקנה של Firebase iOS SDK .
כדי לראות את גרסת ה- Xcode המינימלית הנתמכת על ידי Firebase iOS SDK, בדוק את הדרישות המפורטות בסעיף הוספת Firebase לפרויקט iOS שלך .
תמיכה ב- Firebase במהדורות בטא של Xcode זמינה על בסיס "המאמץ הטוב ביותר". מפתחים יכולים לעקוב אחר ולשלוח בעיות במאגר Firebase iOS SDK ב- GitHub .
קונסולת Firebase
מהם הדפדפנים הנתמכים לגישה למסוף Firebase?
ניתן לגשת למסוף Firebase מגרסאות עדכניות של דפדפני שולחן עבודה פופולריים כמו Chrome, Firefox, Safari ו- Edge. דפדפנים ניידים כרגע אינם נתמכים באופן מלא.
מדוע קונסולת Firebase לא נטענת עבורי?
להלן מספר שלבים לפתרון בעיות לנסות אם אתה נתקל בבעיות בטעינת מסוף Firebase:
- בדוק בשורת המסוף בלוח המחוונים של מצב Firebase אם קיימים הפרעות אפשריות בשירות.
- ודא שאתה משתמש בדפדפן נתמך .
- נסה לטעון את קונסולת Firebase בחלון גלישה בסתר או פרטי.
- השבת את כל תוספי הדפדפן.
- בדוק אם יש משהו שחוסם את החיבור שלך כמו תוכנת אנטי-וירוס, פרוקסי רשת או חומת אש. אם כן, נסה להשבית אותם.
- נסה לטעון את מסוף Firebase באמצעות רשת או התקן אחר.
אם אף אחד משלבי פתרון הבעיות לעיל לא פותר את הבעיה, אנא פנה לתמיכה .
כיצד נקבעת שפת מסוף Firebase שלי?
הגדרת השפה עבור מסוף Firebase מבוססת על השפה שנבחרה בהגדרות חשבון Google שלך.
לשינוי העדפת השפה שלך, ראה שינוי שפה .
קונסולת Firebase תומכת בשפות הבאות:
- אנגלית
- פורטוגזית ברזילאית
- צָרְפָתִית
- גֶרמָנִיָת
- אינדונזית
- יַפָּנִית
- קוריאנית
- רוּסִי
- סינית פשוטה
- ספרדית
- סינית מסורתית
באילו תפקידים והרשאות תומכת קונסולת Firebase?
מסוף Firebase ו- Google Cloud Console משתמשים באותם תפקידים והרשאות בסיסיים. למידע נוסף על תפקידים והרשאות בתיעוד IAM של Firebase .
Firebase תומך בתפקידים הבסיסיים (הבסיסיים) של הבעלים, העורך והצופה:
- בעל פרויקט יכול להוסיף חברים אחרים לפרויקט, להגדיר אינטגרציות (פרויקט המקשר לשירותים כמו BigQuery או Slack), ויש לו גישה עריכה מלאה לפרויקט.
- לעורך הפרויקט יש גישה עריכה מלאה לפרויקט.
- לצופה בפרויקט יש גישה לקריאה בלבד עבור הפרויקט. שים לב כי קונסולת Firebase כרגע אינה מסתירה / משביתת פקדי ממשק משתמש לעריכה מצופי הפרויקט, אך פעולות אלה ייכשלו עבור חברי הפרויקט שהוקצו לתפקיד הצופה.
Firebase תומך גם ב:
- תפקידים מוגדרים מראש של Firebase - תפקידים ספציפיים לאוצר Firebase המאפשרים בקרת גישה מפורטת יותר מאשר התפקידים הבסיסיים של בעלים, עורך ומציג.
- תפקידים מותאמים אישית - תפקידי IAM מותאמים אישית שאתה יוצר כדי להתאים קבוצה של הרשאות העומדות בדרישות הספציפיות של הארגון שלך.
תמחור
אילו מוצרים משלמים? אילו בחינם?
מוצרי התשתית בתשלום של Firebase הם מסד הנתונים בזמן אמת, אחסון ענן עבור Firebase, פונקציות, אירוח, מעבדת בדיקות ואימות טלפון. אנו מציעים שכבה חופשית לכל התכונות הללו.
ל- Firebase יש גם מוצרים רבים בחינם: Analytics, העברת הודעות בענן, מלחין ההודעות, תצורה מרחוק, יצירת אינדקס לאפליקציות, קישורים דינמיים ודיווח על קריסות. אתה יכול להשתמש בכמות בלתי מוגבלת מכל אחד מהמוצרים הללו בכל התוכניות, כולל תוכנית ה- Spark החינמית שלנו. בנוסף, כל מאפייני האימות מעבר לאימות הטלפון הם בחינם.
האם Firebase מציע זיכויי ניסיון בחינם עבור מוצרים בתשלום?
ניתן להשתמש בשירותים בתשלום של Firebase במסגרת תקופת הניסיון בחינם של Google Cloud . משתמשי Google Cloud ו- Firebase חדשים יכולים לנצל תקופת ניסיון למשך 90 יום הכוללת זיכויים בחיוב ענן של 300 דולר בחינם כדי לחקור ולהעריך את המוצרים והשירותים של Google Cloud ו- Firebase.
במהלך תקופת הניסיון בחינם של Google בענן תקבל חשבון חיוב בענן לניסיון בחינם. כל פרויקט Firebase שמשתמש בחשבון חיוב זה יופיע בתוכנית החיוב של Blaze במהלך תקופת הניסיון בחינם.
אל דאגה, הגדרת חשבון חיוב בענן זה בחינם אינה מאפשרת לנו לחייב אותך. אינך מחויב אלא אם כן אתה מפעיל חיוב מפורש על ידי שדרוג חשבון חיוב הענן שלך בחינם לניסיון לחשבון בתשלום. תוכל לשדרג לחשבון בתשלום בכל עת במהלך תקופת הניסיון. לאחר שדרוגך, תוכל עדיין להשתמש בכל הזיכויים שנותרו (בתוך תקופת 90 הימים).
לאחר שתקופת הניסיון בחינם תפוג, יהיה עליך לשדרג לאחור את הפרויקט שלך לתכנית החיוב של Spark או להגדיר את תוכנית החיוב בתשלום לפי הזמנה במסוף Firebase כדי להמשיך להשתמש בפרויקט Firebase שלך.
למידע נוסף על תקופת הניסיון בחינם של Google Cloud .
כיצד אוכל לדעת איזו תוכנית מתאימה לי?
תוכנית חיוב ניצוצות
תוכנית ה- Spark שלנו היא מקום נהדר לפתח את האפליקציה שלך בחינם. אתה מקבל את כל התכונות החינמיות של Firebase (Analytics, מלחין ההודעות, דיווח על קריסות וכן הלאה) וכמויות נדיבות של תכונות התשתית בתשלום שלנו. עם זאת, אם תחרוג ממשאבי תוכנית ה- Spark שלך בחודש קלנדרי, האפליקציה שלך תושבת למשך שארית אותו חודש. בנוסף, תכונות Google Cloud אינן זמינות ברמת ה- Spark.
תוכנית חיוב בלייז
תוכנית ה- Blaze שלנו מיועדת לאפליקציות הפקה. תוכנית Blaze מאפשרת לך גם להרחיב את האפליקציה שלך עם תכונות Google Cloud בתשלום. אתה משלם רק עבור המשאבים שאתה צורך, ומאפשר לך להתמקד עם הביקוש. אנו שואפים להפוך את מחירי תוכנית ה- Blaze שלנו לתחרותיים עם ספקי הענן המובילים בתעשייה.
כיצד אוכל לפקח על השימוש והחיוב שלי?
באפשרותך לעקוב אחר השימוש שלך במשאבי הפרויקט במסוף Firebase בכל אחד ממרכזי השליטה הבאים:
- לוח מחוונים לשימוש וחיוב
- לוח מחוונים לשימוש באחסון ענן
- לוח מחוונים לשימוש בסיסי נתונים (הן ענן Firestore והן מסד נתונים בזמן אמת)
- לוח מחוונים לשימוש באירוח
מה קרה לתוכנית החיוב של להבה?
החל מינואר 2020, תכנית החיוב של להבה (מכסה נוספת בסך 25 דולר לחודש) אינה זמינה עוד להרשמות חדשות.
- פרויקטים קיימים של תוכנית Spark and Blaze וכל פרויקטים חדשים אינם יכולים עוד לעבור לתוכנית הלהבה או להירשם אליה.
- אם אתה מעביר פרויקט קיים של תוכנית להבה לתוכנית חיוב אחרת, הפרויקט לא יכול לחזור לתוכנית הלהבה.
- פרויקטים קיימים של תוכנית להבה יכולים להמשיך להשתמש בתוכנית להבה לעת עתה. עם זאת, תקבל בחודשים הקרובים מידע על ציר הזמן הדרוש למעבר לתוכנית חיוב אחרת.
- הפניות לתוכנית הלהבה הוסרו מהתיעוד.
האם יש לך שאלות נוספות לגבי פרישת תוכנית הלהבה? קרא כמה מהשאלות הנפוצות הנוספות בהמשך.
רוצה ללמוד על תוכניות החיוב האחרות שמציעה Firebase? בקר בדף התמחור של Firebase ! אם תרצה להתחיל להעביר פרויקטים קיימים לתוכנית חיוב אחרת, תוכל לעשות זאת במסוף Firebase עבור הפרויקט שלך.
עבור פרויקטים קיימים של תוכנית להבה, מכסות התוכנית וזמינות התכונות נשארות בתוקף.
- תכנית הלהבה אינה מספקת ממכסת שימוש עבור המוצרים הבאים:
BigQuery ו- IaaS של Google Cloud אחרים - תוכנית הלהבה כוללת מכסת שימוש בחינם עבור המוצרים הבאים:
בדיקות A / B, אנליטיקס, אינדקס אפליקציות, העברת הודעות בענן (FCM), Crashlytics, קישורים דינמיים, ניטור ביצועים, חיזויים ותצורה מרחוק תוכנית הלהבה כוללת מכסת שימוש למוצרים הבאים:
מוצר תכונה כלול בתוכנית הלהבה אימות Auth Phone - ארה"ב, קנדה והודו 10k לחודש Auth Phone - כל שאר המדינות 10k לחודש שירותי ותכונות אימות אחרים ✔ (חינם) ענן Firestore אחסון נתונים 2.5 סה"כ GiB יציאת רשת 20 GiB לחודש המסמך כותב 100k ליום המסמך קורא 250k ליום מחיקת המסמך 100k ליום פונקציות ענן עבור Firebase קריאות 2 מיליון לחודש GB שניות 400k לחודש שניות מעבד 200k לחודש רשת יוצאת 5 GB לחודש אירוח אחסון נתונים סך של 10 ג'יגה העברת נתונים 50 GB לחודש דומיין מותאם אישית ו- SSL ✔ (חינם) מספר אתרים לפרויקט ✔ (חינם) Firebase ML אירוח / הגשה של מודלים בהתאמה אישית ✔ (חינם) מערך נתונים של AutoML Vision Edge תמונות / פרויקט אחד אימון AutoML Vision Edge 3 שעות / פרויקט ממשקי API של Cloud Vision לא כלול מסד נתונים בזמן אמת קשרים סימולטניים 200k אחסון נתונים 2.5 ג'יגה בייט בסך הכל הורדת נתונים 20 GB לחודש מסדי נתונים מרובים בכל פרויקט לא כלול אחסון בענן אחסון נתונים סך של 50 ג'יגה הורדת נתונים 50 GB ליום פעולות העלאה 100k ליום הורד פעולות 250k ליום דליים מרובים לפרויקט לא כלול מעבדת מבחן בדיקות מכשירים וירטואליים 10 בדיקות ליום בדיקות מכשירים פיזיים 5 מבחנים / יום
שאלות נפוצות נוספות אודות פרישת תוכנית הלהבה
מה קורה עם פרויקטים קיימים של תוכנית הלהבה שלי כרגע?
לעת עתה, אין שינוי בפרויקט שלך או בחיוב. עם זאת, תקבל בחודשים הקרובים מידע על ציר הזמן הנדרש למעבר לתכנית חיוב אחרת.
מה יקרה לפרויקטים הקיימים של תוכנית הלהבה שלי בעתיד?
נכון לעכשיו, אין לוח זמנים ספציפי להעביר פרויקטים של תוכנית להבה לתוכנית חיוב אחרת. עם זאת, תקבל בחודשים הקרובים מידע על ציר הזמן הנדרש למעבר לתכנית חיוב אחרת.
יש לי פרויקט / תהליך / מודל עסקי הנשען על עלות Firebase קבועה. מה עלי לעשות?
הירשם לתוכנית ה- Blaze Pay-as-you-go, וודא שאתה מגדיר התראות על תקציב הפרויקט.
האם ניתן לתת לי גישה מיוחדת ליצירת פרויקטים חדשים של תוכנית להבה?
לא, Firebase אינה מציעה גישה מיוחדת לפרויקטים לעבור או להירשם לתוכנית הלהבה.
שיניתי את פרויקט תוכנית הלהבה שלי לתוכנית חיוב אחרת. איך אני משנה את זה בחזרה?
המעבר לתוכנית הלהבה אינו אפשרי עוד. לקבלת גישה לשירותים הניתנים על ידי תוכנית הלהבה, וודא שאתה משתמש בתכנית Blaze pay-as-you-go, ושקול להגדיר התראות תקציב לפרויקט שלך.
הפרויקט שלי הועבר אוטומטית לתוכנית חיוב אחרת במסגרת פרישת תוכנית הלהבה. מה עלי לעשות?
שינויים בתכנית חיוב אוטומטית אינם חלק מההיקף הנוכחי לפרישת תוכנית להבה. הקפד לבדוק ביומני הביקורת שלך אם ישנם שינויים בחיוב.
מדוע תוכנית הלהבה יוצאת לפנסיה?
במהלך השנים ראינו ירידה בשימוש בתוכנית הלהבה, ורוב הפרויקטים המשתמשים בתוכנית אינם צורכים את מלוא ערכה. שמירה על תכנית חיוב זו בדרך כלל אינה משתלמת, ואנו מרגישים שנוכל לשרת את כולם טוב יותר אם המשאבים יועברו ליוזמות אחרות של Firebase.
במה שונה השימוש החינמי בתוכנית Blaze מהשימוש החופשי בתכנית Spark?
השימוש בחינם בתוכנית Blaze מחושב מדי יום. מגבלות השימוש נבדלות גם מתכנית Spark לפונקציות ענן, אימות טלפון ומעבדת בדיקות.
עבור פונקציות ענן, השימוש בחינם בתוכנית Blaze מחושב ברמת חשבון החיוב, ולא ברמת הפרויקט ויש לו את המגבלות הבאות:
- קריאות 2 מיליון לחודש
- 400K GB לשניות / חודש
- 200K מעבד שניות לחודש
- יציאת רשת של 5 GB לחודש
לצורך אימות טלפוני, השימוש בחינם בתוכנית Blaze מחושב מדי חודש.
עבור מעבדת הבדיקה, השימוש החופשי בתוכנית Blaze מגביל את המגבלות הבאות:
- 30 דקות מכשיר פיזי ליום
- 60 דקות מכשיר וירטואלי ליום
האם מכסת השימוש החינמית מתאפסת כשאני עוברת מתכנית ניצוץ לתוכנית בלייז?
שימוש חופשי מתכנית Spark כלול בתוכנית Blaze. השימוש בחינם לא מתאפס כשעוברים לתוכנית Blaze.
מהו "חיבור מסד נתונים בו זמנית"?
חיבור סימולטני שווה ערך למכשיר נייד אחד, כרטיסיית דפדפן או אפליקציית שרת המחוברים למסד הנתונים. Firebase מטילה מגבלות קשות על מספר החיבורים בו זמנית למסד הנתונים של האפליקציה שלך. מגבלות אלה קיימות כדי להגן הן על Firebase והן על המשתמשים שלנו מפני התעללות.
מגבלת תוכנית הניצוץ היא 100 ולא ניתן להעלות אותה. לתוכניות Flame and Blaze יש מגבלה של 200,000 חיבורים בו זמנית לכל בסיס נתונים.
מגבלה זו אינה זהה למספר המשתמשים הכולל של האפליקציה שלך, מכיוון שהמשתמשים שלך לא מתחברים בבת אחת. אם אתה זקוק ליותר מ- 200,000 חיבורים בו זמנית, אנא קרא את Scale with Multiple Databases .
מה קורה אם אני חורג ממגבלות האחסון של תוכנית ה- Spark או מוריד את מגבלות מסד הנתונים בזמן אמת?
כדי לספק לכם מחיר צפוי, מוגבלים המשאבים העומדים לרשותכם בתוכניות ה- Spark. המשמעות היא שכאשר תחרוג מכל מגבלת תכנית בכל חודש, האפליקציה שלך תושבת בכדי למנוע שימוש נוסף במשאבים ותשלומים נוספים.
מה קורה אם אני חורג ממגבלות החיבור בו זמנית של תוכנית ה- Spark למסד נתונים בזמן אמת?
כאשר האפליקציה שלך מגיעה למגבלת המתחילים שלה בתכנית Spark, כל החיבורים הבאים יידחו עד שייסגרו חלק מהקשרים. האפליקציה תמשיך לעבוד עבור משתמשים המחוברים.
מה קורה אם אני חורג ממגבלות ההעלאה, ההורדה או האחסון של תוכנית ה- Spark עבור Cloud Storage?
כאשר אתה חורג ממגבלות אחסון ענן בפרויקט בתכנית Spark, התוצאה תלויה בסוג המגבלה שאתה חורג ממנה:
- אם תחרוג ממגבלת ה- GB המאוחסנת , לא תוכל לאחסן נתונים נוספים בפרויקט זה אלא אם תסיר חלק מהנתונים המאוחסנים או תשדרג לתכנית המספקת יותר שטח אחסון, או שטח אחסון בלתי מוגבל.
- אם תחרוג מהמגבלה שהורדת GB , האפליקציה שלך לא תוכל להוריד נתונים נוספים עד למחרת (החל מחצות, שעון האוקיינוס השקט), אלא אם תשדרג לתוכנית עם מגבלות פחות מגבילות או ללא מגבלות.
- אם תחרוג ממגבלת פעולות ההעלאה או ההורדה , האפליקציה שלך לא תוכל להעלות או להוריד נתונים נוספים עד למחרת (החל מחצות, שעון השקט האמריקני), אלא אם תשדרג לתכנית עם מגבלות פחות מגבילות, או ללא גבולות.
כיצד פועל האינטגרציה של 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 .
מה קורה לפרויקט Firebase שלי אם אני מוסיף או מסיר חשבונות חיוב עבור אותו פרויקט במסוף Google Cloud?
אם מתווסף חשבון חיוב לפרויקט במסוף הענן של Google, אותו פרויקט ישודרג אוטומטית לתוכנית Firebase Blaze אם פרויקט זה נמצא כרגע בתכנית Spark.
לעומת זאת, אם חשבון חיוב פעיל קיים יוסר מפרויקט במסוף הענן של Google, פרויקט זה יועבר לתוכנית Firebase Spark.
האם אוכל לשדרג, לשדרג לאחור או לבטל בכל עת?
כן, תוכל לשדרג, לשדרג לאחור או לבטל בכל עת. שים לב שאיננו מספקים החזרים יחסי עבור שדרוגים או ביטולים. המשמעות היא שאם תשדרג לאחור או תבטל לפני תום תקופת החיוב שלך, אתה עדיין משלם עבור שארית החודש.
איזה סוג של תמיכה אקבל?
כל אפליקציות Firebase, כולל תוכניות בחינם, מגיעות עם תמיכה בדוא"ל מצוות Firebase במהלך שעות הפעילות של האוקיינוס השקט. לכל החשבונות יש תמיכה בלתי מוגבלת בנושאים הקשורים לחיוב, בעיות הקשורות לחשבון, שאלות טכניות (פתרון בעיות) ודיווחי אירועים.
האם אוכל להגביל את השימוש בתוכנית Blaze?
לא, אינך יכול כרגע להגביל את השימוש שלך בתכנית Blaze. אנו בוחנים אפשרויות לתמיכה במכסים בשימוש בתכנית Blaze.
משתמשי Blaze יכולים להגדיר תקציב לפרויקט או לחשבון שלהם ולקבל התראות כאשר הוצאותיהם מתקרבות למגבלות אלה. למידע נוסף ראה הגדרת התראות תקציב .
מהם גיבויים אוטומטיים? האם אתה מציע גיבויים לפי שעה?
גיבויים אוטומטיים הם תכונה מתקדמת עבור לקוחות בתכנית החיוב שלנו של Blaze המגבה את נתוני מסד הנתונים בזמן אמת של Firebase פעם ביום ומעלה אותם לאחסון הענן של גוגל .
אנו לא מציעים גיבויים לפי שעה.
האם אתה מציע הנחות קוד פתוח, מלכ"רים או חינוכיים?
ניתן להשתמש בתוכנית ה- Spark שלנו על ידי כל סוג של אדם או ארגון, כולל עמותות, בתי ספר ופרויקטים עם קוד פתוח. מכיוון שתוכניות אלה כבר כוללות מכסות נדיבות, איננו מציעים הנחות מיוחדות או תוכניות לפרויקטים קוד פתוח, מלכ"רים או חינוכיים.
האם אתה מציע חוזים ארגוניים, תמחור, תמיכה או אירוח תשתית ייעודי?
תוכנית ה- Blaze שלנו מתאימה למפעלים בכל הגדלים, ו- SLA שלנו עומד או עולה על תקן התעשייה עבור תשתיות ענן. עם זאת, כרגע איננו מציעים חוזים ארגוניים, תמחור או תמיכה, ואיננו מציעים אירוח תשתית ייעודי (כלומר התקנות מקומיות) עבור שירותים כמו מסד הנתונים שלנו בזמן אמת. אנו עובדים קשה עם הוספת חלק מהתכונות הללו.
האם אתם מציעים תמחור אד-הוק? אני רוצה לשלם רק עבור תכונה אחת או שתיים.
אנו מציעים תמחור אד-הוק בתוכנית Blaze, שם אתה משלם רק עבור התכונות בהן אתה משתמש.
כיצד פועלות תוכניות Firebase בתשלום עם מודעות? האם יש זיכויי פרסום בחינם עם תוכניות בתשלום?
תוכניות התמחור של Firebase נפרדות ממודעות, כך שאין זיכויים פרסום בחינם. כמפתח Firebase, אתה יכול "לקשר" את חשבון המודעות שלך ל- Firebase כדי לתמוך במעקב המרות.
כל מסעות הפרסום מנוהלים ישירות במודעות, וחיוב המודעות מנוהל ממסוף המודעות.
תמחור פונקציות ענן
מדוע אני זקוק לחשבון חיוב כדי להשתמש בפונקציות ענן עבור Firebase?
פונקציות ענן עבור Firebase נשענות על כמה שירותי Google בתשלום: בניית ענן , רישום מכולות ואחסון ענן . השימוש בשירותים אלה יחויב בנוסף לתמחור הקיים.
תחויב רק עבור זמן המחשוב הנדרש לבניית מיכל זמן הריצה של פונקציה.
אחסון בענן, המשתף פעולה עם רישום המכולות של גוגל , יספק שטח אחסון למכולות בהן פועלות הפונקציות. תחויב עבור כל מכולה הנדרשת לפריסת פונקציה. יתכן שתבחין בחיובים קטנים עבור כל מכולה המאוחסנת - לדוגמא, אחסון בנפח 1GB מחויב בסכום של 0.026 דולר לחודש .
להבנת מידע נוסף על אופן השינוי של חשבונך, עיין בדברים הבאים
- תמחור פונקציות ענן : הדרג החינמי הקיים אינו משתנה.
- תמחור ענן בניין: ענן בונה מספק שכבה בחינם.
- תמחור רישום מכולות .
האם ל- Cloud Funktions for Firebase עדיין יש שימוש בחינם?
כן. בתכנית Blaze, Cloud Functions מספק נדבך חינם תמידי להזמנות, זמן חישוב ותעבורת אינטרנט. ההפעלות הראשונות של 2,000,000, 400,000 GB לשנייה, 200,000 CPU-sec ו- 5 GB של תעבורת יציאה באינטרנט ניתנות בחינם בכל חודש. תחויב רק בגין שימוש מעל לספים אלה.
כל פעולת פריסה תחייב חיובים בקנה מידה קטן עבור שטח האחסון המשמש למיכל הפונקציה. לדוגמה, אם הפונקציות שלך צורכות נפח אחסון של 1 ג'יגה בייט באמצעות רישום המיכלים, תחויב בסכום של 0.026 דולר לחודש . אם תהליך הפיתוח שלך תלוי בפריסת פונקציות לבדיקה, תוכל למזער עוד יותר עלויות באמצעות Firebase Local Emulator Suite במהלך הפיתוח.
ראה תוכניות תמחור Firebase ותרחישים לדוגמא תמחור תמחור פונקציות .
האם Firebase מתכננת להעלות את המכסות והמגבלות עבור פונקציות ענן עבור Firebase?
לא. אין תוכניות לשנות את המכסות למעט הסרת מגבלת זמן בנייה מרבית; במקום לקבל שגיאות או אזהרות כאשר מכסת הבנייה היומית של 120 דקות תושג, תחויב בתנאים של תוכנית ה- Blaze Pay-as-you-go. ראה מכסות ומגבלות .
האם אוכל לקבל זיכוי של 300 $ ב- Google Cloud?
כן, אתה יכול ליצור חשבון חיוב ב- Google Cloud Console כדי לקבל את האשראי בסך $ 300, ואז לקשר את חשבון החיוב הזה לפרויקט Firebase.
למידע נוסף על אשראי Google Cloud כאן .
שים לב שאם תעשה זאת, עליך להגדיר את תכנית החיוב של תשלום לפי הזזת Blaze במסוף Firebase על מנת שהפרויקט שלך ימשיך לעבוד לאחר אשראי 300 $
אני רוצה לעקוב אחר קוד קוד כדי ללמוד על Firebase. האם תוכל לתת לי חשבון חיוב זמני?
לא, סליחה. אתה יכול להשתמש באמולטור Firebase לפיתוח מבלי שיהיה לך חשבון חיוב. לחלופין, נסה להגיש בקשה לתקופת ניסיון בחינם של Google Cloud . אם אתה עדיין מתקשה בתשלום החשבון שלך בגלל שינוי זה, פנה לתמיכה של Firebase.
אני חושש שאגייס חשבון ענק.
תוכל להגדיר התראות תקציב ב- Google Cloud Console כדי לסייע בשליטה בעלויות. לקבלת מושג על עלות לתרחישים טיפוסיים, עיין בדוגמאות לתמחור תמחור פונקציות בענן .
כיצד אוכל לבדוק את חיובי החיוב הנוכחיים שלי?
הצג את לוח המחוונים לשימוש וחיוב במסוף Firebase.
אני משתמש בתוספות Firebase. האם אני מושפע מהשינוי הזה?
כן. מכיוון שסיומות משתמשות בפונקציות ענן , תוספים המשתמשים ב- Node.js 10 ואילך יחויבו באותם חיובים כמו פונקציות אחרות.
כדי להשתמש בתוספות המבוססות על Node.js 10 ואילך, יהיה עליך לשדרג לתכנית החיוב בתשלום לפי Blaze. תחויב בסכום קטן (בדרך כלל בסביבות 0.01 $ לחודש ) עבור משאבי Firebase הנדרשים על ידי כל סיומת שתתקין (גם אם לא משתמשים בהם), בנוסף לחיובים הקשורים לשימוש שלך בשירותי Firebase.
פְּרָטִיוּת
היכן אוכל למצוא מידע על פרטיות ואבטחה ב- Firebase?
עיין בדף פרטיות ואבטחה ב- Firebase .
האם ה- SDK של Firebase מתעד מידע כלשהו על שימוש / אבחון מחוץ ל- Analytics?
כן. כרגע זה רק ל- iOS, אך עשוי להשתנות בעתיד. Firkase iOS SDK כולל את מסגרת FirebaseCoreDiagnostics
כברירת מחדל. מסגרת זו משמשת את Firebase לאיסוף מידע על שימוש ואבחון SDK כדי לסייע בתעדוף שיפורי מוצרים עתידיים. FirebaseCoreDiagnostics
הוא אופציונלי, כך שאם תרצה לבטל את שליחת יומני האבחון של Firebase, תוכל לעשות זאת על ידי ביטול קישור הספרייה ליישום שלך. תוכל לגלוש במקור המלא, כולל ערכים מחוברים, ב- GitHub
בדיקת A / B
בדיקת A / B: כמה ניסויים אוכל ליצור ולהריץ?
מותר לך עד 300 ניסויים בפרויקט, שיכולים לכלול עד 24 ניסויים רצים, והשאר כטיוטה או הושלם.
AdMob
AdMob: האם אוכל לקשר בין אפליקציות Windows ל- Firebase?
אפליקציות Windows אינן נתמכות כעת במסוף Firebase.
AdMob: מדוע אינני יכול לקשר את חשבון AdMob שלי ממסוף Firebase?
ניתן לקשר אפליקציית AdMob לאפליקציית Firebase באמצעות מסוף AdMob. על מנת לקשר את החשבון אתה צריך להיות גם בעל פרויקט Firebase וגם מנהל מערכת AdMob.
AdMob: האם מספר משתמשים יכולים לקשר את חשבון AdMob שלהם לאפליקציית Firebase?
לא, בכל חשבון AdMob יהיה רק משתמש ראשי אחד. המשתמש הראשי הוא המשתמש הראשון שקיבל את תנאי השירות של Firebase.
ניתוח
אנליטיקס: מדוע גוגל אנליטיקס הוא חלק מומלץ בשימוש במוצרי Firebase?
גוגל אנליטיקס הוא פתרון ניתוחים ללא הגבלה ופועל עם תכונות Firebase כדי לספק תובנות רבות עוצמה. זה מאפשר לך להציג יומני אירועים ב- Crashlytics, יעילות התראות ב- FCM, ביצועי קישורים עמוקים עבור קישורים דינמיים ונתוני רכישה מתוך האפליקציה מ- Google Play. זה מאפשר כוח מיקוד מתקדם של קהל בתצורה מרחוק, חיזויים ועוד.
גוגל אנליטיקס משמשת כשכבת אינטליגנציה במסוף Firebase כדי לספק לכם תובנות מעשי יותר לגבי פיתוח אפליקציה באיכות גבוהה, הגדלת בסיס המשתמשים שלכם והרוויח יותר כסף.
כדי להתחיל, קרא את התיעוד .
אנליטיקה: כיצד אוכל לפלח משתמשים שלא עמדו בקריטריון כלשהו?
אתה יכול לתאר מחדש את הבעיה על ידי "מיקוד שלילי" למשתמשים אלה. לדוגמא, השב מחדש את הבעיה כ"אל תציג מודעות לאנשים שקנו משהו ", והווה קהל של אותם משתמשים למיקוד.
אנליטיקס: כיצד אוכל לשלוט באופן שיתוף נתוני Analytics עם שאר Firebase?
כברירת מחדל, נתוני Google Analytics משמשים לשיפור תכונות Firebase ו- Google אחרות. תוכל לשלוט באופן שיתוף נתוני Google Analytics שלך בהגדרות הפרויקט שלך בכל עת. למידע נוסף על הגדרות שיתוף נתונים .
אנליטיקס: מהו חשבון Google Analytics המשודרג לחלוטין?
תוכלו לקרוא עוד על השדרוג החדש של Google Analytics בפוסט בבלוג שלנו.
Analytics: How do I know if I'm using Google Analytics for Firebase or a fully upgraded Google Analytics account?
If you see a link to "View your data in Google Analytics" from the analytics dashboard in the Firebase console, then your project is using a fully upgraded Google Analytics account.
You can also check by viewing the Google Analytics card in the Firebase console (you can access this from settings > Project Settings > Integrations , then click Manage ). If you see a Linked Google Analytics account listed in the Your Google Analytics property section, your project is using the full Google Analytics experience in Firebase. If you do not see a Linked Google Analytics account , your project is using Google Analytics for Firebase.
Analytics: What will happen to my data when I upgrade to the new Google Analytics for Firebase?
This will not affect your existing Firebase project analytics data in the Firebase console.
You will be able to continue using the same dashboard and workflows you are using today, and you will also have access to some advanced features in Google Analytics.
Note that if you decide to enable cross-device reporting after making the upgrade, your data will be de-duplicated using the UserID. This may decrease some user counts in the Firebase console.
Analytics: What is Firebase User Segmentation Storage?
Firebase User Segmentation Storage stores audience lists you've created to provide targeting information to other Firebase services that use them, such as Crashlytics, FCM, Predictions, and more.
Analytics: Why don't I see any data after unlinking my app from Google Analytics?
Your analytics data resides within the Google Analytics property - not within the Firebase project. If you delete or unlink the property, then your data is unlinked from your project as well. The data still resides in that property, however, and you can always relink it to your project.
Creating a new Google Analytics account (and new property) will result in having a blank analytics dashboard in the Firebase console.
Analytics: Why do I get an error when trying to upgrade my project to the new Google Analytics experience?
If you are experiencing and error when upgrading, such as:
The operation has failed (Reason: Requested entity already exists)
or
The operation has failed (Reason: Precondition check failed)
This means that there is an association between your project and an already existing Google Analytics property. You can unlink the property, delete it, or upgrade through the Google Analytics interface.
If this is still an issue, you can use the REST API to unlink by using the removeAnalytics
method , then use the addGoogleAnalytics
method to link a new property.
You can then move the data from one property to another .
Analytics: Will audiences and/or events defined in Google Analytics be available on the Firebase console?
Your audiences and user properties will be synced. For some features, you'll need to use the Google Analytics interface, such as segmentation and closed funnels. You can access the Google Analytics interface directly via deep-links from the Firebase console. Any changes you make from the Firebase console can also be performed in Google Analytics, and those changes will be reflected in Firebase.
App Indexing
App Indexing: Can Google Search index multiple languages for a single app?
Google Search supports the following multi-language cases:
- The associated website has unique URLs for each language, and there is one corresponding app HTTP URL for each web URL.
- The associated website has unique URLs for each language, but there is only one app HTTP URL. The app uses system language settings to display the correct language content.
- The associated website has one URL for all languages (or it supports only one language), and there is one corresponding app URL. The website and the application must display the content in the same language when the user has set no preference.
App Indexing: Can App Indexing support multiple websites for an app?
Yes. Make sure that each associated website is verified for the Android app via the Google Play Console . Learn how to verify your app .
App Indexing: Do sitemaps need to be added via the Search Console?
iOS does not require sitemaps, and Android does not require them as long as your app supports HTTP URLs. For custom URLs, you do not need to add sitemaps via Search Console. You can reference sitemaps in your robots.txt
file and Google Search will use them. Learn more about managing sitemaps . However, submitting a sitemap through Search Console lets you see statistics on submitted and indexed HTTP URLs in Search Console.
Authentication
Firebase Authentication: Which countries are supported for phone authentication?
Firebase Authentication supports phone number verification across the the world, but not all networks reliably deliver our verification messages. The following countries have good rates of delivery, and should be expected to work well for phone number sign in.
Country | Code |
---|---|
AD | Andorra |
AE | United Arab Emirates |
AF | Afghanistan |
AG | Antigua and Barbuda |
AL | Albania |
AM | Armenia |
AO | Angola |
AR | Argentina |
AS | American Samoa |
AT | Austria |
AU | Australia |
AW | Aruba |
AZ | Azerbaijan |
BA | Bosnia and Herzegovina |
BB | Barbados |
BD | Bangladesh |
BE | Belgium |
BF | Burkina Faso |
BG | Bulgaria |
BJ | Benin |
BM | Bermuda |
BN | Brunei Darussalam |
BO | Bolivia |
BR | Brazil |
BS | Bahamas |
BT | Bhutan |
BW | Botswana |
BY | Belarus |
BZ | Belize |
CA | Canada |
CD | Congo, (Kinshasa) |
CF | Central African Republic |
CG | Congo (Brazzaville) |
CH | Switzerland |
CI | Côte d'Ivoire |
CK | Cook Islands |
CL | Chile |
CM | Cameroon |
CO | Colombia |
CR | Costa Rica |
CV | Cape Verde |
CW | Curaçao |
CY | Cyprus |
CZ | Czech Republic |
DE | Germany |
DJ | Djibouti |
DK | Denmark |
DM | Dominica |
DO | Dominican Republic |
DZ | Algeria |
EC | Ecuador |
EG | Egypt |
ES | Spain |
ET | Ethiopia |
FI | Finland |
FJ | Fiji |
FK | Falkland Islands (Malvinas) |
FM | Micronesia, Federated States of |
FO | Faroe Islands |
FR | France |
GA | Gabon |
GB | United Kingdom |
GD | Grenada |
GE | Georgia |
GF | French Guiana |
GG | Guernsey |
GH | Ghana |
GI | Gibraltar |
GL | Greenland |
GM | Gambia |
GP | Guadeloupe |
GQ | Equatorial Guinea |
GR | Greece |
GT | Guatemala |
GY | Guyana |
HK | Hong Kong, SAR China |
HN | Honduras |
HR | Croatia |
HT | Haiti |
HU | Hungary |
ID | Indonesia |
IE | Ireland |
IL | Israel |
IM | Isle of Man |
IN | India |
IQ | Iraq |
IT | Italy |
JE | Jersey |
JM | Jamaica |
JO | Jordan |
JP | Japan |
KE | Kenya |
KG | Kyrgyzstan |
KH | Cambodia |
KM | Comoros |
KN | Saint Kitts and Nevis |
KR | Korea (South) |
KW | Kuwait |
KY | Cayman Islands |
KZ | Kazakhstan |
LA | Lao PDR |
LB | Lebanon |
LC | Saint Lucia |
LI | Liechtenstein |
LK | Sri Lanka |
LS | Lesotho |
LT | Lithuania |
LU | Luxembourg |
LV | Latvia |
LY | Libya |
MA | Morocco |
MD | Moldova |
ME | Montenegro |
MF | Saint-Martin (French part) |
MG | Madagascar |
MK | Macedonia, Republic of |
MM | Myanmar |
MN | Mongolia |
MO | Macao, SAR China |
MS | Montserrat |
MT | Malta |
MU | Mauritius |
MW | Malawi |
MX | Mexico |
MY | Malaysia |
MZ | Mozambique |
NA | Namibia |
NC | New Caledonia |
NE | Niger |
NF | Norfolk Island |
NG | Nigeria |
NI | Nicaragua |
NL | Netherlands |
NO | Norway |
NP | Nepal |
NZ | New Zealand |
OM | Oman |
PA | Panama |
PE | Peru |
PG | Papua New Guinea |
PH | Philippines |
PK | Pakistan |
PL | Poland |
PM | Saint Pierre and Miquelon |
PR | Puerto Rico |
PS | Palestinian Territory |
PT | Portugal |
PY | Paraguay |
QA | Qatar |
RE | Réunion |
RO | Romania |
RS | Serbia |
RU | Russian Federation |
RW | Rwanda |
SA | Saudi Arabia |
SC | Seychelles |
SE | Sweden |
SG | Singapore |
SH | Saint Helena |
SI | Slovenia |
SK | Slovakia |
SL | Sierra Leone |
SN | Senegal |
SR | Suriname |
ST | Sao Tome and Principe |
SV | El Salvador |
SZ | Swaziland |
TC | Turks and Caicos Islands |
TG | Togo |
TH | Thailand |
TL | Timor-Leste |
TM | Turkmenistan |
TO | Tonga |
TR | Turkey |
TT | Trinidad and Tobago |
TW | Taiwan, Republic of China |
TZ | Tanzania, United Republic of |
UA | Ukraine |
UG | Uganda |
US | United States of America |
UY | Uruguay |
UZ | Uzbekistan |
VC | Saint Vincent and Grenadines |
VE | Venezuela (Bolivarian Republic) |
VG | British Virgin Islands |
VI | Virgin Islands, US |
VN | Viet Nam |
WS | Samoa |
YE | Yemen |
YT | Mayotte |
ZA | South Africa |
ZM | Zambia |
ZW | Zimbabwe |
Cloud Functions
Cloud Functions runtime support
Why is the Node.js 8 runtime deprecated?
On Dec 31, 2019, Node.js 8 was marked end-of-life by the Node.js Foundation . At that time, the Node.js Foundation stopped issuing security releases for Node.js 8. Because of this, we recommend that you update to Node.js 10 or later as soon as you can.
What happens if a Node.js 8 function is left running after the removal of Node.js 8 support? Will it work indefinitely?
No it will not. Deployment of functions to the Node.js 8 runtime was disabled in the Firebase CLI on December 15, 2020. Execution of already-deployed functions will stop at some point in the future; if you have deployed functions to the Node.js 8 runtime, we recommend that you upgrade to the Node.js 12 runtime .
How do I upgrade to Node.js 12?
- Make sure you're on the Blaze pay-as-you-go billing plan .
- Make sure you are using Firebase CLI version 8.1.0 or later.
- Change the
engines
field in your functions'package.json
. - Optionally, test your changes using the Firebase emulator .
- Redeploy functions using the Firebase CLI v8.1.0 or later.
How can I make sure I deployed my functions to the Node.js 12 runtime?
In the Firebase console, go to the functions dashboard and check the runtime column.
I use Firebase Extensions. Will I be affected by this change?
Yes. Since extensions use Cloud Functions , the runtime of your extensions will need to be updated on the same timeline as Cloud Functions.
We recommend that you upgrade your Firebase project to the Blaze plan and update to the latest version of each extension installed in your project. You can upgrade your projects' extensions on the Firebase console or CLI .
Cloud Messaging
Cloud Messaging: What's the difference between the Notifications composer and Cloud Messaging?
Firebase Cloud Messaging provides a complete set of messaging capabilities through its client SDKs and HTTP and XMPP server protocols. For deployments with more complex messaging requirements, FCM is the right choice.
The Notifications composer is a lightweight, serverless messaging solution built on Firebase Cloud Messaging. With a user-friendly graphical console and reduced coding requirements, the Notifications composer lets users easily send messages to reengage and retain users, foster app growth, and support marketing campaigns.
Capabilities | Notifications composer | Cloud Messaging | |
---|---|---|---|
Target | Single device | ||
Clients subscribed to topics (ie weather) | |||
Clients in predefined user segment (app, version, language) | |||
Clients in specified analytics audiences | |||
Clients in device groups | |||
Upstream from client to server | |||
Message Type | Notifications up to 2kb | ||
Data messages up to 4kb | |||
Delivery | Immediate | ||
Future client device local time | |||
Analytics | Built-in Notifications analytics collection and funnel analytics |
Cloud Messaging: Apple announced they're decprecating the legacy binary protocol for APNs. Do I need to do anything?
No. Firebase Cloud Messaging swtiched to the HTTP/2-based APNs protocol in 2017. If you are using FCM to send notifications to iOS devices, there should be no action required on your part.
Cloud Messaging: Do I need to use other Firebase services in order to use FCM?
You can use Firebase Cloud Messaging as a standalone component, in the same manner as you did with GCM, without using other Firebase services.
Cloud Messaging: I am an existing Google Cloud Messaging (GCM) developer. Should I move to Firebase Cloud Messaging?
FCM is the new version of GCM under the Firebase brand. It inherits GCM's core infrastructure, with new SDKs to make Cloud Messaging development easier.
Benefits of upgrading to FCM SDK include:
- Simpler client development. You no longer have to write your own registration or subscription retry logic.
- An out-of-the-box notification solution. You can use the Notifications composer, a serverless notifications solution with a web console that lets anyone send notifications to target specific audiences based on insights from Google Analytics for Firebase.
To upgrade from GCM SDKs to FCM SDKs, see the guides for migrating Android and iOS apps.
Cloud Messaging: Why do my targeted devices apparently fail to receive messages?
When it looks like devices haven't successfully received messages, check first for these two potential causes:
Foreground message handling for notification messages . Client apps need to add message handling logic to handle notification messages when the app is in the foreground on the device. See the details for iOS and Android .
Network firewall restrictions . If your organization has a firewall that restricts the traffic to or from the Internet, you need to configure it to allow connectivity with FCM in order for your Firebase Cloud Messaging client apps to receive messages. The ports to open are:
- 5228
- 5229
- 5230
FCM usually uses 5228, but it sometimes uses 5229 and 5230. FCM does not provide specific IPs, so you should allow your firewall to accept outgoing connections to all IP addresses contained in the IP blocks listed in Google's ASN of 15169 .
Cloud Messaging: I have implemented onMessageReceived
in my Android app, but it is not being called.
When your app is in the background, notification messages are displayed in the system tray, and onMessageReceived
is not called. For notification messages with a data payload, the notification message is displayed in the system tray, and the data that was included with the notification message can be retrieved from the intent launched when the user taps on the notification.
For more information, see Receive and handle messages .
Notifications composer: What's the difference between the Notifications composer and Cloud Messaging?
The Notifications composer is a lightweight, serverless messaging solution built on Firebase Cloud Messaging. With a user-friendly graphical console and reduced coding requirements, the Notifications composer lets users easily send messages to reengage and retain users, foster app growth, and support marketing campaigns.
Firebase Cloud Messaging provides a complete set of messaging capabilities through its client SDKs and HTTP and XMPP server protocols. For deployments with more complex messaging requirements, FCM is the right choice.
Here's a comparison of the messaging capabilities provided by Firebase Cloud Messaging and the Notifications composer:
Capabilities | Notifications composer | Cloud Messaging | |
---|---|---|---|
Target | Single device | ||
Clients subscribed to topics (ie weather) | |||
Clients in predefined user segment (app, version, language) | |||
Clients in specified analytics audiences | |||
Clients in device groups | |||
Upstream from client to server | |||
Message Type | Notifications up to 2kb | ||
Data messages up to 4kb | |||
Delivery | Immediate | ||
Future client device local time | |||
Analytics | Built-in Notifications analytics collection and funnel analytics |
Notifications composer: I am an existing Google Cloud Messaging (GCM) developer, and I want to use the Notifications composer. What should I do?
The Notifications composer is an out-of-the-box solution that lets anyone send notifications to target specific audiences based on insights from Google Analytics for Firebase. Also, the Notifications composer provides funnel analysis for every message, allowing easy evaluation of notification effectiveness.
If you are an existing GCM developer, to use the Notifications composer you have to upgrade from GCM SDKs to FCM SDKs. See the guides for migrating Android and iOS apps.
Cloud Storage
Cloud Storage: Why can't I use Cloud Storage?
Cloud Storage for Firebase creates a default bucket in the App Engine free tier. This allows you to quickly get up and running with Firebase and Cloud Storage for Firebase, without having to put in a credit card or enable a billing account. It also allows you to easily share data between Firebase and a Google Cloud project.
There are, however, two known cases where this bucket cannot be created and you will be unable to use Cloud Storage for Firebase:
- A project imported from Google Cloud which had a App Engine Master/Slave Datastore application.
- A project imported from Google Cloud which has domain prefixed projects. For example:
domain.com:project-1234
.
There are currently no workarounds to these issues, and we recommend that you create a new project in the Firebase console and enable Cloud Storage for Firebase in that project.
Cloud Storage: Why do I see new service account IDs associated with my Firebase projects that use Cloud Storage?
Firebase uses service accounts to operate and manage services without sharing user credentials. When you create a Firebase project, you might notice that a number of service accounts are already available in your project.
If you used Cloud Storage before September 15, 2020, you may see the following legacy service account that is used to manage your bucket: firebase-storage@system.gserviceaccount.com
.
After September 15, 2020, Cloud Storage for Firebase buckets may include an additional new service account: service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
You can view all service accounts associated with your project in the Firebase console, on the Service accounts tab .
Removing the new service account
We strongly discourage you from removing the new service account because if you do so, you will not be able to take advantage of upcoming security improvements.
However, if you prefer, you can disable the API or remove access from the new service account. Removing this account may block access to your Cloud Storage bucket from your apps.
Adding the new service account
If you removed the new service account or disabled the API and want to add them back, follow the instructions provided in Creating and managing service accounts for using the Google Cloud Console to add service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com
to the set of service accounts for your project.
Crashlytics
Visit the Crashlytics troubleshooting & FAQ page for helpful tips and answers to more FAQs.
Crash Reporting: Why are there fewer crash reports in Analytics than Crash Reporting?
Crash Reporting creates a separate background process to upload crash info. If your app extends the Android Application class, you must ensure it is multi-process safe. Otherwise, it may cause concurrency issues. When an app extends an Application object, this object gets instantiated for each process in a multi-process app. Consider the following when adding Crash Reporting to your app:
- If the implementation of this object accesses any out-of-process state (a database, the file system, shared preferences, etc), or performs other actions not safe for a multi-process environment, concurrency issues might arise. This is because multiple instances of the Application object may run simultaneously.
- Many third-party libraries keep out-of-process state (eg in a local database) and are subject to the same concurrency issues if they are initialized from the Application object. If your app fits this description and you plan to use Crash Reporting in your app, we strongly encourage you to consider moving the Application logic to Content Providers, or to Android Activities. Any Application logic that is not safe for a multi-process environment can have unintended effects on your app.
Crash Reporting automatically exports captured errors to Google Analytics as app_exception events. Currently on Android, you may see a significant discrepancy between the number of Crash Reporting errors and Analytics app_exception events.
Dynamic Links
Dynamic Links: Why does my Android app access each Dynamic Link twice?
The getInvitation
API clears the saved Dynamic Link to prevent it from being accessed twice. Be sure to call this API with the autoLaunchDeepLink
parameter set to false
in each of the deep link activities to clear it for the case when the activity is triggered outside the main activity.
Hosting
Hosting: Why does my Hosting release history table in the Firebase console show file counts that are more than what my local project actually has?
Firebase automatically adds extra files containing metadata about the Hosting site, and these files are included in the total file count for the release.
Hosting: What's the largest file size that I can deploy to Firebase Hosting?
Hosting has a maximum size limit of 2 GB for individual files.
We recommend storing larger files using Cloud Storage , which offers a maximum size limit in the terabyte range for individual objects.
Performance Monitoring
Visit the Performance Monitoring troubleshooting & FAQ page for helpful tips and answers to more FAQs.
Performance Monitoring: How many custom URL patterns can I create?
You can create up to 400 total custom URL patterns per app and up to 100 custom URL patterns per domain for that app.
Predictions
Predictions: I just added Google Analytics to my app. When should I expect to see predictions in the console?
Predictions are based on your users' behavior, and the more history that's available, the better. At a bare minimum, Firebase Predictions needs two weeks of data: one week of activity to train on, and then one week to see what that activity led to (churning, spending, etc.). Beyond the first two weeks, the quality of the predictions will typically increase as Predictions observes longer sequences of user activity.
Predictions: How long does it take for predictions to be made about a new user?
For an app that is already instrumented with Google Analytics and trained with baseline data, predictions can be made for new users as early as the next day after they start using the app.
Realtime Database
Realtime Database: Why was my Realtime Database reported bandwidth lower than average between September 2016 and March 2017?
For our bandwidth calculations, we normally include SSL encryption overhead (based on layer 5 of the OSI model). However, in September 2016, we introduced a bug that caused our bandwidth reporting to ignore encryption overhead. This might have resulted in artificially low reported bandwidth and bills on your account for a few months.
We released a fix for the bug in late March 2017, returning bandwidth reporting and billing to their normal levels.
Realtime Database: What are the scaling limitations of the Realtime Database?
Each Realtime Database instance has limits on the number of write operations per second. For small writes, this limit is approximately 1000 write operations per second. If you are approaching this limit, batching operations using multi-path updates can help you achieve higher throughput.
In addition, each database instance has a cap on the number of simultaneous database connections . Our default limits are large enough for most applications. If you are building an app that requires additional scale, you may need to shard your application across multiple database instances for added scale. You may also consider Cloud Firestore as an alternative database.
Realtime Database: What can I do if I'm over my Realtime Database usage limits?
If you've received an email alert or notification in the Firebase console that you've exceeded your Realtime Database usage limits, you can address it based on the usage limit you've exceeded. To see your Realtime Database usage, go to the Realtime Database usage page of the Firebase console.
If you're over your download limit, you can upgrade your Firebase billing plan or wait until your download limit resets at the start of your next billing cycle. To decrease your downloads, try the following steps:
- Add queries to limit the data that your listen operations return.
- Check for unindexed queries.
- Use listeners that only download updates to data — for example,
on()
instead ofonce()
. - Use security rules to block unauthorized downloads.
If you're over your storage limit, upgrade your billing plan to avoid service disruptions. To reduce the amount of data in your database, try the following steps:
- Run periodic cleanup jobs.
- Reduce any duplicate data in your database.
Note that it may take some time to see any data deletions reflected in your storage allotment.
If you're over your simultaneous database connections limit, upgrade your plan to avoid any service disruptions. To manage simultaneous connections to your database, try connecting via users via the REST API if they don't require a realtime connection.
Remote Config
Remote Config: Why don't fetched values change the behavior and appearance of my app?
Unless you fetch values with fetchAndActivate()
, values are stored locally but not activated. To activate fetched values so that they can take effect, call activate
. This design lets you control when the behavior and appearance of your app changes, because you can choose when to call activate
. After you call activate
, your app source code determines when updated parameter values are used.
For example, you could fetch values and then activate them the next time a user starts your app, which removes the need to delay app startup while your app waits for fetched values from the service. Changes to your app's behavior and appearance then occur when your app uses the updated parameter values.
To learn more about the Remote Config API and usage model, see Remote Config API Overview .
Remote Config: I am making a lot of fetch requests while developing my app. Why doesn't my app always get the latest values from the service when it sends fetch requests?
During app development, you might want to fetch and activate configs very frequently (many times per hour) to let you rapidly iterate as you develop and test your app. To accommodate rapid iteration on a project with up to 10 developers, you can temporarily set a FirebaseRemoteConfigSettings
object with a low minimum fetch interval ( setMinimumFetchIntervalInSeconds
) in your app.
Remote Config: How quickly does the Remote Config service return fetched values after my app sends a fetch request?
Devices usually receive fetched values in less than a second, and often receive fetched values in milliseconds. The Remote Config service handles fetch requests within milliseconds, but the time required to complete a fetch request will depend on the network speed of the device and the latency of the network connection used by the device.
If your goal is to make fetched values take effect in your app as soon as possible, but without creating a jarring user experience, consider adding calls to fetchAndActivate
each time that your app does a full screen refresh.
Test Lab
Visit the Test Lab troubleshooting page for helpful tips and answers to FAQs.