נתקלת בבעיות אחרות או שהבעיה שלך לא מופיעה בהמשך? אתם יכולים לדווח על באג או לבקש תכונה ולהצטרף לדיוני 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
. - מריצים את הפקודה
firebase projects:addfirebase
ב-CLI של Firebase. - שימוש ב-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 שכולל את הרשומות הרלוונטיות. Firebase Android SDK מכיל עזרה 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, תוכלו להציג את רשימת חברי הפרויקט, כולל הבעלים, בדף Users and permissions במסוף Firebase.
- אם אין לכם גישה לפרויקט במסוף Firebase, בדקו אם יש לכם גישה לפרויקט במסוף Google Cloud. אפשר לראות את רשימת חברי הפרויקט, כולל הבעלים, בדף IAM במסוף Google Cloud.
אם הבעלים של הפרויקט לא יכול יותר לבצע את המשימות של בעלים (לדוגמה, האדם עזב את החברה) והפרויקט לא מנוהל דרך ארגון Google Cloud (ראו את הפסקה הבאה), תוכלו לפנות לתמיכה של Firebase כדי להקצות בעלים זמני.
לתשומת ליבכם: אם פרויקט Firebase הוא חלק מארגון Google Cloud, יכול להיות שאין לו בעלים. במקום זאת, המשתמש שמנהל את הארגון ב-Google Cloud יכול לבצע משימות רבות שרק בעלים יכול לבצע. עם זאת, כדי לבצע כמה משימות ספציפיות לבעלים (כמו הקצאת תפקידים או ניהול נכסי Google Analytics), יכול להיות שהאדמין יצטרך להקצות לעצמו את תפקיד הבעלים בפועל כדי לבצע את המשימות האלה. אם לא מוצג בעלים של פרויקט Firebase, צריך לפנות לאדם שמנהל את הארגון ב-Google Cloud כדי להקצות בעלים לפרויקט.
למה או מתי כדאי להקצות למשתתף בפרויקט את התפקיד 'בעלים'?
כדי להבטיח ניהול תקין של פרויקט Firebase, צריך להיות לו בעלים. הבעלים של הפרויקט הוא האדם שיכול לבצע כמה פעולות ניהוליות חשובות (כמו הקצאת תפקידים וניהול נכסי Google Analytics), וצוות התמיכה של Firebase יכול למלא בקשות ניהוליות רק מבעלים מוסמכים של פרויקטים.
אחרי שמגדירים את הבעלים של פרויקט Firebase, חשוב לעדכן את ההקצאות האלה.
חשוב לזכור שאם פרויקט Firebase הוא חלק מארגון Google Cloud, האדם שמנהל את הארגון ב-Google Cloud יכול לבצע משימות רבות שרק בעלים יכול לבצע. עם זאת, כדי לבצע כמה משימות ספציפיות לבעלים (למשל הקצאת תפקידים או ניהול נכסי Google Analytics), יכול להיות שהאדמין יצטרך להקצות לעצמו את תפקיד הבעלים בפועל כדי לבצע את המשימות האלה.
לדעתי אין לי פרויקט Firebase, אבל קיבלתי אימייל לגבי פרויקט כזה. איך אפשר לגשת לפרויקט הזה?
באימייל שקיבלתם אמור להופיע קישור לפתיחת פרויקט Firebase. לחיצה על הקישור באימייל אמורה לפתוח את הפרויקט במסוף Firebase.
אם אתם לא מצליחים לפתוח את הפרויקט בקישור, ודאו שנכנסתם ל-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 נעשה שימוש באותם תפקידים והרשאות בסיסיים. מידע נוסף על תפקידים והרשאות זמין במסמכי התיעוד של IAM ב-Firebase.
ב-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 מיועד לאפליקציות שפועלות בסביבת הייצור. בנוסף, תוכנית Blaze מאפשרת לכם להרחיב את האפליקציה באמצעות תכונות Google Cloud בתשלום. אתם משלמים רק על המשאבים שאתם צורכים, כך שתוכלו להתאים את הקיבולת לדרישה. אנחנו שואפים שהמחירים של תוכנית 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 חיבורים בו-זמנית, כדאי לקרוא את המאמר התאמה לעומס באמצעות מספר מסדי נתונים.
מה קורה אם חורגים מהמגבלות של נפח האחסון או ההורדות בתוכנית 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 $לחודש.
נפח אחסון ב-Firebase CLI בגרסאות 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,000 שניות-GB, 200,000 שניות-CPU ו-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 $ינוצל.
אני רוצה ללמוד על Firebase באמצעות Codelab. יש לך אפשרות לספק לי חשבון חיוב זמני?
לא, סליחה. אפשר להשתמש במעבד 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
איך אפשר לחזות את סכום החיוב על פעולות העלאה והורדה?
אפשר להיכנס לדף התמחור של 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' כשיוצרים ניסוי של Remote Config?
אם כבר קישרתם את 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 מהרשימה Select account.
-
לצד האפשרות יצירת נכס חדש באופן אוטומטי בחשבון הזה, לוחצים על 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 בלי תכונות של שיוך מודעות ואיסוף IDFA?
כן. פרטים נוספים זמינים בדף הגדרת איסוף הנתונים והשימוש בהם.
Analytics: מה השתנה בקטע של Google Analytics עם העדכון באוקטובר 2021?
סיכום של השינויים האלה זמין במאמר פונקציונליות חדשה של Google Analytics 4 עבור Google Analytics for Firebase במרכז העזרה של Firebase.
Analytics: למה לא מוצגים נתוני Analytics במסוף Firebase אחרי ביטול הקישור של Firebase ל-Google Analytics?
הנתונים של Analytics נמצאים בנכס Google Analytics, ולא בפרויקט Firebase. אם תמחקו או תבטלו את הקישור של הנכס, לא תהיה ל-Firebase גישה לנתוני Analytics ותראו בלוח הבקרה Analytics ריק במסוף Firebase. לתשומת ליבכם: מאחר שהנתונים עדיין נמצאים בנכס המקושר הקודם, תמיד תוכלו לקשר מחדש את הנכס ל-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 | בולגריה |
BJ | בנין |
BM | ברמודה |
BN | ברוני דרוסלם |
BO | בוליביה |
BR | ברזיל |
BS | איי הבהאמה |
BT | בהוטן |
BW | בוצואנה |
BY | בלארוס |
BZ | בליז |
קנדה | קנדה |
CD | קונגו (קינשאסה) |
מ' | רפובליקת מרכז אפריקה |
CG | קונגו (ברזוויל) |
CH | שווייץ |
CI | חוף השנהב |
CK | איי קוק |
CL | צ'ילה |
CM | קמרון |
קולורדו | קולומביה |
תגובה מוכנה מראש | קוסטה ריקה |
קורות חיים | כף ורדה |
CW | קוראסאו |
CY | קפריסין |
CZ | צ'כיה |
גרמניה | גרמניה |
די-ג'יי | ג'יבוטי |
DK | דנמרק |
DM | דומיניקה |
DO | הרפובליקה הדומיניקנית |
DZ | אלג'יריה |
EC | אקוודור |
EG | מצרים |
ES | ספרד |
ET | אתיופיה |
FI | פינלנד |
FJ | פיג'י |
FK | איי פוקלנד |
FM | הפדרציה של מיקרונזיה |
FO | איי פארו |
FR | צרפת |
GA | גאבון |
GB | בריטניה |
GD | גרנדה |
GE | גאורגיה |
GF | גיאנה הצרפתית |
GG | גרנזי |
GH | גאנה |
GI | גיברלטר |
GL | גרינלנד |
GM | גמביה |
GP | גוואדלופ |
GQ | גיניאה המשוונית |
GR | יוון |
GT | גואטמלה |
GY | גיאנה |
HK | הונג קונג (אזור מנהלי מיוחד) |
HN | הונדורס |
HR | קרואטיה |
מחצית | האיטי |
HU | הונגריה |
מזהה | אינדונזיה |
IE | אירלנד |
IL | ישראל |
IM | האי מאן |
IN | הודו |
IQ | עירק |
IT | איטליה |
JE | ג'רזי |
JM | ג'מייקה |
JO | ירדן |
JP | יפן |
KE | קניה |
ק"ג | קירגיזסטן |
KH | קמבודיה |
KM | איי קומורו |
KN | סנט קיטס ונוויס |
KR | קוריאה (דרום) |
KW | כווית |
KY | איי קיימן |
KZ | קזחסטן |
LA | הרפובליקה הדמוקרטית העממית של לאוס |
LB | לבנון |
LC | סנט לוסיה |
LI | ליכטנשטיין |
LK | סרי לנקה |
LS | לסוטו |
LT | ליטא |
LU | לוקסמבורג |
LV | לטביה |
LY | לוב |
MA | מרוקו |
מרילנד | מולדובה |
ME | מונטנגרו |
MF | סן מרטן (החלק הצרפתי) |
MG | מדגסקר |
MK | מקדוניה |
MM | מיאנמר |
MN | מונגוליה |
MO | מקאו, אזור מנהלי מיוחד של סין |
MS | מונסראט |
MT | מלטה |
MU | מאוריציוס |
מגה-ואט | מלאווי |
MX | מקסיקו |
MY | מלזיה |
MZ | מוזמביק |
לא זמין | נמיביה |
NC | קלדוניה החדשה |
צפ'-מז' | ניז'ר |
NF | האי נורפולק |
NG | ניגריה |
NI | ניקרגואה |
NL | הולנד |
לא | נורווגיה |
NP | נפאל |
NZ | ניו זילנד |
OM | עומאן |
PA | פנמה |
PE | פרו |
PG | פפואה גינאה החדשה |
מ' | הפיליפינים |
PK | פקיסטן |
PL | פולין |
PM | סנט פייר ומיקלון |
PR | פוארטו ריקו |
PS | הרשות הפלסטינית |
PT | פורטוגל |
PY | פרגוואי |
בקרת איכות | קטאר |
RE | ראוניון |
RO | רומניה |
RS | סרביה |
RU | רוסיה |
RW | רואנדה |
SA | ערב הסעודית |
SC | איי סיישל |
SE | שוודיה |
SG | סינגפור |
פנדלים | סנט הלנה |
SI | סלובניה |
SK | סלובקיה |
SL | סיירה לאון |
SN | סנגל |
SR | סורינאם |
ST | סאו טומה ופרינסיפה |
SV | אל סלבדור |
SZ | סווזילנד |
TC | איי טורקס וקאיקוס |
TG | טוגו |
TH | תאילנד |
TL | מזרח טימור |
TM | טורקמניסטן |
TO | טונגה |
TR | טורקיה |
TT | טרינידד וטובגו |
TW | טייוואן, הרפובליקה של סין |
TZ | הרפובליקה המאוחדת של טנזניה |
UA | אוקראינה |
UG | אוגנדה |
ארה"ב | ארצות הברית |
UY | אורוגוואי |
UZ | אוזבקיסטן |
VC | סנט וינסנט והגרנדינים |
VE | ונצואלה (הרפובליקה הבוליברית) |
VG | איי הבתולה הבריטיים |
VI | איי הבתולה, ארה״ב |
VN | וייטנאם |
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.
בחלק העליון של הדף, בוחרים באפשרות Create credentials > OAuth client ID.
אם תופיע בקשה להגדיר את מסך ההסכמה, פועלים לפי ההוראות במסך ואז ממשיכים בשלבים הבאים במאמר השאלות הנפוצות הזה.
יוצרים את לקוח האינטרנט של 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 sign-in (כניסה באמצעות חשבון 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 | מכשיר אחד | ||
לקוחות שנרשמו לנושאים (למשל, מזג האוויר) | |||
לקוחות בפלח משתמשים מוגדר מראש (אפליקציה, גרסה, שפה) | |||
לקוחות בקהלים ספציפיים ב-Analytics | |||
לקוחות בקבוצות מכשירים | |||
מצד הלקוח לשרת | |||
סוג ההודעה | התראות עד 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 כוללים:
- פיתוח קל יותר של לקוחות. לא תצטרכו יותר לכתוב לוגיקה משלכם לניסיון חוזר של רישום או מינוי.
- פתרון מוכן לשימוש להתרעות. אתם יכולים להשתמש בכלי ליצירת התראות, פתרון ללא שרת להתראות עם מסוף אינטרנט שמאפשר לכל אחד לשלוח התראות לטרגוט קהלים ספציפיים על סמך תובנות מ-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 של Google 15169.
Cloud Messaging: הטמעתי את onMessageReceived
באפליקציה שלי ל-Android, אבל היא לא נקראת.
כשהאפליקציה פועלת ברקע,
הודעות התראה מוצגות בסרגל האפליקציות, ולא מתבצעת קריאה ל-onMessageReceived
. בהתראות עם עומס נתונים, ההתראה מוצגת במגש המערכת, ואפשר לאחזר את הנתונים שכללו את ההתראה מהכוונה שהופעל כשהמשתמש הקיש על ההתראה.
מידע נוסף זמין במאמר קבלה וטיפול בהודעות.
כלי היצירה של התראות: מה ההבדל בין כלי היצירה של התראות לבין Cloud Messaging?
הכלי ליצירת התראות הוא פתרון קל משקל ללא שרת לשליחת הודעות, שמבוסס על Firebase Cloud Messaging. בעזרת מסוף גרפי ידידותי למשתמש ודרישות קוד מופחתות, הכלי ליצירת התראות מאפשר למשתמשים לשלוח בקלות הודעות כדי לחדש את האינטראקציה עם המשתמשים ולשמר אותם, לעודד את הצמיחה של האפליקציה ולתמוך בקמפיינים שיווקיים.
Firebase Cloud Messaging מספק קבוצה מלאה של יכולות שליחת הודעות באמצעות ערכות ה-SDK ללקוח ופרוטוקולים של שרתים מסוג HTTP ו-XMPP. לפריסות עם דרישות מורכבות יותר לשליחת הודעות, FCM היא האפשרות הנכונה.
הנה השוואה בין יכולות העברת ההודעות של Firebase Cloud Messaging לבין הכלי ליצירת התראות:
יכולות | כלי ליצירת התראות | Cloud Messaging | |
---|---|---|---|
Target | מכשיר אחד | ||
לקוחות שנרשמו לנושאים (למשל, מזג האוויר) | |||
לקוחות בפלח משתמשים מוגדר מראש (אפליקציה, גרסה, שפה) | |||
לקוחות בקהלים ספציפיים ב-Analytics | |||
לקוחות בקבוצות מכשירים | |||
מצד הלקוח לשרת | |||
סוג ההודעה | התראות עד 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 ביוני 2024. | משתמשים ב-Web JS SDK כדי ליצור רישומים באתר של FCM. |
https://iid.googleapis.com/iid/* | נקודות הקצה ימשיכו לפעול, אבל הן לא יתמכו באימות באמצעות מפתחות שרת סטטיים אחרי 21 ביוני 2024. | שימוש באסימון גישה מסוג OAuth 2.0 שמבוסס על חשבון שירות. | |
ממשק API לניהול קבוצות של מכשירים | https://fcm.googleapis.com/fcm/notification | נקודת הקצה (endpoint) תמשיך לפעול, אבל היא לא תתמוך באימות באמצעות מפתחות שרת סטטיים אחרי 21 ביוני 2024. | שימוש באסימון גישה מסוג OAuth 2.0 שמבוסס על חשבון שירות. |
שליחת הודעות ב-upstream דרך XMPP | fcm-xmpp.googleapis.com:5235 | קריאות API ל-FirebaseMessaging.send באפליקציה לא יפעילו הודעות ב-upstream לשרת האפליקציה אחרי 21 ביוני 2024. | מטמיעים את הפונקציונליות הזו בלוגיקה של השרת. לדוגמה, חלק מהמפתחים מטמיעים נקודת קצה משלהם מסוג HTTP/gRPC ומפעילים אותה ישירות כדי לשלוח הודעות מהלקוחות שלהם לשרת האפליקציה. במדריך למתחילים בנושא gRPC מופיעה דוגמה להטמעה של שליחת הודעות ב-upstream באמצעות gRPC. |
Batch Send API | https://fcm.googleapis.com/batch | בקשות לנקודת הקצה יתחילו להיכשל אחרי 21 ביוני 2024. | עוברים לשיטת השליחה הרגילה של API ב-HTTP v1, שתומכת ב-HTTP/2 לריבוב. |
ממשקי ה-API של Firebase Admin SDK
שם ה-API | שפת ה-API | ההשפעה על המשתמשים | נדרשת פעולה |
---|---|---|---|
sendToDevice()
|
Node.js | ה-API יפסיק לפעול אחרי 21 ביוני 2024 כי הוא קורא ל-API לשליחת HTTP מהדור הקודם. | משתמשים בשיטה send() .
|
sendToDeviceGroup()
|
Node.js | ה-API יפסיק לפעול אחרי 21 ביוני 2024 כי הוא קורא ל-API לשליחת HTTP מהדור הקודם. | משתמשים בשיטה send() .
|
sendToTopic()
|
Node.js | ה-API יפסיק לפעול אחרי 21 ביוני 2024 כי הוא קורא ל-API לשליחת HTTP מהדור הקודם. | משתמשים בשיטה send() .
|
sendToCondition()
|
Node.js | ה-API יפסיק לפעול אחרי 21 ביוני 2024 כי הוא קורא ל-API לשליחת HTTP מהדור הקודם. | משתמשים בשיטה send() .
|
sendAll()/sendAllAsync()/send_all()/sendMulticast()/SendMulticastAsync()/send_multicast()
|
Node.js, Java, Python, Go, C# | ממשקי ה-API האלה יפסיקו לפעול אחרי 21 ביוני 2024 כי הם קוראים ל-Batch Send API . | משדרגים ל-SDK העדכני ביותר של Firebase לאדמינים ומשתמשים ב-API החדשים במקום זאת: sendEach()/
sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/
send_each_for_multicast() .
חשוב לזכור שממשקי ה-API החדשים כבר לא קוראים ל-API לשליחת קבוצות בקשות שהוצא משימוש, ולכן הם עשויים ליצור יותר חיבורי HTTP בו-זמנית מאשר ממשקי ה-API הישנים. |
ערכות SDK ללקוח
גרסאות SDK | ההשפעה על המשתמשים | נדרשת פעולה |
---|---|---|
ערכות SDK של GCM (הוצאו משימוש ב-2018) | אפליקציות שמשתמשות ב-GCM SDK לא יוכלו לרשום אסימונים או לקבל הודעות מ-FCM אחרי 21 ביוני 2024. | אם עדיין לא עשיתם זאת, עליכם לשדרג את Android SDK ל-Firebase SDK העדכני ביותר. |
גרסאות SDK של JS שקודמות לגרסה 7.0.0 (שינוי תוכנה משמעותי בגרסה 7.0.0 בשנת 2019) | אפליקציות אינטרנט שמשתמשות ב-SDKs ישנים יותר של JS לא יוכלו לרשום אסימונים אחרי 21 ביוני 2024. | משדרגים את ה-SDK של Firebase לאינטרנט לגרסה האחרונה. |
האם תתבצע הורדה של רמת השירות לפני יוני 2024?
לא. יש לכם 12 חודשים (20 ביוני 2023 עד 21 ביוני 2024) כדי לעבור מממשקי ה-API הישנים לממשקי ה-API החדשים בלי שדרוג לאחור של השירות. מומלץ מאוד לתכנן את ההעברה בהקדם האפשרי כדי שלא תושפע מפריסת ה-API ביוני 2024.
אחרי יוני 2024, יכול להיות שתבחינו במספר גבוה יותר של שגיאות או בחוסר פונקציונליות כשאתם משתמשים בממשקי ה-API או בערכות ה-SDK שצוינו למעלה (מידע נוסף זמין בשאלות הנפוצות הבאות).
איך ומתי ממשקי ה-API הוצאו משימוש?
FCM תתחיל להשבית בהדרגה את ממשקי ה-API הוצאו משימוש בסביבות 22 ביולי 2024. אחרי התאריך הזה, שירותים שהוצאו משימוש יהיו כפופים לתהליך 'הבהוב', שבו מספר הולך וגדל של בקשות יחזירו תגובות שגיאה. במהלך תקופת ההוצאה משימוש, התדירות של התגובות הבאות לשגיאות וההתנהגות הבאה צפויה לעלות עם הזמן:
קטגוריה | מה צפוי לקרות |
---|---|
פרוטוקול HTTP מדור קודם | בקשות נדחות עם קוד HTTP 301. |
פרוטוקול XMPP מדור קודם | בקשות שנדחות עם קוד השגיאה 302. |
FCM Upstream | הודעות שהמערכת של הקצה העורפי של FCM משמיטה בשקט. |
Batch Send API | בקשות נדחות עם קוד השגיאה UNIMPLEMENTED וההודעה "The API is deprecated". |
ערכות SDK של GCM – רישום טוקנים | בקשות נדחות עם קוד HTTP 301. |
ערכות SDK של GCM – שליחת הודעות | בקשות נדחות עם קוד השגיאה 400 והודעת השגיאה 'אסימון V3 הוצא משימוש'. |
ערכות 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 או לנהל את קבוצות המכשירים בעצמכם.
האם ה-API של HTTP v1 תומך בשליחת הודעות לכמה אסימונים בבקשה אחת?
לא. התכונה הזו, שנקראת 'שידור מרובות' בממשקי API קודמים של HTTP, לא נתמכת ב-HTTP v1 API, שמתוכנן בצורה טובה יותר להתאמה לעומס.
בתרחישים לדוגמה שבהם זמן האחזור מקצה לקצה קריטי, או שבהם הגודל הכולל של הפיצול הוא קטן (פחות ממיליון), Google ממליצה לשלוח כמה בקשות נפרדות באמצעות HTTP v1 API. ב-99.9% מהבקשות להעברה קבוצתית (שליחת פחות מ-100 אסימונים), הביצועים של HTTP v1 API באמצעות HTTP/2 דומים. בתרחישי שימוש חריגים (שליחת 1,000 אסימונים), הוא משיג עד שליש משיעורי התפוקה, ולכן צריך תמיכה נוספת במספר פעולות בו-זמנית כדי לבצע אופטימיזציה לתרחיש השימוש הלא אופייני הזה. משתמשים יכולים ליהנות מהיתרונות של מהימנות וזמינות גבוהים יותר ב-API של HTTP v1 בהשוואה ל-multicast הקודם.
בתרחישי שימוש שבהם קצב העברת הנתונים ורוחב הפס של תעבורת הנתונים היוצאת הם בעדיפות גבוהה, או כשגודל ההתפצלות הכולל גדול (יותר ממיליון), Google ממליצה להשתמש ב-Topic Messaging. כדי לשלוח הודעות בנושאים צריך לבצע פעולה חד-פעמית כדי להירשם לנושא, אבל אפשר לשלוח עד 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 וכללה אפליקציית Datastore של App Engine (אדון/עבד).
-
פרויקט שיובא מ-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 בפרויקט.
- בכרטיסייה Files, מאתרים את הקבצים שאסור למחוק בהיררכיית התיקיות, ומסמנים אותם באמצעות התיבה לצד שמות הקבצים בצד ימין של החלונית.
- לוחצים על מחיקה ומאשרים שהקבצים נמחקו.
למידע נוסף על ניהול משאבי אירוח באמצעות הכלים של Firebase ועל קטגוריות של Cloud Storage for Firebase באמצעות ספריות לקוח, אפשר לעיין במסמכי העזרה שלנו.
Cloud Storage for Firebase: למה יש עלייה בלתי צפויה בפעולות ההעלאה וההורדה?
בעבר, בקשות להורדה ולהעלאה ל-Cloud Storage for Firebase API לא נספרו כראוי. נקטנו פעולות כדי לפתור את הבעיה, החל מ-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 Suite מופיעה שגיאה שמתחילה במשפט "Multiple projectIds are not recommended in single project mode"?
ההודעה הזו מופיעה אם מערכת Emulator Suite זיהתה שהיא מריצה אמולטור של מוצר מסוים באמצעות מזהי פרויקטים שונים. ייתכן שהסיבה לכך היא הגדרה שגויה, ויכול להיות שהיא תגרום לבעיות כשהאמולטורים ינסו לתקשר ביניהם, וכשאתם מנסים לקיים אינטראקציה עם אמולטורים מהקוד שלכם. אם מזהי הפרויקטים לא תואמים, לרוב נראה שחסרים נתונים, כי הנתונים שמאוחסנים במהדמנים ממוספרים לפי projectID, והיכולת לפעול יחד תלויה בהתאמה של מזהי הפרויקטים.
זה היה מקור נפוץ לבלבול בקרב מפתחים, ולכן כברירת מחדל, Local Emulator Suite יאפשר עכשיו להריץ רק מזהה פרויקט אחד, אלא אם יצוין אחרת בקובץ התצורה firebase.json
. אם במהלך ההרצה במהדורת האימולציה יתגלה יותר ממזהה פרויקט אחד, תירשם אזהרה ביומן ויכול להיות שתופיע שגיאה קטלנית.
בודקים את ההצהרות על מזהי הפרויקט כדי לראות אם יש אי-התאמות בפרטים הבאים:
-
פרויקט ברירת המחדל שהוגדר בשורת הפקודה. כברירת מחדל, מזהה הפרויקט יועבר בזמן ההפעלה מהפרויקט שנבחר באמצעות
firebase init
אוfirebase use
. כדי להציג את רשימת הפרויקטים (ולראות איזה מהם נבחר), משתמשים ב-firebase projects:list
. -
בדיקות יחידה (unit testing) מזהה הפרויקט מצוין לרוב בקריאות לשיטות
initializeTestEnvironment
אוinitializeTestApp
בספרייה של בדיקת יחידות של כללים. קוד בדיקה אחר עשוי להתחיל ב-initializeApp(config)
. -
הדגל
--project
בשורת הפקודה. העברת הדגל--project
ב-CLI של Firebase מבטלת את הפרויקט שמוגדר כברירת מחדל. צריך לוודא שהערך של הדגל תואם למזהה הפרויקט בבדיקות היחידה ובהפעלת האפליקציה.
מקומות ספציפיים לפלטפורמה שאפשר לבדוק בהם:
אתר | המאפיין projectId באובייקט firebaseConfig ב-JavaScript, שמשמש ב-initializeApp .
|
Android | המאפיין project_id בקובץ התצורה google-services.json .
|
פלטפורמות של Apple | המאפיין PROJECT_ID בקובץ התצורה GoogleService-Info.plist .
|
כדי להשבית את מצב הפרויקט היחיד, מעדכנים את firebase.json
במפתח singleProjectMode
:
{ "firestore": { ... }, "functions": { ... }, "hosting": { ... }, "emulators": { "singleProjectMode": false, "auth": { "port": 9099 }, "functions": { "port": 5001 }, ... } }
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: למה במסוף Firebase, בטבלה Hosting של היסטוריית הגרסאות מוצגים מספרי קבצים גדולים יותר מאלה שבפרויקט המקומי?
מערכת 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: למה נתוני הביצועים לא מוצגים בזמן אמת?
כדי להציג נתוני ביצועים בזמן אמת, צריך לוודא שהאפליקציה משתמשת בגרסת Performance Monitoring SDK שתואמת לעיבוד נתונים בזמן אמת.
- 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 ועוד.