נתקלת בבעיות אחרות או שהבעיה שלך לא מופיעה בהמשך? אתם יכולים לדווח על באג או לבקש תכונה ולהצטרף לדיוני Stack Overflow.
פרויקטים ב-Firebase ואפליקציות ב-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 הוא קונטיינר של Google Cloud פרויקטים (כולל פרויקטים ב-Firebase). ההיררכיה הזו מאפשרת לארגן בצורה טובה יותר את הפרויקטים ב-Google Cloud וב-Firebase, לנהל את הגישה אליהם ולבצע ביקורת עליהם. למידע נוסף, קראו את המאמר יצירה וניהול של ארגונים.
איך מוסיפים את Firebase לפרויקט Google Cloud קיים?
יכול להיות שיש לכם פרויקטים קיימים של Google Cloud שמנוהלים דרך מסוף Google Cloud או דרך מסוף Google APIs.
אפשר להוסיף את Firebase לפרויקטים הקיימים האלה באמצעות אחת מהאפשרויות הבאות:
- באמצעות מסוף Firebase:
בדף הנחיתה של מסוף Firebase, לוחצים על Add Project ובוחרים את הפרויקט הקיים בתפריט Project name. - באמצעות אפשרות פרוגרמטית:
- קוראים לנקודת הקצה של ממשק ה-API לניהול ב-Firebase ל-REST
addFirebase
. - מריצים את הפקודה ב-CLI של Firebase
firebase projects:addfirebase
. - שימוש ב-Terraform.
- קוראים לנקודת הקצה של ממשק ה-API לניהול ב-Firebase ל-REST
למה לפרויקט Google Cloud יש תווית firebase:enabled
?
בדף 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 לא מופיע ברשימת הפרויקטים ב-Firebase?
השאלות הנפוצות האלה רלוונטיות אם הפרויקט שלכם ב-Firebase לא מופיע במקומות הבאים:
- ברשימת הפרויקטים שמוצגת במסוף Firebase
- בתגובה מקריאה לנקודת הקצה
projects.list
של API ל-REST - בתשובה שחוזרת מהרצת הפקודה Firebase ב-CLI
firebase projects:list
כדאי לנסות את השלבים הבאים לפתרון בעיות:
- קודם כל, נסו לגשת לפרויקט על ידי כניסה ישירות לכתובת ה-URL שלו. יש להשתמש בפורמט הבא:
https://console.firebase.google.com/project/PROJECT-ID/overview
- אם אין לכם גישה לפרויקט או אם מופיעות שגיאות שקשורות להרשאות, כדאי לבדוק את הדברים הבאים:
- חשוב לוודא שנכנסתם ל-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 גדלה באופן משמעותי כל עוד החשבון Cloud Billing תקין.
המגבלה על המכסה לפרויקט היא נדירה אצל רוב המפתחים, אבל אם אתם צריכים, תוכלו לבקש הגדלה של המכסה לפרויקט.
חשוב לזכור שמחיקה מלאה של פרויקט דורשת 30 ימים, והמחיקה שלו נספרת במכסה עד שהוא נמחק במלואו.
כמה אפליקציות ב-Firebase אפשר ליצור בפרויקט Firebase?
פרויקט 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, עוברים אל settings Project settings (הגדרות הפרויקט) > General (כללי) ואז בכרטיס Your project (הפרויקט שלך) בקטע Environment (סביבה), לוחצים על edit כדי לשנות את סוג הסביבה.
איפה אפשר למצוא את מזהה האפליקציה של אפליקציית Firebase?
במסוף Firebase, עוברים אל Project settings ב-settings. גוללים למטה אל הכרטיס האפליקציות שלך ולוחצים על אפליקציית Firebase הרצויה כדי להציג את המידע על האפליקציה, כולל מזהה האפליקציה.
ריכזנו כאן כמה דוגמאות לערכים של מזהה אפליקציה:
-
אפליקציות Firebase ל-iOS:
1:1234567890:ios:321abc456def7890
-
אפליקציות Firebase ל-Android:
1:1234567890:android:321abc456def7890
-
אפליקציות אינטרנט של Firebase:
1:1234567890:web:321abc456def7890
מהם התנאים המוקדמים לקישור של Google Play / AdMob / Google Ads / BigQuery לפרויקט או לאפליקציה ב-Firebase?
- כדי לקשר את חשבון Google Play, צריך את הפרטים הבאים:
- אחד מהתפקידים הבאים ב-Firebase: 'בעלים' או 'אדמין ב-Firebase'
וגם - אחת מרמות הגישה הבאות ב-Google Play: בעלים או אדמין של החשבון
- אחד מהתפקידים הבאים ב-Firebase: 'בעלים' או 'אדמין ב-Firebase'
- כדי לקשר את אפליקציית AdMob, עליכם להיות גם הבעלים של פרויקט Firebase וגם אדמינים ב-AdMob.
- כדי לקשר את חשבון AdWords, עליכם להיות גם הבעלים של פרויקט Firebase וגם אדמינים ב-AdWords.
- כדי לקשר את הפרויקט ב-BigQuery, עליכם להיות הבעלים של פרויקט Firebase.
אילו הודעות לגבי קוד פתוח צריך לכלול באפליקציה?
בפלטפורמות של Apple, ה-pod של Firebase מכיל קובץ NOTICES שכולל את הרשומות הרלוונטיות. ל-Android SDK של Firebase יש
Activity
עזרה להצגת פרטי הרישיון.
הרשאות וגישה לפרויקטים ב-Firebase
איך מקצים תפקיד למשתתף בפרויקט, כמו התפקיד 'בעלים'?
כדי לנהל את התפקידים שהוקצו לכל אחד מחברי הפרויקט, צריך להיות הבעלים של הפרויקט ב-Firebase (או לקבל תפקיד עם ההרשאה resourcemanager.projects.setIamPolicy
).
אלה המקומות שבהם אפשר להקצות ולנהל תפקידים:
- במסוף Firebase יש דרך פשוטה להקצות תפקידים לחברי פרויקט בכרטיסייה משתמשים והרשאות בקטע settings > הגדרות הפרויקט. במסוף Firebase, אפשר להקצות כל אחד מהתפקידים הבסיסיים (בעלים, עריכה, צפייה), התפקידים 'אדמין/צפייה' ב-Firebase או כל אחד מהתפקידים המוגדרים מראש של קטגוריות מוצרים ב-Firebase.
- במסוף Google Cloud יש מגוון רחב של כלים להקצאת תפקידים לחברי פרויקט בדף IAM. במסוף Cloud אפשר גם ליצור ולנהל תפקידים בהתאמה אישית, וגם לתת לחשבונות שירות גישה לפרויקט.
שימו לב שבמסוף Google Cloud, חברי הפרויקט נקראים חשבונות משתמשים.
אם הבעלים של הפרויקט לא יכול יותר לבצע את המשימות של בעלים (לדוגמה, האדם עזב את החברה) והפרויקט לא מנוהל דרך ארגון Google Cloud (ראו הפסקה הבאה), תוכלו לפנות לתמיכה של Firebase ולברר איך מבקשים גישה לפרויקט ב-Firebase.
שימו לב: אם פרויקט Firebase הוא חלק מארגון Google Cloud, יכול להיות שאין לו בעלים. אם לא מוצג בעלים של פרויקט Firebase, צריך לפנות לאדם שמנהל את הארגון ב-Google Cloud כדי להקצות בעלים לפרויקט.
איך מוצאים את הבעלים של פרויקט Firebase?
תוכלו להציג את החברים בפרויקט ואת התפקידים שלהם במקומות הבאים:
- אם יש לכם גישה לפרויקט במסוף Firebase, תוכלו לצפות ברשימה של החברים בפרויקט, כולל הבעלים, בדף המשתמשים וההרשאות שבמסוף 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.
אם אתם לא מצליחים לפתוח את הפרויקט בקישור, ודאו שנכנסתם ל-Firebase באמצעות אותו חשבון Google שקיבל את האימייל לגבי הפרויקט. אפשר להיכנס ולצאת ממסוף Firebase דרך תמונת הפרופיל של החשבון בפינה השמאלית העליונה של המסוף.
הערה: אם אתם אדמינים בארגון Google Cloud, יכול להיות שתקבלו התראות על שינויים בפרויקטים של Firebase בארגון. עם זאת, יכול להיות שאין לכם מספיק הרשאות כדי לפתוח את הפרויקט ב-Firebase. במקרים כאלה, הפתרון הפשוט ביותר הוא להקצות לעצמכם את תפקיד הבעלים בפועל כדי לפתוח את הפרויקט ולבצע את הפעולות הנדרשות. מידע נוסף על הסיבות והמועדים להקצאת התפקיד 'בעלים'
פלטפורמות ומסגרות
כדאי להיכנס לדפי השאלות הנפוצות ולפתרון בעיות ספציפיים לפלטפורמה כדי לקבל טיפים שימושיים ותשובות לשאלות נפוצות נוספות.
Firebase מסוף
אילו דפדפנים נתמכים לגישה למסוף Firebase?
אפשר לגשת למסוף Firebase מהגרסאות האחרונות של דפדפנים פופולריים במחשבים כמו Chrome, Firefox, Safari ו-Edge. בשלב זה, אין תמיכה מלאה בדפדפנים לנייד.
הצלחתי לטעון את מסוף Firebase, אבל למה אי אפשר למצוא את פרויקט Firebase שלי או לגשת אליו?
השאלות הנפוצות האלה רלוונטיות אם נתקלתם באחת מהבעיות הבאות:
- המסוף של Firebase יחזיר דף שגיאה שאומר שייתכן שהפרויקט לא קיים או שאין לכם גישה לפרויקט.
- הפרויקט לא מוצג במסוף Firebase גם אם מזינים את מזהה הפרויקט או את שם הפרויקט בשדה החיפוש במסוף.
כדאי לנסות את השלבים הבאים לפתרון בעיות:
- קודם כול, כדאי לנסות לגשת לפרויקט: נכנסים ישירות לכתובת ה-URL של הפרויקט. צריך להשתמש בפורמט הבא:
https://console.firebase.google.com/project/PROJECT-ID/overview
- אם עדיין אין לכם גישה לפרויקט או שאתם מקבלים שגיאות שקשורות להרשאות, כדאי לבדוק את הדברים הבאים:
- חשוב לוודא שנכנסתם ל-Firebase באמצעות אותו חשבון Google שיש לו גישה לפרויקט. אפשר להיכנס למסוף Firebase ולצאת ממנו דרך הדמות של החשבון שמופיעה בפינה השמאלית העליונה של המסוף.
- מוודאים שFirebase Management API מופעל בפרויקט.
- חשוב לוודא שהוקצה לכם אחד מתפקידי IAM הבסיסיים (בעלים, עריכה, צפייה) או תפקיד שכולל הרשאות שקשורות ל-Firebase, למשל תפקיד מוגדר מראש ב-Firebase. אפשר לראות את התפקידים שלכם בדף IAM במסוף Google Cloud.
- אם הפרויקט שייך לארגון Google Cloud, יכול להיות שתצטרכו הרשאות נוספות כדי לראות את הפרויקט ברשימה במסוף Firebase. צריך לפנות למי שמנהל את הארגון Google Cloud, כדי שיעניק לכם את התפקיד המתאים לצפייה בפרויקט, למשל התפקיד 'דפדפן'.
אם אף אחד מהשלבים לפתרון בעיות שלמעלה לא מאפשר לכם למצוא את הפרויקט או לגשת אליו, תוכלו לפנות אל התמיכה של Firebase.
למה המסוף של Firebase לא נטען?
השאלות הנפוצות האלה רלוונטיות אם נתקלתם באחת מהבעיות הבאות:
- טעינת דף במסוף Firebase אף פעם לא מסתיימת.
- הנתונים בדף לא נטענים כמצופה.
- מוצגות הודעות שגיאה בדפדפן כשאתם טוענים את מסוף Firebase.
כדאי לנסות את השלבים הבאים לפתרון בעיות:
- בודקים את השורה Console במרכז הבקרה של סטטוס Firebase כדי לבדוק אם יש הפרעות אפשריות בשירות.
- מוודאים שמשתמשים בדפדפן נתמך.
- מנסים לטעון את מסוף Firebase בחלון פרטי או בחלון גלישה פרטית.
- משביתים את כל התוספים לדפדפן.
- מוודאים שהחיבור לרשת לא חסום על ידי תוכנת חסימה של מודעות, תוכנת אנטי-וירוס, שרת proxy, חומת אש או תוכנה אחרת.
- מנסים לטעון את מסוף Firebase באמצעות רשת או מכשיר אחרים.
- אם משתמשים ב-Chrome, כדאי לבדוק במסוף הכלים למפתחים אם יש שגיאות.
אם אף אחד מהשלבים לפתרון בעיות שמפורטים למעלה לא פותר את הבעיה, תוכלו לפנות אל התמיכה של Firebase.
איך נקבעת השפה של מסוף Firebase?
הגדרת השפה במסוף Firebase מבוססת על השפה שנבחרה בהגדרות חשבון Google.
במאמר שינוי השפה מוסבר איך לשנות את העדפת השפה.
מסוף Firebase תומך בשפות הבאות:
- אנגלית
- פורטוגזית ברזילאית
- צרפתי
- גרמנית
- אינדונזית
- יפנית
- קוריאנית
- רוסית
- סינית פשוטה
- ספרדי
- סינית מסורתית
אילו תפקידים והרשאות נתמכים במסוף Firebase?
במסוף Firebase ובמסוף Google Cloud משתמשים באותו התפקידים וההרשאות הבסיסיים. מידע נוסף על תפקידים והרשאות זמין במסמכי התיעוד של Firebase IAM.
ב-Firebase יש תמיכה בתפקידים הבסיסיים 'בעלים', 'עריכה' ו'צפייה':
- הבעלים של הפרויקט יכול להוסיף חברים אחרים לפרויקט, להגדיר שילובים (קישור הפרויקט לשירותים כמו BigQuery או Slack) ויש לו גישה מלאה לעריכת הפרויקט.
- לעריכה של פרויקט יש גישת עריכה מלאה בפרויקט.
- משתמש עם הרשאת צפייה בפרויקט יכול רק לקרוא את הפרויקט. חשוב לשים לב שנכון לעכשיו, המסוף של Firebase לא מסתיר או משבית את פקדי העריכה של ממשק המשתמש אצל הצופים בפרויקט, אבל הפעולות האלה ייכשלו עבור חברי הפרויקט שהוקצה להם התפקיד 'צפייה'.
ב-Firebase יש גם תמיכה בתכונות הבאות:
- תפקידים מוגדרים מראש ב-Firebase — מבחר תפקידים ספציפיים ל-Firebase שמאפשרים בקרת גישה מפורטת יותר מאשר התפקידים הבסיסיים של 'בעלים', 'עריכה' ו'צפייה'.
- תפקידים בהתאמה אישית – תפקידי IAM בהתאמה אישית מלאים שאתם יוצרים, כדי להתאים קבוצת הרשאות שעונה על הדרישות הספציפיות של הארגון.
תמחור
אילו מוצרים בתשלום? אילו שירותים זמינים ללא תשלום?
מוצרי התשתית בתשלום של 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 מציע זיכויים ללא תשלום על תקופות ניסיון למוצרים בתשלום?
אפשר להשתמש בשירותי 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.
איך אפשר לדעת איזה חבילת שירות מתאימה לי?
תוכנית התמחור של Spark
תוכנית Spark היא מקום מצוין לפתח את האפליקציה שלכם ללא עלות. אתם מקבלים את כל התכונות של Firebase ללא תשלום (Analytics, הכלי ליצירת התראות, Crashlytics וכו') ומספר גדול של תכונות בתשלום בתשתית. עם זאת, אם תחרגו מהמשאבים של תוכנית Spark בחודש קלנדרי, האפליקציה שלכם תושבת בשארית החודש. בנוסף, התכונות של Google Cloud לא זמינות כשמשתמשים בחבילת Spark.
תוכנית תמחור ותשלומים מדהימה
המינוי ל-Blaze מיועד לאפליקציות שפועלות בסביבת הייצור. בנוסף, תוכנית Blaze מאפשרת לכם להרחיב את האפליקציה באמצעות תכונות Google Cloud בתשלום. משלמים רק על המשאבים שצורכים, וכך אפשר לבצע התאמה לעומס (scaling) לפי הביקוש. אנחנו שואפים שהמחירים של תוכנית Blaze יהיו תחרותיים ביחס לספקים מובילים אחרים בתחום הענן.
מה קרה ל-SMS בחינם בתוכנית Spark?
כדי לשפר את האבטחה ואת איכות השירות של אימות הטלפון, החל מספטמבר 2024 פרויקטים ב-Firebase צריכים להיות מקושרים לחשבון לחיוב ב-Cloud כדי להפעיל את שירות ה-SMS ולהשתמש בו.
איך אפשר לעקוב אחרי השימוש והחיוב?
אפשר לעקוב אחרי השימוש במשאבי הפרויקט במסוף Firebase בכל אחד ממרכזי הבקרה הבאים:
מה קרה לתוכנית התמחור Flame?
בינואר 2020, התוכנית עם תמחור Flame (25$ לחודש של מכסה נוספת) הוסרה כאפשרות להרשמות חדשות. משתמשים קיימים בתוכנית קיבלו תקופת חסד כדי להעביר את הפרויקטים שלהם מתוכנית Flame.
בפברואר 2022, הפרויקטים שנותרו בתוכנית התמחור Flame הורדגו לתוכנית התמחור Spark.
בהתאם,
- לא ניתן יותר לעבור לתוכנית Flame או להירשם אליה בפרויקטים קיימים בתוכנית Spark ובתוכנית Blaze, וגם לא בפרויקטים חדשים.
- אם העברת פרויקט קיים בתוכנית Flame לתוכנית תמחור אחרת, לא ניתן להחזיר את הפרויקט לתוכנית Flame.
- אפשר לשדרג פרויקטים ששודרגו לאחור לתוכנית Spark לתוכנית Blaze כדי לחדש את השירותים בתשלום.
- ההפניות לתוכנית Flame הוסרו מהמסמכים.
יש לכם שאלות נוספות לגבי הפסקת השימוש בתוכנית Flame? בהמשך מפורטות כמה שאלות נפוצות נוספות.
רוצים לקבל מידע על תוכניות התמחור האחרות של Firebase? מומלץ לעיין בדף התמחור של Firebase. אם אתם רוצים להתחיל להעביר פרויקטים קיימים לתוכנית תמחור אחרת, תוכלו לעשות זאת דרך מסוף Firebase של הפרויקט.
שאלות נפוצות נוספות על הפסקת השימוש בתוכנית Flame
יש לי פרויקט, תהליך או מודל עסקי שמבוססים על עלות קבועה ב-Firebase. מה לעשות?
להירשם לתוכנית התמחור Blaze ולהגדיר התראות לגבי תקציב.
האם אוכל לקבל גישה מיוחדת ליצירת פרויקטים חדשים בתוכנית Flame?
לא, ב-Firebase לא מציעים גישה מיוחדת לפרויקטים כדי לעבור לתוכנית Flame או להירשם אליה.
שיניתי את פרויקט תוכנית Flame לתוכנית תמחור אחרת. איך אוכל לשנות את זה בחזרה?
אי אפשר יותר לעבור לתוכנית Flame. כדי לקבל גישה לשירותים שסופקו על ידי חבילת Flame, צריך לוודא שאתם משתמשים בחבילת התמחור Blaze, ולהגדיר התראות תקציב לפרויקט.
הפרויקט שלי הועבר באופן אוטומטי לתוכנית תמחור אחרת כחלק מהוצאה משימוש של תוכנית Flame. מה לעשות?
אם אתם צריכים מכסה נוספת בפרויקט מעבר למכסה שסופקת בחבילת Spark, תצטרכו לשדרג את הפרויקט לחבילת התמחור Blaze.
למה תוכנית Flame מוציאה משימוש?
לאורך השנים הבחנו בירידה בשימוש בתוכנית Flame ורוב הפרויקטים שמשתמשים בתוכנית לא מנצלים את מלוא הערך שלה. בדרך כלל, לא משתלם להמשיך להפעיל את תוכנית התמחור הזו, ואנחנו סבורים שנוכל לשרת את כולם טוב יותר אם נשקיע את המשאבים בפרויקטים אחרים של Firebase.
מה ההבדל בין השימוש ללא עלות בתוכנית Blaze לבין השימוש ללא עלות בתוכנית Spark?
השימוש ללא עלות בתוכנית Blaze מחושב מדי יום. מגבלות השימוש שונות גם בתוכנית Spark לגבי Cloud Functions, אימות בטלפון ו-Test Lab.
ב-Cloud Functions, השימוש ללא עלות בתוכנית Blaze מחושב ברמת החשבון Cloud Billing, ולא ברמת הפרויקט, והוא מוגבל לפי המגבלות הבאות:
- 2 מיליון הפעלות בחודש
- 400,000 שניות-GB לחודש
- 200,000 שניות מעבד בחודש
- 5GB של תעבורת נתונים יוצאת (egress) ברשתות לחודש
בחישוב השימוש ללא תשלום באימות הטלפון בתוכנית Blaze, החישוב מתבצע על בסיס חודשי.
ב-Test Lab, השימוש ללא עלות בתוכנית Blaze מוגבל באופן הבא:
- 30 דקות ביום במכשיר פיזי
- 60 דקות של מכשיר וירטואלי ביום
האם מכסת השימוש ללא עלות מתאפסת כשעוברים מתוכנית Spark לתוכנית Blaze?
השימוש ללא עלות בתוכנית Spark כלול בתוכנית Blaze. השימוש ללא עלות לא מתאפס כשעוברים למינוי Blaze.
מהו 'חיבור בו-זמני למסד נתונים'?
חיבור בו-זמני שווה למכשיר נייד אחד, כרטיסייה בדפדפן או אפליקציית שרת אחת שמחוברים למסד הנתונים. ב-Firebase יש מגבלות מחמירות על מספר החיבורים שאפשר לבצע בו-זמנית למסד הנתונים של האפליקציה. ההגבלות האלה נועדו להגן גם על Firebase וגם על המשתמשים שלנו מפני ניצול לרעה.
המגבלה של תוכנית Spark היא 100, ואי אפשר להגדיל אותה. בתוכניות Flame ו-Blaze יש מגבלה של 200,000 חיבורים בו-זמנית לכל מסד נתונים.
המגבלה הזו לא זהה למספר הכולל של המשתמשים באפליקציה, כי לא כל המשתמשים מתחברים בו-זמנית. אם אתם צריכים יותר מ-200,000 חיבורים בו-זמנית, קראו את המאמר התאמה לעומס (scaling) עם מסדי נתונים מרובים.
מה קורה אם חורגים ממגבלות האחסון בתוכנית Spark או ההורדות של Realtime Database?
כדי לספק לך מחיר צפוי, המשאבים שזמינים לך בתוכניות של Spark מוגבלים. כלומר, אם תחרגו מאחד מהמגבלות של התוכנית בחודש מסוים, האפליקציה תושבת כדי למנוע שימוש נוסף במשאבים וחיובים נוספים.
מה קורה אם חורגים ממגבלות החיבורים בו-זמנית של Realtime Database בתוכנית Spark?
כשהאפליקציה מגיעה למגבלת הסימולטניות בתוכנית Spark, כל החיבורים הבאים יידחו עד שחלק מהחיבורים הקיימים ייסגרו. האפליקציה תמשיך לפעול אצל משתמשים שמחוברים.
איך פועל השילוב של 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?
אם מוסיפים חשבון Cloud Billing לפרויקט במסוף Google Cloud, אותו פרויקט ישודרג באופן אוטומטי למינוי Firebase Blaze אם הפרויקט נמצא כרגע במינוי Spark.
לעומת זאת, אם חשבון Cloud Billing פעיל קיים יוסר מפרויקט במסוף Google Cloud, הפרויקט ישודרג לאחור לתוכנית Firebase Spark.
האם אפשר לשדרג, לשדרג לאחור או לבטל את המינוי בכל שלב?
כן, אפשר לשדרג, לשדרג לאחור או לבטל את המינוי בכל שלב. חשוב לדעת שאנחנו לא מעניקים החזרים כספיים חלקיים במקרים של שדרוג לאחור או ביטולים. המשמעות היא שאם תבצעו שדרוג לאחור או ביטול לפני סוף תקופת החיוב, עדיין תצטרכו לשלם על יתרת החודש.
איזה סוג של תמיכה מקבלים?
כל האפליקציות ב-Firebase, כולל אפליקציות שמשתמשות בתוכניות ללא עלות, כוללות תמיכה באימייל מצוות Firebase במהלך שעות הפעילות של שעון החוף המערבי בארה"ב. בכל החשבונות יש תמיכה בלתי מוגבלת בבעיות שקשורות לחיוב, בבעיות שקשורות לחשבון, בשאלות טכניות (פתרון בעיות) ובדוחות אירועים.
האם אפשר להגביל את השימוש בתוכנית Blaze?
לא, בשלב הזה אי אפשר להגביל את השימוש בתוכנית Blaze. אנחנו שוקלים אפשרויות לתמיכה במגבלות על השימוש בתוכנית Blaze.
משתמשי Blaze יכולים להגדיר תקציב לפרויקט או לחשבון שלהם, ולקבל התראות כשההוצאות שלהם מתקרבות למגבלות האלה. כך מגדירים התראות לגבי תקציבים
מהם גיבויים אוטומטיים? האם העסק שלך מציע גיבויים שעתיים?
גיבויים אוטומטיים הם תכונה מתקדמת ללקוחות בתוכנית התמחור Blaze, שמאפשרת לגבות את נתוני Firebase Realtime Database פעם ביום ולהעלות אותם אל Google Cloud Storage.
אנחנו לא מציעים גיבויים לפי שעה.
האם אתם מציעים הנחות לפרויקטים של קוד פתוח, לעמותות או למוסדות חינוכיים?
כל אדם או ארגון, כולל עמותות, בתי ספר ופרויקטים בקוד פתוח, יכולים להשתמש בתוכנית Spark. מכיוון שהתוכניות האלה כבר כוללות מכסות נדיבות, אנחנו לא מציעים הנחות או תוכניות מיוחדות לפרויקטים בקוד פתוח, של עמותות או פרויקטים חינוכיים.
האם אתם מציעים חוזים ארגוניים, תמחור, תמיכה או אירוח תשתית ייעודי?
תוכנית Blaze מתאימה לארגונים בכל הגדלים, והסכם רמת השירות שלנו עומד בסטנדרטים של התעשייה לתשתית ענן או עולה עליהם. עם זאת, אנחנו לא מציעים כרגע חוזים ארגוניים, תמחור או תמיכה, וגם לא אירוח תשתית ייעודי (כלומר, התקנות בארגון) לשירותים כמו Realtime Database שלנו. אנחנו עובדים קשה כדי להוסיף חלק מהתכונות האלה.
האם העסק שלך מציע תמחור מותאם אישית? אני רוצה להשתמש רק ב'תשלום לפי שימוש' עבור תכונה אחת או שתיים.
אנחנו מציעים מחירים אד-הוק בתוכנית Blaze, שבה משלמים רק על התכונות שמשתמשים בהן.
איך פועלות חבילות השירות בתשלום של Firebase עם Ads? האם יש שוברי פרסום ללא עלות בתוכניות בתשלום?
תוכניות התמחור של Firebase הן נפרדות מ-Ads, ולכן אין זיכויים על פרסום ללא עלות. מפתחים ב-Firebase יכולים 'לקשר' את חשבון Ads ל-Firebase כדי לתמוך במעקב המרות.
כל הקמפיינים של המודעות מנוהלים ישירות ב-Ads, והחיוב ב-Ads מנוהל דרך מסוף Ads.
תמחור Cloud Functions
למה צריך חשבון לחיוב כדי להשתמש ב-Cloud Functions for Firebase?
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 $לחודש.
כדי להבין איך החיוב עשוי להשתנות, כדאי לעיין במאמרים הבאים:
- המחירון של Cloud Functions: אין שינוי ברמה הקיימת ללא עלות.
- תמחור Cloud Build: ב-Cloud Build יש רמה ללא עלות.
- תמחור Artifact Registry
- תמחור Container Registry
האם עדיין יש שימוש ללא עלות ב-Cloud Functions for Firebase?
כן. בתוכנית Blaze, Cloud Functions מספקת תוכנית ללא עלות להפעלות, לזמן מחשוב ולתעבורת נתונים באינטרנט. כל חודש מקבלים ללא עלות את 2,000,000 ההפעלות הראשונות, 400,000GB-sec, 200,000 CPU-sec ו-5GB של תעבורת נתונים יוצאת (egress) באינטרנט. החיוב יתבצע רק על שימוש מעבר לסף הזה.
אחרי 500MB הראשונים של אחסון ללא עלות, כל פעולת פריסה תגרור חיובים בקנה מידה קטן על נפח האחסון שמשמש לקונטיינר של הפונקציה. אם תהליך הפיתוח תלוי בפריסת פונקציות לבדיקה, אפשר לצמצם עוד יותר את העלויות באמצעות Firebase Local Emulator Suite במהלך הפיתוח.
אפשר לעיין בתוכניות התמחור של Firebase ובתרחישי הדוגמה של Cloud Functions Pricing.
האם Firebase מתכננת להגדיל את המכסות והמגבלות של Cloud Functions for Firebase?
לא. אין תוכניות לשינוי המכסות, מלבד הסרת המגבלה על משך הזמן המקסימלי ליצירת גרסאות build. במקום לקבל שגיאות או אזהרות כשמגיעים למכסת ה-build היומית של 120 דקות, תחויבו בהתאם לתנאים של תוכנית התמחור Blaze. מידע נוסף זמין במאמר מכסות ומגבלות.
האם אוכל לקבל את הקרדיט בסך Google Cloud $300?
כן, אפשר ליצור חשבון Cloud Billing במסוף Google Cloud כדי לקבל את הזיכוי בסך 300$, ואז לקשר את חשבון Cloud Billing הזה לפרויקט ב-Firebase.
מידע נוסף על הזיכוי Google Cloud זמין כאן.
שימו לב שאם תעשו זאת, תצטרכו להגדיר את תוכנית התמחור והתשלומים של Blaze במסוף Firebase כדי שהפרויקט ימשיך לפעול אחרי שהיתרה בסך 300 $תנוצל.
אני רוצה לעקוב אחר Codelab כדי לקבל מידע על Firebase. יש לך אפשרות לספק לי חשבון חיוב זמני?
לא, סליחה. אפשר להשתמש באמולטור של Firebase לצורכי פיתוח, בלי שיהיה לכם חשבון Cloud Billing. אפשר גם לבקש תקופת ניסיון בחינם של Google Cloud. אם אתם עדיין נתקלים בבעיות בתשלום החיוב בגלל השינוי הזה, תוכלו לפנות לתמיכה של Firebase.
אני חושש שאצבור חיוב גבוה.
אפשר להגדיר התראות לגבי תקציב במסוף Google Cloud כדי לשלוט בעלויות. בנוסף, אתם יכולים להגדיר מגבלות על מספר המכונות לחיוב שנוצרות לכל אחת מהפונקציות. כדי לקבל מושג לגבי עלויות בתרחישים אופייניים, אפשר לעיין בדוגמאות של התמחור של Cloud Functions.
איך אפשר לבדוק את החיובים הנוכחיים?
הצגת לוח הבקרה Usage and billing במסוף Firebase.
אני משתמש/ת בתוספים ל-Firebase. האם צריך חשבון לחיוב?
כן. מכיוון שתוספים משתמשים ב-Cloud Functions, הם כפופים לחיוב זהה לחיוב על פונקציות אחרות.
כדי להשתמש בתוספים, תצטרכו לשדרג לחבילת התמחור Blaze. תחויבו בסכום קטן (בדרך כלל כ-0.01 $לחודש) על המשאבים של Firebase שנדרשים לכל תוסף שתתקינו (גם אם לא משתמשים בהם), בנוסף לחיובים שקשורים לשימוש שלכם בשירותי Firebase.
תמחור Cloud Storage for Firebase
איך אפשר לחזות את סכום החיוב על פעולות העלאה והורדה?
אפשר להיכנס לדף Pricing ב-Firebase ולהשתמש במחשבון של תוכנית Blaze. בחשבון מפורטים כל סוגי השימוש ב-Cloud Storage for Firebase.
משתמשים בפסי ההזזה כדי להזין את השימוש הצפוי בקטגוריית האחסון. המחשבון יעריך את החיוב החודשי שלכם.
מה קורה אם חורגים מהמגבלות של התוכנית ב-Spark להעלאה, להורדה או לאחסון ב-Cloud Storage for Firebase?
כשחורגים מהמגבלות של Cloud Storage בפרויקט בתוכנית Spark, התוצאה תלויה בסוג המגבלה שחורגים ממנה:
- אם תחרגו מהמגבלה של GB ששמורים, לא תוכלו לאחסן יותר נתונים בפרויקט הזה, אלא אם תסירו חלק מהנתונים השמורים או תשדרגו למינוי עם נפח אחסון גדול יותר או עם נפח אחסון בלתי מוגבל.
- אם תחרגו מהמגבלה של GB שהורדו, לא תוכלו להוריד נתונים נוספים באפליקציה עד למחרת (החל מחצות, לפי שעון החוף המערבי בארה"ב), אלא אם תבצעו שדרוג לתוכנית עם מגבלות פחות מחמירות או ללא מגבלות.
- במקרה של חריגה מהמגבלה של פעולות ההעלאה או ההורדה, האפליקציה לא תוכל להעלות או להוריד נתונים נוספים עד ליום המחרת (החל בחצות, לפי שעון החוף המערבי של ארה"ב), אלא אם תשדרגי לתוכנית עם מגבלות פחות מחמירות או שאין בה הגבלות.
פרטיות
איפה אפשר למצוא מידע על פרטיות ואבטחה ב-Firebase?
כדאי לעיין בדף פרטיות ואבטחה ב-Firebase.
האם ערכות ה-SDK של Firebase מתעדות ביומן מידע על שימוש או אבחון מחוץ ל-Analytics?
כן. בשלב הזה האפליקציה זמינה ל-iOS בלבד, אבל היא עשויה להשתנות בעתיד. ה-SDK של Firebase לפלטפורמות Apple כולל את המסגרת FirebaseCoreDiagnostics
כברירת מחדל. Firebase משתמשת במסגרת הזו כדי לאסוף מידע על השימוש ב-SDK ועל אבחון, כדי לקבוע סדר עדיפויות לשיפורים עתידיים במוצר. השדה FirebaseCoreDiagnostics
הוא אופציונלי, כך שאם אתם רוצים לבטל את שליחת יומני האבחון של Firebase, תוכלו לבטל את הקישור של הספרייה לאפליקציה. אפשר לעיין במקור המלא, כולל הערכים ביומן, ב-GitHub.
A/B Testing
A/B Testing: כמה ניסויים אפשר ליצור ולהריץ?
בכל פרויקט ניתן ליצור עד 300 ניסויים, שיכולים לכלול עד 24 ניסויים פעילים, והשאר במצב טיוטה או הושלמו.
A/B Testing: למה אי אפשר להציג את הניסויים אחרי ביטול הקישור של הפרויקט ל-Google Analytics ויצירת קישור מחדש?
קישור לנכס Google Analytics אחר יגרום לאובדן הגישה לניסויים שנוצרו לפני כן. כדי לקבל שוב גישה לניסוי קודם, צריך לקשר מחדש את הפרויקט לנכס Google Analytics שקושר כשהניסוי נוצר.
A/B Testing: למה מוצגת ההודעה "הפרויקט לא מקושר ל-Google Analytics" בזמן שיוצרים ניסוי של הגדרת תצורה מרחוק?
אם כבר קישרתם בין Firebase ל-Google Analytics, אבל עדיין מוצגת ההודעה ש-Google Analytics לא מקושר, צריך לוודא שקיים מקור נתונים ב-Analytics לכל האפליקציות בפרויקט. נכון לעכשיו, כדי להשתמש בבדיקות A/B, כל האפליקציות בפרויקט צריכות להיות מחוברות למקור נתונים ב-Google Analytics.
הרשימה של כל השידורים הפעילים מופיעה בדף פרטי השילוב של Google Analytics במסוף Firebase. נכנסים לדף settingsהגדרות הפרויקט chevron_right שילובים chevron_right Google Analytics chevron_rightניהול.
יצירת מקור לנתוני Google Analytics לכל אפליקציה שאין לה מקור כזה אמורה לפתור את הבעיה. יש כמה דרכים ליצור שידורים לאפליקציות חסרות:
-
אם יש לכם רק אפליקציה אחת או שתיים ללא מקור נתונים משויך ב-Google Analytics, תוכלו להשתמש באחת מהשיטות הבאות כדי להוסיף מקור נתונים ב-Google Analytics:
- מוחקים כל אפליקציה ללא שידור פעיל במסוף Firebase ומוסיפים אותה מחדש.
- במסוף Google Analytics, בוחרים באפשרות אדמין ואז לוחצים על מקורות נתונים, לוחצים על הוספת מקור נתונים, מוסיפים את פרטי האפליקציה החסרה ולוחצים על רישום האפליקציה.
-
אם חסרים יותר מכמה מקורות נתונים של אפליקציות, ביטול הקישור של נכס Google Analytics ויצירת קישור מחדש הם הדרך המהירה והיעילה ביותר ליצור את מקורות הנתונים החסרים של האפליקציות:
- בדף settings Project Settings, בוחרים באפשרות Integrations.
- בכרטיס Google Analytics, לוחצים על ניהול כדי לגשת להגדרות של Firebase ושל Google Analytics.
- מציינים את מזהה הנכס ב-Google Analytics ואת חשבון Google Analytics המקושר.
- לוחצים על more_vert אפשרויות נוספות ובוחרים באפשרות ביטול הקישור של Analytics לפרויקט הזה.
-
קוראים את האזהרה שמופיעה (אין מה לדאוג, תקשרו מחדש את אותו נכס בשלב הבא) ולוחצים על ביטול הקישור ל-Google Analytics.
בסיום ביטול הקישור, תועברו לדף Integrations (שילובים). - בכרטיס Google Analytics, לוחצים על Enable (הפעלה) כדי להתחיל בתהליך הקישור מחדש.
- בוחרים את חשבון Analytics מהרשימה בחירת חשבון.
-
לצד יצירה אוטומטית של נכס חדש בחשבון הזה, לוחצים על
edit עריכה, ואחרי
רשימת הנכסים ב-Analytics שמופיעה, בוחרים את מזהה הנכס.
תוצג רשימה של כל האפליקציות בפרויקט. מופיעים בהם מיפויים קיימים של מקורות הנתונים לכל אפליקציה, ואפליקציות שאין להן מקור נתונים יקבלו מקור נתונים חדש. - לוחצים על הפעלת Google Analytics כדי לקשר מחדש את הנכס.
- לוחצים על סיום.
אם עדיין מופיעה הודעת שגיאה בזמן יצירת בדיקות A/B באמצעות הגדרת תצורה מרחוק אחרי ביצוע השלבים האלה, פנו לתמיכה של Firebase.
AdMob
AdMob: האם אפשר לקשר את האפליקציות ל-Windows ל-Firebase?
לא, בשלב הזה אין תמיכה באפליקציות ל-Windows.
AdMob: למה אי אפשר לקשר את האפליקציה ל-AdMob מהמסוף Firebase?
אפשר לקשר אפליקציית AdMob לאפליקציית Firebase דרך מסוף AdMob. כך עושים את זה
AdMob: אילו הרשאות או גישה נדרשות כדי לקשר אפליקציה של Firebase לאפליקציה של AdMob?
כדי לבצע את הקישור הזה, נדרשת הגישה הבאה:
- AdMob: צריך להיות לך הרשאת אדמין ב-AdMob.
- Firebase: צריכה להיות לכם ההרשאה
firebase.links.create
, שכלולה בתפקידים בעלים ואדמין ב-Firebase. - Google Analytics: צריך להיות לכם התפקיד 'עריכה' או התפקיד 'ניהול משתמשים' בנכס שמשויך לפרויקט Firebase. מידע נוסף
AdMob: האם כמה משתמשים באותו חשבון AdMob יכולים לקשר אפליקציות AdMob ואפליקציות Firebase?
בחשבונות AdMob עם משתמשים מרובים, רק המשתמש שיצר את הקישור הראשון ל-Firebase והאשר את התנאים וההגבלות של Firebase הוא היחיד שיכול ליצור קישורים חדשים בין אפליקציות של AdMob לבין אפליקציות של Firebase.
AdMob: כדי להשתמש ב-AdMob, באילו ערכות SDK כדאי להשתמש?
כדי להשתמש ב-AdMob, תמיד צריך להשתמש ב-SDK של Google Mobile Ads כפי שמתואר בשאלות הנפוצות האלה. בנוסף, אם רוצים לאסוף מדדי משתמשים של AdMob, צריך לכלול באפליקציה את Firebase SDK של Google Analytics.
- בפרויקטים ל-iOS:
מייבאים את ה-SDK של Google Mobile Ads לפי ההוראות שמפורטות במסמכי התיעוד של AdMob ל-iOS. - בפרויקטים של Android:
מוסיפים את התלות של ה-SDK של Google Mobile Ads לקובץbuild.gradle
:
implementation 'com.google.android.gms:play-services-ads:23.5.0'
- בפרויקטים ב-C++ ובפרויקטים ב-Unity: פועלים לפי ההוראות במסמכי התיעוד הרלוונטיים.
Analytics
Analytics: למה Google Analytics הוא חלק מומלץ מהשימוש במוצרי Firebase?
Google Analytics הוא פתרון חינמי לניתוח נתונים ללא הגבלה, שמשתלב עם התכונות של Firebase כדי לספק תובנות מועילות. בעזרת הכלי תוכלו להציג יומני אירועים ב-Crashlytics, את מידת היעילות של ההתראות ב-FCM, את ביצועי קישורי העומק ב-Dynamic Links ונתונים על רכישות מתוך האפליקציה מ-Google Play. הוא מבוסס על טירגוט מתקדם לפי קהל ב-Remote Config, בהתאמה אישית של Remote Config ועוד.
Google Analytics פועלת כשכבת בינה במסוף Firebase כדי לספק לכם תובנות מעשיות יותר לגבי פיתוח אפליקציה באיכות גבוהה, הגדלת בסיס המשתמשים והגדלת ההכנסות.
כדי להתחיל, צריך לקרוא את מסמכי התיעוד.
Analytics: איך אפשר לקבוע איך הנתונים של Analytics ישותפו עם שאר Firebase?
כברירת מחדל, הנתונים של Google Analytics משמשים לשיפור תכונות אחרות של Firebase ושל Google. אתם יכולים לקבוע איך נתוני Google Analytics ישותפו בכל שלב בהגדרות הפרויקט. מידע נוסף על הגדרות שיתוף נתונים
Analytics: איך מעדכנים את ההגדרות של הנכס ב-Analytics?
בדף ניהול בנכס Google Analytics תוכלו לעדכן את הגדרות הנכס, למשל:
- הגדרות שיתוף נתונים
- הגדרות של שמירת נתונים
- הגדרות של אזור הזמן והמטבע
כדי לעדכן את הגדרות הנכס:
- במסוף Firebase, עוברים אל settings > Project settings.
- עוברים לכרטיסייה Integrations (שילובים), ובכרטיס Google Analytics לוחצים על Manage (ניהול) או על View link (הצגת קישור).
- לוחצים על הקישור לחשבון Google Analytics כדי לפתוח את ההגדרות של החשבון והנכס.
Analytics באפליקציה שלי ל-iOS: האם אפשר להתקין את Analytics ללא התכונות של שיוך מודעות (Attribution) ושל איסוף IDFA?
כן. פרטים נוספים זמינים בדף הגדרת איסוף הנתונים והשימוש בהם.
Analytics: מה השתנה בקטע של Google Analytics במסגרת העדכון באוקטובר 2021?
סיכום של השינויים האלה זמין במאמר פונקציונליות חדשה של Google Analytics 4 עבור Google Analytics for Firebase במרכז העזרה של Firebase.
Analytics: למה לא מוצגים נתוני Analytics במסוף Firebase אחרי ביטול הקישור של Firebase ל-Google Analytics?
הנתונים של Analytics נמצאים בנכס Google Analytics – ולא בפרויקט ב-Firebase. אם תמחקו את הנכס או תבטלו את הקישור, לנתוני Analytics לא תהיה גישה ל-Firebase, ובמסוף Firebase יופיע מרכז בקרה ריק של Analytics. חשוב לשים לב שמכיוון שהנתונים עדיין נמצאים בנכס הקודם שקושר, תמיד אפשר לקשר מחדש את הנכס ל-Firebase ולראות את הנתונים של Analytics במסוף Firebase.
קישור של חשבון Google Analytics חדש (וכתוצאה מכך נכס חדש ב-Google Analytics) לפרויקט Firebase יגרום למרכז הבקרה Analytics ריק במסוף Firebase. עם זאת, אם הנכס שהיה מקושר בעבר עדיין קיים, אפשר להעביר את הנתונים הקיימים מהנכס הישן לנכס החדש.
Analytics: אם הנכס Analytics והנתונים שלו נמחקו, יש דרך להחזיר אותם?
לא. אם הנכס נמחק, אי אפשר לבטל את המחיקה שלו או לאחזר את נתוני Analytics שנאספו בעבר ונשמרו בנכס הזה.
כדי להתחיל להשתמש שוב ב-Google Analytics, אפשר לקשר נכס חדש או נכס קיים לפרויקט Firebase. אפשר לבצע את הקישור הזה במסוף Firebase או בממשק המשתמש של Google Analytics. מידע נוסף על קישור נכס Google Analytics לפרויקט Firebase
Analytics: אם נכס Analytics שלי נמחק, האם אוכל לקשר נכס Google Analytics חדש לפרויקט Firebase שלי ולהתחיל להשתמש שוב ב-Analytics?
אם תרצו להתחיל להשתמש שוב ב-Google Analytics, תוכלו לקשר נכס חדש או נכס קיים לפרויקט Firebase. אפשר לעשות את הקישור הזה במסוף Firebase או בממשק המשתמש של Google Analytics. מידע נוסף על קישור נכס ב-Google Analytics לפרויקט Firebase.
חשוב לזכור שכל נתוני Analytics מאוחסנים בנכס (ולא בפרויקט Firebase), ולכן אי אפשר לאחזר את נתוני Analytics שנאספו בעבר.
Analytics: איך מוצרים של Firebase או מוצרים משולבים של Google יושפעו מהמחיקה של נכס 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 תופסק.
בנוסף, השילובים הבאים יושפעו מהשינוי:
- אין לך יותר אפשרות לייצא נתונים של Analytics אל BigQuery.
- לא תוכלו יותר להשתמש באינטגרציות של Google Ads או באינטגרציות של Google AdMob.
Analytics: איך אפשר לפלח משתמשים שלא עמדו בקריטריון מסוים?
אפשר להציג את הבעיה בדרך אחרת על ידי 'טירגוט שלילי' של המשתמשים האלה. לדוגמה, אפשר לשנות את הגדרת הבעיה לשיטה "לא להציג מודעות לאנשים שקנו משהו", וליצור קהל של המשתמשים האלה לצורך טירגוט.
Analytics: האם קהלים ו/או אירועים שמוגדרים בממשק של Google Analytics זמינים גם במסוף Firebase?
הקהלים ומאפייני המשתמשים יסונכרנו. כדי להשתמש בתכונות מסוימות, כמו פילוח ומשפכים סגורים, תצטרכו להשתמש בממשק של Google Analytics. אפשר לגשת לממשק של Google Analytics ישירות דרך קישורי עומק מהמסוף Firebase.
כל השינויים שמבצעים במסוף Firebase יכולים להתבצע גם ב-Google Analytics, והשינויים האלה יבואו לידי ביטוי ב-Firebase.
Authentication
Firebase Authentication: באילו אזורים אפשר לבצע אימות באמצעות טלפון?
Firebase Authentication תומך באימות של מספר טלפון באופן גלובלי, אבל לא בכל הרשתות שולחות הודעות אימות בצורה אמינה. באזורים הבאים יש שיעורי העברה טובים, וצפוי שהם יפעלו היטב לאימות באמצעות טלפון. במקרים מסוימים, ספקים מסוימים לא זמינים באזור מסוים בגלל שיעורי מסירה נמוכים.
אזור | קוד |
---|---|
לסה״נ | אנדורה |
AE | איחוד האמירויות הערביות |
AF | אפגניסטן |
AG | אנטיגואה וברבודה |
אלבניה | אלבניה |
AM | ארמניה |
AO | אנגולה |
AR | ארגנטינה |
AS | סמואה האמריקנית |
AT | אוסטריה |
AU | אוסטרליה |
AW | ארובה |
AZ | אזרבייג'ן |
BA | בוסניה והרצגובינה |
BB | ברבדוס |
BD | בנגלדש |
BE | בלגיה |
BF | בורקינה פאסו |
BG | בולגריה |
בי ג'יי | בנין |
BM | ברמודה |
BN | ברוני דרוסלם |
בוס | בוליביה |
BR | ברזיל |
BS | איי הבהאמה |
BT | בהוטן |
BW | בוצואנה |
BY | בלארוס |
BZ | בליז |
קנדה | קנדה |
CD | קונגו (קינשאסה) |
מ' | רפובליקת מרכז אפריקה |
CG | קונגו (ברזוויל) |
CH | שווייץ |
CI | חוף השנהב |
סיום | איי קוק |
CL | צ'ילה |
CM | קמרון |
קולורדו | קולומביה |
תגובה מוכנה מראש | קוסטה ריקה |
קורות חיים | כף ורדה |
CW | קוראסאו |
CY | קפריסין |
צ'כיה | צ'כיה |
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 | גוואדלופ |
שערים נגד | גיניאה המשוונית |
GR | יוון |
GT | גואטמלה |
GY | גיאנה |
HK | הונג קונג, אזור מנהלי מיוחד של סין |
HN | הונדורס |
HR | קרואטיה |
מחצית | האיטי |
HU | הונגריה |
מזהה | אינדונזיה |
IE | אירלנד |
IL | ישראל |
IM | האי מאן |
IN | הודו |
IQ | עירק |
IT | איטליה |
JE | ג'רזי |
JM | ג'מייקה |
JO | ירדן |
JP | יפן |
KE | קניה |
ק"ג | קירגיזסטן |
KH | קמבודיה |
ק"מ | איי קומורו |
KN | סנט קיטס ונוויס |
KR | קוריאה (דרום) |
KW | כווית |
קנטקי | איי קיימן |
KZ | קזחסטן |
לואיזיאנה | הרפובליקה הדמוקרטית העממית של לאוס |
LB | לבנון |
צ'ילה | סנט לוסיה |
לי | ליכטנשטיין |
LK | סרי לנקה |
LS | לסוטו |
LT | ליטא |
LU | לוקסמבורג |
LV | לטביה |
LY | לוב |
MA | מרוקו |
מרילנד | מולדובה |
ME | מונטנגרו |
MF | סן מרטן (החלק הצרפתי) |
MG | מדגסקר |
MK | מקדוניה |
MM | מיאנמר |
מינסוטה | מונגוליה |
MO | מקאו, אזור מנהלי מיוחד של סין |
MS | מונסראט |
MT | מלטה |
MU | מאוריציוס |
מגה-ואט | מלאווי |
MX | מקסיקו |
שלי | מלזיה |
MZ | מוזמביק |
לא זמין | נמיביה |
NC | קלדוניה החדשה |
צפ'-מז' | ניז'ר |
NF | האי נורפולק |
NG | ניגריה |
NI | ניקרגואה |
NL | הולנד |
לא | נורווגיה |
NP | נפאל |
ניו זילנד | ניו זילנד |
OM | עומאן |
PA | פנמה |
PE | פרו |
PG | פפואה גינאה החדשה |
מ' | הפיליפינים |
PK | פקיסטן |
PL | פולין |
PM | סנט פייר ומיקלון |
PR | פוארטו ריקו |
PS | הרשות הפלסטינית |
נק' | פורטוגל |
PY | פרגוואי |
בקרת איכות | קטאר |
RE | ראוניון |
RO | רומניה |
RS | סרביה |
RU | רוסיה |
RW | רואנדה |
SA | ערב הסעודית |
SC | איי סיישל |
SE | שוודיה |
SG | סינגפור |
פנדלים | סנט הלנה |
SI | סלובניה |
SK | סלובקיה |
SL | סיירה לאון |
SN | סנגל |
SR | סורינאם |
ST | סאו טומה ופרינסיפה |
SV | אל סלבדור |
SZ | סווזילנד |
TC | איי טורקס וקאיקוס |
TG | טוגו |
TH | תאילנד |
TL | מזרח טימור |
TM | טורקמניסטן |
TO | טונגה |
TR | טורקיה |
TT | טרינידד וטובגו |
TW | טייוואן, הרפובליקה של סין |
TZ | הרפובליקה המאוחדת של טנזניה |
UA | אוקראינה |
UG | אוגנדה |
ארה"ב | ארצות הברית |
UY | אורוגוואי |
UZ | אוזבקיסטן |
קמפיין לעידוד צפייה בסרטון (VC) | סנט וינסנט והגרנדינים |
VE | ונצואלה (הרפובליקה הבוליברית) |
VG | איי הבתולה הבריטיים |
VI | איי הבתולה, ארה״ב |
מס' | וייטנאם |
WS | סמואה |
YE | תימן |
YT | מאיוט |
ZA | דרום אפריקה |
ZM | זמביה |
ZW | זימבבואה |
Firebase Authentication: איך אפשר למנוע ניצול לרעה של SMS כשמשתמשים באימות באמצעות טלפון?
כדי להגן על הפרויקט מפני יצירת תנועה מלאכותית ב-SMS ושימוש לרעה ב-API, כדאי לבצע את הפעולות הבאות:
כדאי להגדיר מדיניות אזורים ל-SMS
-
חפשו אזורים עם מספר גבוה מאוד של הודעות SMS שנשלחו ומספר נמוך מאוד (או אפס) של הודעות SMS מאומתות. היחס בין מספר ההודעות שאומתו לבין מספר ההודעות שנשלחו הוא שיעור ההצלחה שלכם. שיעורי ההצלחה הרגילים נעים בדרך כלל בין 70% ל-85%, מאחר ש-SMS הוא לא פרוטוקול העברה מובטח, ויכול להיות שיהיה שימוש לרעה בחלק מהאזורים. שיעורי הצלחה מתחת ל-50% מציינים ששלחתם הרבה הודעות SMS אבל מעט כניסות מוצלחות. זהו אינדיקטור נפוץ לפעילות זדונית וליצירת תנועה מלאכותית בהודעות SMS.
אפשר להשתמש במדיניות האזורית של 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 שנשלחות).
Firebase Authentication: האם מספרי הטלפון הועברו לספק חדש שתומך באימות בטלפון?
בשלב זה, העברת מספרים בין ספקים תגרום לכך שאי אפשר יהיה לשלוח הודעות SMS למשתמשים הקצה האלה. אין פתרון עקיף, ואנחנו ב-Firebase עובדים על הבעיה הזו.
Firebase Authentication: באפליקציה ל-Android, למה מופיעה
השגיאה הבאה:
Google sign in failed
?
Google sign in failed
אם מוצגת השגיאה הבאה, צריך לפעול לפי השלבים לפתרון בעיות שמפורטים בשאלות הנפוצות האלה:
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)
מוודאים שהאפשרות כניסה באמצעות חשבון Google מופעלת כראוי כספק אימות:
במסוף Firebase, פותחים את הקטע Authentication.
בכרטיסייה שיטת כניסה, משביתים את שיטת הכניסה באמצעות Google ואז מפעילים אותה מחדש (גם אם היא כבר מופעלת):
פותחים את שיטת הכניסה באמצעות Google, משביתים אותה ולוחצים על Save.
פותחים מחדש את שיטת הכניסה באמצעות Google, מפעילים אותה ולוחצים על Save.
מוודאים שהאפליקציה משתמשת בקובץ התצורה המעודכן של Firebase (
google-services.json
).
איך מקבלים את קובץ התצורה של האפליקציהבודקים אם השגיאה עדיין מופיעה. אם כן, המשיכו לשלב הבא לפתרון בעיות.
מוודאים שקיימים לקוחות OAuth 2.0 בסיסיים נדרשים.
בדף Credentials במסוף Google Cloud, מחפשים בקטע OAuth 2.0 Client IDs.
אם לקוחות OAuth 2.0 לא מופיעים (ואתם ביצעתם את כל השלבים לפתרון בעיות שמפורטים למעלה), פנו לתמיכה.
Firebase Authentication: באפליקציה שלי בפלטפורמת Apple, למה מופיעה הודעת השגיאה הבאה:
You must specify <clientID> in <GIDConfiguration>
?
You must specify <clientID> in <GIDConfiguration>
אם מוצגת השגיאה הבאה, צריך לפעול לפי השלבים לפתרון בעיות שמפורטים בשאלות הנפוצות האלה:
You must specify |clientID| in |GIDConfiguration|
מוודאים שהאפשרות כניסה באמצעות חשבון Google מופעלת כראוי כספק אימות:
במסוף Firebase, פותחים את הקטע Authentication.
בכרטיסייה שיטת כניסה, משביתים את שיטת הכניסה באמצעות Google ואז מפעילים אותה מחדש (גם אם היא כבר מופעלת):
פותחים את שיטת הכניסה באמצעות Google, משביתים אותה ולוחצים על Save.
פותחים מחדש את שיטת הכניסה באמצעות Google, מפעילים אותה ולוחצים על Save.
מוודאים שהאפליקציה משתמשת בקובץ התצורה המעודכן של Firebase (
GoogleService-Info.plist
).
איך מקבלים את קובץ התצורה של האפליקציהבודקים אם השגיאה עדיין מופיעה. אם כן, ממשיכים לשלב הבא לפתרון הבעיות.
מוודאים שקיימים לקוחות OAuth 2.0 בסיסיים נדרשים.
בדף Credentials במסוף Google Cloud, מחפשים בקטע OAuth 2.0 Client IDs.
אם לקוחות OAuth 2.0 לא מופיעים (ואתם ביצעתם את כל השלבים לפתרון בעיות שמפורטים למעלה), פנו לתמיכה.
Firebase Authentication: באפליקציית האינטרנט שלי, למה מופיעה הודעת השגיאה הבאה:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
?
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
אם מוצגת השגיאה הבאה, צריך לפעול לפי השלבים לפתרון בעיות שמפורטים בשאלות הנפוצות האלה:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
מוודאים שהאפשרות כניסה באמצעות חשבון Google מופעלת כראוי כספק אימות:
במסוף Firebase, פותחים את הקטע Authentication.
בכרטיסייה שיטת כניסה, משביתים את שיטת הכניסה באמצעות Google ואז מפעילים אותה מחדש (גם אם היא כבר מופעלת):
פותחים את שיטת הכניסה באמצעות Google, משביתים אותה ולוחצים על Save.
פותחים מחדש את שיטת הכניסה באמצעות Google, מפעילים אותה ולוחצים על Save.
בנוסף, בהגדרות של ספק הכניסה באמצעות חשבון Google בקטע Authentication, חשוב לוודא שמזהה הלקוח והסוד של OAuth תואמים ללקוח האינטרנט שמוצג בדף Credentials במסוף Google Cloud (בקטע OAuth 2.0 Client IDs).
Firebase Authentication: באפליקציית האינטרנט שלי, למה הכניסה באמצעות הפניות אוטומטיות נכשלת עם השגיאה הבאה:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
אם קיבלתם את השגיאה הבאה, בצעו את השלבים לפתרון בעיות שמפורטים בשאלות הנפוצות האלה:
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:
אם אתם משתמשים בעזרי אימות שסופקו על ידי Hosting כדי להתחבר משתמשים באמצעות ה-SDK של Authentication JS, מערכת Firebase מקבלת באופן אוטומטי את מפתח ה-API עם שאר ההגדרות של Firebase בכל פעם שאתם פורסים ב-Firebase Hosting. חשוב לוודא ש-
authDomain
באפליקציית האינטרנטfirebaseConfig
מוגדר בצורה נכונה לשימוש באחד מהדומיינים של האתר Hosting. כדי לבדוק זאת, עוברים אלhttps://authDomain__/firebase/init.json
ובודקים ש-projectId
תואם ל-firebaseConfig
.אם אתם מארחים בעצמכם את קוד הכניסה, תוכלו להשתמש בקובץ
__/firebase/init.json
כדי לספק את ההגדרות של Firebase ל-Authentication JS SDK Redirect helper שמתארח בעצמכם. מפתח ה-API וה-projectId
שמפורטים בקובץ התצורה הזה צריכים להתאים לאפליקציית האינטרנטfirebaseConfig
.
מוודאים שמפתח ה-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, עוברים אל settings > 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
, ולאחר מכן פורסים מחדש את האפליקציה.
Firebase Authentication: איך יוצרים באופן ידני לקוח אינטרנט של OAuth?
פותחים את הדף Credentials במסוף Google Cloud.
בחלק העליון של הדף, בוחרים באפשרות יצירת פרטי כניסה > מזהה לקוח OAuth.
אם תופיע בקשה להגדיר את מסך ההסכמה, פועלים לפי ההוראות במסך ואז ממשיכים בשלבים הבאים במאמר השאלות הנפוצות הזה.
יוצרים את לקוח האינטרנט של OAuth:
בקטע Application Type בוחרים באפשרות Web application.
בשביל Authorized JavaScript Origins, צריך להוסיף את הפרטים הבאים:
http://localhost
http://localhost:5000
https://PROJECT_ID.firebaseapp.com
https://PROJECT_ID.web.app
בקטע Authorized Redirect URIs, מוסיפים את הפרטים הבאים:
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
שומרים את לקוח ה-OAuth.
מעתיקים ללוח את מזהה הלקוח החדש של OAuth ואת סוד הלקוח החדש.
במסוף Firebase, פותחים את הקטע Authentication.
בכרטיסייה Sign in method, פותחים את ספק הכניסה באמצעות Google, ומדביקים את מזהה הלקוח ואת הסוד של שרת האינטרנט שיצרתם והעתקתם ממסוף Google Cloud. לוחצים על Save.
Firebase Authentication: איך %APP_NAME%
נקבע בתבנית האימייל של הודעת האישור שאפשר לשלוח למשתמש כשנרשמים באמצעות כתובת אימייל וסיסמה?
לפני דצמבר 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
איך משדרגים לגרסה הנתמכת האחרונה של Node.js?
- חשוב לוודא שאתם משתמשים בתוכנית התמחור והתשלומים של Blaze.
- חשוב לוודא שאתם משתמשים בגרסה העדכנית ביותר של CLI של Firebase.
- מעדכנים את השדה
engines
ב-package.json
של הפונקציות. - אפשר גם לבדוק את השינויים באמצעות Firebase Local Emulator Suite.
- פורסים מחדש את כל הפונקציות.
איך אפשר לוודא שהפונקציות נפרסו בסביבת זמן ריצה ספציפית של Node.js?
במסוף Firebase, עוברים אל לוח הבקרה של הפונקציות, בוחרים פונקציה ובודקים את השפה שלה בקטע פרטים נוספים.
אני משתמש/ת בתוספים ל-Firebase. האם עדכוני זמן הריצה של Cloud Functions ישפיעו עליי?
כן. מאחר שתוספים משתמשים ב-Cloud Functions, סביבת זמן הריצה של התוספים תצטרך להתעדכן באותו ציר זמן כמו Cloud Functions.
מומלץ לעדכן מדי פעם לגרסה האחרונה של כל תוסף שמותקן בפרויקט. אפשר לשדרג את התוספים של הפרויקטים דרך מסוף Firebase או CLI של Firebase.
Cloud Messaging
Cloud Messaging: מה ההבדל בין הכלי ליצירת התראות לבין Cloud Messaging?
Firebase Cloud Messaging מספק קבוצה מלאה של יכולות שליחת הודעות באמצעות ערכות ה-SDK ללקוח ופרוטוקולים של שרתים מסוג HTTP ו-XMPP. לפריסות עם דרישות מורכבות יותר לשליחת הודעות, FCM היא האפשרות הנכונה.
הכלי ליצירת התראות הוא פתרון קל ללא שרת לשליחת הודעות, שמבוסס על Firebase Cloud Messaging. בעזרת מסוף גרפי ידידותי למשתמש ודרישות תכנות מופחתות, הכלי ליצירת התראות מאפשר למשתמשים לשלוח בקלות הודעות כדי לחדש את האינטראקציה עם המשתמשים ולשמר אותם, לעודד את הצמיחה של האפליקציה ולתמוך בקמפיינים שיווקיים.
יכולות | כלי ליצירת התראות | Cloud Messaging | |
---|---|---|---|
Target | מכשיר אחד | ||
לקוחות שנרשמו לנושאים (למשל, מזג האוויר) | |||
לקוחות בפלח משתמשים מוגדר מראש (אפליקציה, גרסה, שפה) | |||
לקוחות בקהלים ספציפיים של ניתוח נתונים | |||
לקוחות בקבוצות מכשירים | |||
מצד הלקוח לשרת | |||
סוג ההודעה | התראות של עד 2kb | ||
הודעות נתונים עד 4kb | |||
משלוח | מיידי | ||
הזמן המקומי העתידי של מכשיר הלקוח | |||
Analytics | איסוף נתונים מובנה של התראות וניתוח נתוני משפך |
Cloud Messaging: Apple הודיעה שהיא מוציאה משימוש את הפרוטוקול הבינארי הקודם של APN. עליי לעשות משהו?
לא. Firebase Cloud Messaging עבר לפרוטוקול APNs שמבוסס על HTTP/2 בשנת 2017. אם אתם משתמשים ב-FCM כדי לשלוח התראות למכשירי iOS, לא נדרשת פעולה מצידכם.
Cloud Messaging: האם צריך להשתמש בשירותים אחרים של Firebase כדי להשתמש ב-FCM?
אפשר להשתמש ב-Firebase Cloud Messaging כרכיב עצמאי, באותו אופן שבו השתמשתם ב-GCM, בלי להשתמש בשירותים אחרים של Firebase.
Cloud Messaging: אני מפתח/ת קיים/ה של Google Cloud Messaging (GCM). האם כדאי לעבור אל Firebase Cloud Messaging?
FCM היא הגרסה החדשה של GCM במסגרת המותג Firebase. הוא יורש את תשתית הליבה של GCM, עם ערכות SDK חדשות שיקלו על פיתוח Cloud Messaging.
יתרונות השדרוג ל-FCM SDK כוללים:
- פיתוח קל יותר של לקוחות. לא תצטרכו יותר לכתוב לוגיקה משלכם לניסיון חוזר של רישום או מינוי.
- פתרון מוכן לשימוש להתרעות. אפשר להשתמש בכלי ליצירת התראות – פתרון להתראות ללא שרת (serverless) עם מסוף אינטרנט, שמאפשר לכל אחד לשלוח התראות כדי לטרגט קהלים ספציפיים על סמך תובנות מ-Google Analytics.
כדי לשדרג מ-GCM SDK ל-FCM SDK, אפשר לעיין במדריכים להעברת אפליקציות ל-Android ול-iOS.
Cloud Messaging: למה המכשירים המטורגטים כנראה לא מקבלים הודעות?
אם נראה שהמכשירים לא קיבלו הודעות, כדאי לבדוק קודם את שתי הסיבות האפשריות הבאות:
טיפול בחזית בהודעות של התראות. אפליקציות לקוח צריכות להוסיף לוגיקה של טיפול בהודעות כדי לטפל בהודעות התראה כשהאפליקציה פועלת בחזית המכשיר. אפשר לעיין בפרטים לגבי iOS ו- Android.
הגבלות על חומת האש של הרשת. אם בארגון שלכם יש חומת אש שמגבילה את התנועה לאינטרנט או ממנו, עליכם להגדיר אותה כך שתאפשר קישוריות עם FCM כדי שאפליקציות הלקוח של Firebase Cloud Messaging יוכלו לקבל הודעות. היציאות לפתיחה הן:
- 5228
- 5229
- 5230
ב-FCM בדרך כלל נעשה שימוש ב-5228, אבל לפעמים הוא משתמש ב-5229 וב-5230. FCM לא מספק כתובות IP ספציפיות, לכן צריך לאפשר לחומת האש לקבל חיבורים יוצאים לכל כתובות ה-IP שכלולות בחסימות ה-IP שמפורטות בASN של 15169 של Google.
Cloud Messaging: הטמעתי את onMessageReceived
באפליקציה שלי ל-Android, אבל היא לא נקראת.
כשהאפליקציה פועלת ברקע,
הודעות התראה מוצגות בסרגל האפליקציות, ולא מתבצעת קריאה ל-onMessageReceived
. בהתראות עם עומס נתונים, ההתראה מוצגת במגש המערכת, ואפשר לאחזר את הנתונים שכללו את ההתראה מהכוונה שהופעל כשהמשתמש הקיש על ההתראה.
מידע נוסף זמין במאמר קבלה וטיפול בהודעות.
כלי היצירה של התראות: מה ההבדל בין כלי היצירה של התראות לבין Cloud Messaging?
הכלי ליצירת התראות הוא פתרון קל משקל ללא שרת לשליחת הודעות, שמבוסס על Firebase Cloud Messaging. בעזרת מסוף גרפי ידידותי למשתמש ודרישות תכנות מופחתות, הכלי ליצירת התראות מאפשר למשתמשים לשלוח בקלות הודעות כדי לחדש את האינטראקציה עם המשתמשים ולשמר אותם, לעודד את הצמיחה של האפליקציה ולתמוך בקמפיינים שיווקיים.
Firebase Cloud Messaging מספק קבוצה מלאה של יכולות שליחת הודעות באמצעות ערכות ה-SDK ללקוח ופרוטוקולים של שרתים מסוג HTTP ו-XMPP. לפריסות עם דרישות מורכבות יותר לשליחת הודעות, FCM היא האפשרות הנכונה.
הנה השוואה בין יכולות ההודעות של Firebase Cloud Messaging לבין הכלי ליצירת התראות:
יכולות | כלי ליצירת התראות | Cloud Messaging | |
---|---|---|---|
Target | מכשיר אחד | ||
לקוחות שנרשמו לנושאים (למשל, מזג האוויר) | |||
לקוחות בפלח משתמשים מוגדר מראש (אפליקציה, גרסה, שפה) | |||
לקוחות בקהלים ספציפיים של ניתוח נתונים | |||
לקוחות בקבוצות מכשירים | |||
מצד הלקוח לשרת | |||
סוג ההודעה | התראות של עד 2kb | ||
הודעות נתונים עד 4kb | |||
משלוח | מיידי | ||
הזמן המקומי העתידי של מכשיר הלקוח | |||
Analytics | אוסף מובנה של ניתוח נתונים של התראות וניתוח נתונים של משפך |
כלי ליצירת התראות: אני כבר מפתח Google Cloud Messaging (GCM) ואני רוצה להשתמש בכלי ליצירת התראות. מה לעשות?
הכלי ליצירת התראות הוא פתרון מוכן לשימוש שמאפשר לכל אחד לשלוח התראות לטירגוט קהלים ספציפיים על סמך תובנות מ-Google Analytics. בנוסף, הכלי ליצירת התראות מספק ניתוח משפך של כל הודעה, וכך מאפשר להעריך בקלות את האפקטיביות של ההתראות.
אם אתם מפתחים של GCM, כדי להשתמש בכלי ליצירת התראות תצטרכו לשדרג מ-GCM SDK ל-FCM SDK. כדאי לעיין במדריכים להעברת אפליקציות ל-Android ול-iOS.
תכונות של FCM שהוצאו משימוש ביוני 2023
אילו ממשקי FCM API הוצאו משימוש ב-20 ביוני 2023, ומה צריך לעשות אם משתמשים בממשקי ה-API האלה?
ממשקי ה-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/6/2024. | משתמשים ב-Web JS SDK כדי ליצור הרשמות ל-FCM באינטרנט. |
https://iid.googleapis.com/iid/* | נקודות הקצה ימשיכו לפעול, אבל הן לא יתמכו באימות באמצעות מפתחות שרת סטטיים אחרי 21 ביוני 2024. | שימוש באסימון גישה מסוג OAuth 2.0 שמבוסס על חשבון שירות. | |
Device group management 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 . | במקום זאת, כדאי לשדרג לגרסה העדכנית ביותר של Firebase Admin SDK ולהשתמש בממשקי ה-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 לאינטרנט לגרסה האחרונה. |
האם תתבצע הורדה של רמת השירות לפני יוני 2024?
לא. יש לכם 12 חודשים (20 ביוני 2023 עד 21 ביוני 2024) כדי לעבור מממשקי ה-API הישנים לממשקי ה-API החדשים בלי שדרוג לאחור של השירות. מומלץ מאוד לתכנן את ההעברה בהקדם האפשרי, כדי שלא תהיה לכך השפעה על ההוצאה משימוש של ממשקי ה-API ביוני 2024.
אחרי יוני 2024, יכול להיות שיהיו יותר שגיאות או חוסר פונקציונליות בזמן השימוש בממשקי ה-API או בערכות ה-SDK שמפורטים למעלה (מידע נוסף זמין בשאלות הנפוצות הבאות).
איך ומתי יושבתו ממשקי ה-API שהוצאו משימוש?
ב-22 ביולי 2024 נתחיל להוציא משימוש באופן הדרגתי את ממשקי ה-API שהוצאו משימוש ב-FCM. אחרי התאריך הזה, שירותים שהוצאו משימוש יהיו כפופים לתהליך 'הבהוב', שבו מספר הולך וגדל של בקשות יחזירו תגובות שגיאה. במהלך תקופת ההוצאה משימוש, התדירות של התגובות הבאות לשגיאות וההתנהגות הבאה צפויה לעלות עם הזמן:
קטגוריה | מה צפוי לקרות |
---|---|
פרוטוקול HTTP מדור קודם | בקשות נדחות עם קוד HTTP 301. |
פרוטוקול XMPP מדור קודם | בקשות שנדחות עם קוד השגיאה 302. |
FCM Upstream | הודעות שהמערכת של הקצה העורפי של FCM משמיטה בשקט. |
Batch Send API | בקשות שנדחו עם קוד השגיאה UNIMPLEMENTED והודעת השגיאה "ה-API הוצא משימוש". |
ערכות SDK של GCM – רישום טוקנים | בקשות נדחות עם קוד HTTP 301. |
ערכות SDK של GCM – שליחת הודעות | בקשות נדחות עם קוד השגיאה 400 והודעת השגיאה 'אסימון V3 הוצא משימוש'. |
ערכות SDK של JS בגרסה 7.0.0 ואילך | בקשות נדחות עם קוד HTTP 501. |
שימוש במפתח שרת כדי לגשת למזהה מכונה ולממשקי API לניהול קבוצות מכשירים | בקשות נדחות עם קוד HTTP 401. |
מה ההבדל בין אסימוני OAuth 2.0 למפתחות שרת?
אסימון 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 החדש בבת אחת?
מומלץ להגדיל בהדרגה את נפח התנועה ל-API החדש. אם אתם צפויים לשלוח יותר מ-600,000 הודעות בדקה באופן קבוע, פנו לתמיכה של Firebase כדי לקבל הוראות להגדלת המכסות או לקבלת המלצות לחלוקת תעבורת הנתונים.
מה ההבדל בין HTTP v1 API לבין ממשקי ה-API מהדור הקודם כששולחים הודעות לנושאים או לקבוצות של מכשירים?
נושאים: כשמשתמשים ב-API בגרסה 1, אין צורך להוסיף את הקידומת /topics/ לטירגוט לפי נושא.
קבוצות מכשירים: אפשר להשתמש באסימון קבוצה כיעד ב-HTTP v1 API. עם זאת, ה-API של HTTP v1 לא מחזיר את מספר הבקשות שבוצעו בהצלחה או שנכשלו בתגובה. מומלץ להשתמש בנושאי FCM או לנהל את קבוצות המכשירים בעצמכם.
האם HTTP v1 API תומך בשליחת הודעות למספר אסימונים בבקשה אחת?
לא. התכונה הזו, שנקראת 'שידור מרובע' בממשקי ה-API הקודמים של HTTP, לא נתמכת ב-HTTP v1 API, שמתוכנן בצורה טובה יותר להתאמה לעומס.
בתרחישים שבהם זמן האחזור מקצה לקצה הוא קריטי, או שבהם הגודל הכולל של ה-fanout קטן (פחות ממיליון), Google ממליצה לשלוח בקשות נפרדות באמצעות ה-API HTTP v1. הביצועים של HTTP v1 API ב-HTTP/2 דומים ב-99.9% מהבקשות שנשלחות ב-multicast (שליחת פחות מ-100 אסימונים). בתרחישי שימוש חריגים (שליחת 1,000 אסימונים), הוא משיג עד שליש משיעורי התפוקה, ולכן צריך תוספת של בו-זמניות כדי לבצע אופטימיזציה לתרחיש השימוש הלא אופייני הזה. המשתמשים יכולים ליהנות מיותר אמינות וזמינות עם HTTP v1 API מאשר עם Multicast מדור קודם.
בתרחישים שבהם רוחב הפס של התפוקה והתעבורת הנתונים היוצאת (egress) מקבלים עדיפות או שבהם הגודל הכולל של ה-fanout גדול (יותר ממיליון), Google ממליצה להעביר הודעות בנושא. בשימוש בהודעות בנושאים, צריך לבצע פעולה חד-פעמית כדי להירשם לנושא, אבל אפשר לשלוח עד 10,000 בקשות לשנייה לכל פרויקט, ללא הגבלה מקסימלית על גודל הנושא.
באילו גרסאות של SDK של Firebase לאדמינים יש את ממשקי ה-API החדשים?
פלטפורמה | גרסת ה-SDK של Firebase לאדמינים |
---|---|
Node.js | >=11.7.0 |
Python | >=6.2.0 |
Java | >=9.2.0 |
Go | >=4.12.0 |
.NET | >=2.4.0 |
מה ההבדל בין ה-API לשליחת קבוצות לבין ה-API של HTTP v1?
ה-API לשליחת הודעות בכמות גדולה ב-FCM משתמש באותם פורמטים של הודעות ומנגנוני אימות כמו ה-API של HTTP v1. עם זאת, הוא משתמש בנקודת קצה אחרת. כדי לשפר את היעילות, כדאי להשתמש ב-HTTP/2 כדי לשלוח כמה בקשות דרך אותו חיבור HTTP ל-HTTP API v1.
מה עושים אם אין גישה לפרויקט?
לקבלת עזרה, אפשר לפנות לצוות התמיכה של Google Cloud.
האם אפשר להפעיל פרויקטים חדשים את הגרסה הקודמת של Cloud Messaging API?
לא. החל מ-20 במאי 2024, לא תהיה יותר אפשרות להפעיל בפרויקטים חדשים את ממשקי ה-API הקודמים שלנו.
מתי אפשר להשבית את הגרסה הקודמת של Cloud Messaging API?
אחרי שמוודאים שההעברה המלאה ל-HTTP v1 API, אפשר להשבית את הגרסה הקודמת של Cloud Messaging API (אם ה-API כבר הושבת, יכול להיות שהדף לא ייטען).
מכסות ומגבלות של FCM
עליי להודיע לבסיס לקוחות גדול תוך 2 דקות.
לצערנו, אי אפשר לתמוך בתרחיש לדוגמה הזה. עליכם לפזר את התנועה לאורך 5 דקות.
האפליקציה שלי שולחת התראות למשתמשים על אירועים. ההודעות צריכות להישלח מיד כדי לתמוך במודל העסקי שלי. האם אפשר לקבל מכסה גדולה יותר?
לצערנו, אין לנו אפשרות להגדיל את המכסה מהסיבה הזו. צריך לפזר את התנועה על פני 5 דקות.
ההודעות שלי הן לגבי אירועים מתוזמנים ואני צריך לשלוח את כל התנועה שלי בתחילת השעה.
מומלץ להתחיל לשלוח את ההתראות לפחות 5 דקות לפני האירוע.
כמה זמן ייקח עד שתתקבל תשובה לבקשה שלי להגדלת המכסה?
זה תלוי במידה מסוימת באופן שבו אתם משתמשים ב-FCM. בכל מקרה, תשובה תתקבל תוך כמה ימי עסקים. במקרים מסוימים, יכול להיות שיהיה צורך בשיחות חוזרות לגבי השימוש שלכם ב-FCM ובנסיבות שונות, דבר שעלול להאריך את התהליך. אם הבקשה עומדת בכל הדרישות, רוב הבקשות יטופלו בתוך שבועיים.
איך אפשר לעקוב אחרי השימוש במכסות?
במאמר בנושא Google Cloud מוסבר איך לצייר תרשים של מדדי המכסות ולעקוב אחריהם.
קשה לי או לעסק שלי להתמודד עם קוד השגיאה 429. האם אפשר לקבל פטור או להגדיל את המכסה כדי למנוע קבלת קוד השגיאה 429?
אנחנו מבינים שהמגבלות על המכסות יכולות להיות מאתגרות, אבל המכסות חיוניות לשמירה על אמינות השירות, ואין לנו אפשרות להעניק פטור.
האם אפשר לקבל מכסה גדולה יותר לאירועים זמניים?
אפשר לבקש מכסה נוספת כדי לתמוך באירוע שנמשך עד חודש אחד. יש להגיש את הבקשה לפחות חודש אחד לפני האירוע, ולציין פרטים ברורים לגבי מועד ההתחלה והסיום של האירוע. צוות FCM יעשה כל מאמץ מעשי כדי למלא את הבקשה (לא ניתן להבטיח הגדלה). ההגדלה במכסות יבוטלו אחרי תאריך הסיום של האירוע.
האם המכסה הנוכחית שלי עשויה להשתנות?
Google לא תשנה את המכסות בקלות, אבל ייתכן שהן ישתנו לפי הצורך כדי להגן על תקינות המערכת. כשהדבר אפשרי, Google תודיע לכם מראש על שינויים כאלה.
Cloud Storage for Firebase
Cloud Storage for Firebase: למה אי אפשר להשתמש ב-Cloud Storage for Firebase?
Cloud Storage for Firebase יוצרת קטגוריית ברירת מחדל ברמה ללא עלות App Engine. כך תוכלו להתחיל להשתמש ב-Firebase וב-Cloud Storage for Firebase במהירות, בלי להזין פרטי כרטיס אשראי או להפעיל חשבון Cloud Billing. הוא גם מאפשר לכם לשתף בקלות נתונים בין Firebase לבין פרויקט Google Cloud.
עם זאת, יש שני מקרים ידועים שבהם אי אפשר ליצור את הקטגוריה הזו ולא תוכלו להשתמש ב-Cloud Storage for Firebase:
- פרויקט שיובא מ-Google Cloud עם אפליקציית App Engine Master/Slave Datastore.
-
פרויקט שיובא מ-Google Cloud שכולל פרויקטים עם קידומת של דומיין. לדוגמה:
domain.com:project-1234
.
אין כרגע דרכים לעקוף את הבעיות האלה, ומומלץ ליצור פרויקט חדש במסוף Firebase ולהפעיל את Cloud Storage for Firebase בפרויקט הזה.
Cloud Storage for Firebase: למה מקבלים תגובות עם קוד השגיאה 412 לגבי הרשאות של חשבון שירות ופעולות שנכשלו בחשבון שירות כשמשתמשים ב-API של Cloud Storage for Firebase?
סביר להניח שקודי השגיאה 412 מופיעים כי ה-API של Cloud Storage for Firebase לא מופעל בפרויקט או שלחשבון השירות הנדרש חסרות ההרשאות הנדרשות.
שאלות נפוצות בנושא
Cloud Storage for Firebase: האם אפשר לאחסן קבצים להפעלה בפרויקטים בתוכנית Spark?
בפרויקטים בתוכנית ללא תשלום (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 בפרויקט.
- בכרטיסייה קבצים, מאתרים את הקבצים האסורים למחיקה בהיררכיית התיקיות, ואז מסמנים אותם באמצעות תיבת הסימון שליד שמות הקבצים בצד שמאל של החלונית.
- לוחצים על מחיקה ומאשרים שהקבצים נמחקו.
למידע נוסף על ניהול משאבי אירוח באמצעות הכלים של Firebase ועל קטגוריות של Cloud Storage for Firebase באמצעות ספריות לקוח, אפשר לעיין במסמכי העזרה שלנו.
Cloud Storage for Firebase: למה יש עלייה לא צפויה בפעולות ההעלאה וההורדה?
בעבר, בקשות להורדה ולהעלאה ל-API של Cloud Storage for Firebase לא נספרו כמו שצריך. נקטנו פעולות כדי לפתור את הבעיה, החל מ-15 בספטמבר 2023.
משתמשי Blaze יתחילו לשלם על פעולות העלאה והורדה בחיוב החודשי. משתמשי Spark יתחילו להיספר במסגרת המכסה החודשית בחינם.
מומלץ לעקוב אחרי דף השימוש כדי לבדוק אם יש עליות שעשויות להיספר במסגרת המגבלות שלכם.
Cloud Storage for Firebase: למה אני רואה מזהים של חשבונות שירות חדשים שמשויכים לפרויקטים שלי ב-Firebase שנעשה בהם שימוש ב-Cloud Storage for Firebase?
ב-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. כדי להסיר את חשבון השירות מהפרויקט, פועלים לפי ההוראות במאמר השבתה של חשבון שירות.
Crashlytics
Crashlyticsדף השאלות הנפוצות ופתרון הבעיות מכיל טיפים שימושיים ותשובות לשאלות נפוצות נוספות.
Dynamic Links
Dynamic Links: מהם התוכניות העתידיות של Firebase ל-Dynamic Links?
Dynamic Links: למה לאפליקציה ל-Android יש גישה לכל קישור דינמי פעמיים?
ממשק ה-API של getInvitation
מנקה את הקישור הדינמי השמור כדי למנוע גישה אליו פעמיים. חשוב לקרוא ל-API הזה עם הפרמטר autoLaunchDeepLink
שמוגדר כ-false
בכל אחת מפעילויות הקישור לעומק, כדי לנקות אותו במקרה שהפעילות מופעלת מחוץ לפעילות הראשית.
Firebase Local Emulator Suite
למה ביומנים של חבילת Emulator מוצגת שגיאה שמתחילה בכיתוב "Multiple projectIds לא מומלץ במצב פרויקט יחיד"?
ההודעה הזו מופיעה אם מערכת Emulator Suite זיהתה שהיא מריצה אמולטור של מוצר מסוים באמצעות מזהי פרויקטים שונים. ייתכן שהסיבה לכך היא הגדרה שגויה, ויכול להיות שהיא תגרום לבעיות כשהאמולטורים ינסו לתקשר ביניהם, וכשאתם מנסים לקיים אינטראקציה עם אמולטורים מהקוד שלכם. אם מזהי הפרויקטים לא תואמים, לרוב נראה שחסרים נתונים, כי הנתונים שמאוחסנים במהדמנים ממוספרים לפי projectID, והיכולת לפעול יחד תלויה בהתאמה של מזהי הפרויקטים.
זה היה מקור נפוץ לבלבול בקרב מפתחים, ולכן כברירת מחדל, Local Emulator Suite יאפשר עכשיו להריץ רק מזהה פרויקט אחד, אלא אם יצוין אחרת בקובץ התצורה firebase.json
. אם במהלך ההרצה במהדורת הדמיה יתגלה יותר ממזהה פרויקט אחד, תירשם אזהרה ביומן ויכול להיות שתופיע שגיאה קטלנית.
בודקים את ההצהרות על מזהי הפרויקט כדי לראות אם יש אי-התאמות בפרטים הבאים:
-
פרויקט ברירת המחדל שהוגדר בשורת הפקודה. כברירת מחדל, מזהה הפרויקט יועבר בזמן ההפעלה מהפרויקט שנבחר באמצעות
firebase init
אוfirebase use
. כדי להציג את רשימת הפרויקטים (ולראות איזה מהם נבחר), משתמשים ב-firebase projects:list
. -
בדיקות יחידה. מזהה הפרויקט מצוין לרוב בקריאות לשיטות
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 }, ... } }
Hosting
Hosting: האם אפשר לאחסן קבצים להפעלה בפרויקטים בתוכנית Spark?
בפרויקטים ללא עלות (בתוכנית 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 בפרויקט.
- בכרטיסייה Files, מאתרים את הקבצים שאסור למחוק בהיררכיית התיקיות, ומסמנים אותם באמצעות התיבה לצד שמות הקבצים בצד ימין של החלונית.
- לוחצים על מחיקה ומאשרים שהקבצים נמחקו.
במאמרים הבאים אפשר לקרוא מידע נוסף על ניהול אירוח משאבים באמצעות כלים של Firebase וקטגוריות של Cloud Storage for Firebase באמצעות ספריות לקוח.
Hosting: למה בטבלת היסטוריית הגרסאות של Hosting במסוף Firebase מוצגים מספרי קבצים גדולים יותר מאלה שבפרויקט המקומי?
מערכת Firebase מוסיפה באופן אוטומטי קבצים נוספים שמכילים מטא-נתונים לגבי האתר Hosting, והקבצים האלה נכללים במספר הכולל של הקבצים במהדורה.
Hosting: מהו גודל הקובץ הגדול ביותר שאפשר לפרוס ב-Firebase Hosting?
Hosting מוגבל לקבצים בודדים בגודל של עד 2GB.
מומלץ לאחסן קבצים גדולים יותר באמצעות Cloud Storage, שמציע מגבלת גודל מקסימלית של טרה-בייטים לאובייקטים בודדים.
Hosting: כמה אתרים של Hosting אפשר ליצור לכל פרויקט Firebase?
התכונה Firebase Hosting לאתרים מרובים תומכת ב-36 אתרים לכל היותר בכל פרויקט.
Performance Monitoring
Performance Monitoringדף השאלות הנפוצות ופתרון הבעיות מכיל טיפים שימושיים ותשובות לשאלות נפוצות נוספות.
Performance Monitoring: כמה תבניות של כתובות URL מותאמות אישית אפשר ליצור?
אפשר ליצור עד 400 תבניות URL מותאמות אישית לכל אפליקציה, ועד 100 תבניות URL מותאמות אישית לכל דומיין באפליקציה הזו.
Performance Monitoring: למה נתוני הביצועים לא מוצגים בזמן אמת?
כדי להציג נתוני ביצועים בזמן אמת, צריך לוודא שהאפליקציה משתמשת בגרסת 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
Realtime Database: למה רוחב הפס שדווח ב-Realtime Database היה נמוך מהממוצע בין ספטמבר 2016 למרץ 2017?
בחישוב רוחב הפס, אנחנו בדרך כלל כוללים את התקורה של הצפנת SSL (על סמך שכבה 5 במודל OSI). עם זאת, בספטמבר 2016 הוספנו באג שגרם לכך שבדוחות של רוחב הפס לא נלקח בחשבון זמן ההצפנה. יכול להיות שהסיבה לכך היא שרוחב הפס שדווח נמוך באופן מלאכותי וחיובים בחשבון שלך במשך כמה חודשים.
פרסמנו תיקון לבאג בסוף מרץ 2017, והדיווח על רוחב הפס והחיוב חזרו לרמות הרגילות.
Realtime Database: מהן מגבלות ההרחבה של Realtime Database?
לכל מכונה של Realtime Database יש מגבלות על מספר פעולות הכתיבה בשנייה. לכתיבה קטנה, המגבלה הזו היא בערך 1,000 פעולות כתיבה לשנייה. אם מתקרבים למגבלה הזו, פעולות אצווה באמצעות עדכונים מרובי נתיבים יכולות לעזור לכם להשיג תפוקה גבוהה יותר.
בנוסף, לכל מכונה של מסד נתונים יש מגבלה על מספר החיבורים בו-זמנית למסד הנתונים. מגבלות ברירת המחדל שלנו גדולות מספיק לרוב האפליקציות. אם אתם מפתחים אפליקציה שדורשת יכולת התאמה לעומס נוספת, יכול להיות שתצטרכו לפצל את האפליקציה לכמה מכונות של מסדי נתונים כדי להגדיל את יכולת ההתאמה לעומס. אפשר גם להשתמש ב-Cloud Firestore כמסד נתונים חלופי.
Realtime Database: מה אפשר לעשות אם חורגים ממגבלות השימוש ב-Realtime Database?
אם קיבלתם התראה באימייל או התראה במסוף Firebase על כך שחרגתם ממגבלות השימוש ב-Realtime Database, תוכלו לטפל בבעיה בהתאם למגבלת השימוש שחרגתם ממנה. כדי לראות את השימוש ב-Realtime Database, עוברים למרכז הבקרה Realtime Database Usage במסוף Firebase.
אם חרגתם ממכסת ההורדות, אפשר לשדרג את תוכנית התמחור והתשלומים של Firebase או להמתין עד שמגבלת ההורדות תתאפס בתחילת מחזור החיובים הבא. כדי להפחית את מספר ההורדות, אפשר לנסות את השלבים הבאים:
- הוספת שאילתות כדי להגביל את הנתונים שפעולות ההאזנה שלכם מחזירות.
- בודקים אם יש שאילתות שלא נוספו לאינדקס.
- להשתמש במאזינים שמורידים רק עדכונים לנתונים – לדוגמה,
on()
במקוםonce()
. - שימוש בכללי אבטחה כדי לחסום הורדות לא מורשות.
אם חורגים ממכסת האחסון צריך לשדרג את תוכנית התמחור והתשלומים כדי למנוע שיבושים בשירות. כדי לצמצם את כמות הנתונים במסד הנתונים, אפשר לנסות את השלבים הבאים:
- מריצים משימות ניקוי תקופתיות.
- צמצום של נתונים כפולים במסד הנתונים.
לתשומת ליבכם, יכול להיות שיחלוף זמן מה עד שהמחיקה של הנתונים תופיע במכסת האחסון.
אם חרגתם ממגבלת החיבורים בו-זמנית למסדי נתונים, עליכם לשדרג את התוכנית כדי למנוע שיבושים בשירות. כדי לנהל חיבורים בו-זמנית למסד הנתונים, אפשר לנסות להתחבר דרך משתמשים באמצעות ה-API ל-REST, אם הם לא דורשים חיבור בזמן אמת.
Remote Config
Remote Config: למה ערכים שאוחזרו לא משנים את ההתנהגות והמראה של האפליקציה?
אם לא תאחזרו ערכים באמצעות fetchAndActivate()
, הערכים יאוחסנו באופן מקומי אבל לא יופעלו. כדי להפעיל ערכים שאוחזרו כדי שהם ייכנסו לתוקף, צריך לבצע קריאה ל-activate
. בעזרת העיצוב הזה תוכלו לבחור מתי להפעיל את activate
, וכך לקבוע מתי ההתנהגות והמראה של האפליקציה ישתנו. אחרי שמפעילים את activate
, קוד המקור של האפליקציה קובע מתי נעשה שימוש בערכים המעודכנים של הפרמטרים.
לדוגמה, אפשר לאחזר ערכים ולאחר מכן להפעיל אותם בפעם הבאה שמשתמש מפעיל את האפליקציה. כך לא תצטרכו לדחות את הפעלת האפליקציה בזמן שהיא ממתינה לערכים שאוחזרו מהשירות. שינויים בהתנהגות ובמראה של האפליקציה מתרחשים לאחר מכן כשהאפליקציה משתמשת בערכי הפרמטרים המעודכנים.
מידע נוסף על Remote Config API ועל מודל השימוש זמין במאמר סקירה כללית על Remote Config API.
Remote Config: אני שולח הרבה בקשות אחזור במהלך הפיתוח של האפליקציה. למה האפליקציה לא תמיד מקבלת מהשירות את הערכים העדכניים ביותר כששולחים בקשות אחזור?
במהלך פיתוח האפליקציה, כדאי לאחזר ולהפעיל הגדרות בתדירות גבוהה מאוד (פעמים רבות בשעה) כדי לאפשר לכם לבצע איטרציות מהירות במהלך הפיתוח והבדיקה של האפליקציה. כדי לבצע איטרציות מהירות בפרויקט עם עד 10 מפתחים, תוכלו להגדיר באופן זמני באפליקציה אובייקט FirebaseRemoteConfigSettings
עם מרווח אחזור מינימלי נמוך (setMinimumFetchIntervalInSeconds
).
Remote Config: מהי מהירות ההחזרה של ערכים שאוחזרו על ידי השירות Remote Config אחרי שהאפליקציה שלי שולחת בקשת אחזור?
מכשירים בדרך כלל מקבלים ערכים שאוחזרו תוך פחות משנייה, ולרוב הם מקבלים ערכים שנשלפו תוך אלפיות שנייה. השירות Remote Config מטפל בבקשות אחזור תוך אלפיות שנייה, אך הזמן הדרוש להשלמת בקשת אחזור יהיה תלוי במהירות הרשת של המכשיר ובזמן האחזור של החיבור לרשת שמשמש את המכשיר.
אם המטרה היא לגרום לערכים המאוחזרים ייכנסו לתוקף באפליקציה
בהקדם האפשרי, אבל בלי ליצור חוויית משתמש צורמת,
כדאי להוסיף קריאות ל-fetchAndActivate
בכל פעם
שהאפליקציה מבצעת רענון של מסך מלא.
Test Lab
בדף Test Lab תוכלו למצוא טיפים מועילים ותשובות לשאלות נפוצות.
אחסון של פילוח משתמשים ב-Firebase
מהו אחסון של פילוח משתמשים ב-Firebase?
באחסון פילוח המשתמשים ב-Firebase נשמרים Firebase מזהי התקנות ומאפיינים ופלחים קשורים, וגם רשימות קהלים שיצרת כדי לספק פרטי טירגוט לשירותי Firebase אחרים שמשתמשים בהם, כמו Crashlytics, FCM, התאמה אישית של Remote Config ועוד.