הסבר על פרויקטים ב-Firebase

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

הקשר בין פרויקטים, אפליקציות ומוצרים ב-Firebase

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

מידע מפורט יותר על התהליך הזה זמין במדריך לתחילת העבודה בפלטפורמה הרלוונטית:
iOS+ | Android | אינטרנט | Unity | C++‎ | Flutter.

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

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

  • פרויקט ב-Firebase הוא כמו מאגר לכל האפליקציות שלכם, לכל המשאבים והשירותים שהוקצו לפרויקט.

  • פרויקט Firebase יכול לכלול אפליקציית Firebase אחת או יותר (לדוגמה, גם את הגרסה ל-iOS וגם את הגרסה ל-Android של אפליקציה, או גם את הגרסה החינמית וגם את הגרסה בתשלום של אפליקציה).

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

    • כל האפליקציות ב-Firebase שרשמות לאותו פרויקט ב-Firebase משתמשות באותם קצוות עורפי, כמו Firebase Hosting,‏ Authentication,‏ Realtime Database,‏ Cloud Firestore,‏ Cloud Storage ו-Cloud Functions.

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

הקשר בין פרויקטים ב-Firebase לבין Google Cloud

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

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

מאחר שפרויקט Firebase הוא פרויקט Google Cloud:

  • אפשר לבצע פעולות בפרויקט במסוף Firebase, במסוף Google Cloud ובמסוף Google APIs.

  • אפשר להשתמש במוצרים ובממשקי API מ-Firebase ומ-Google Cloud באותו פרויקט.

  • הרשאות ותפקידי IAM של פרויקט משותפים ב-Firebase וב-Google Cloud. כל הגישה של חברי הפרויקט לפרויקט Google Cloud תחול גם על הפרויקט ב-Firebase (ולהפך).

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

  • מזהים ייחודיים של פרויקט (כמו מספר הפרויקט ומזהה הפרויקט) משותפים בין Firebase לבין Google Cloud.

  • מחיקה של פרויקט מוחקת אותו ב-Firebase וב-Google Cloud.

  • מחיקה או שינוי של משאב או נתונים בפרויקט חלים על Firebase ועל Google Cloud.

הגדרת פרויקט Firebase ורישום אפליקציות

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

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

אינטראקציה עם פרויקט Firebase

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

Firebase מסוף

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

<span class=מסוף Firebase – מסך הסקירה הכללית של הפרויקט" class="attempt-right screenshot" style="max-width: calc((100% - 40px)/1.75);">

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

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

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

Firebase CLI (כלי שורת פקודה)

ב-Firebase יש גם את Firebase CLI להגדרה ולניהול של מוצרי Firebase ספציפיים, כמו Firebase Hosting,‏ Cloud Functions for Firebase ו-Firebase Extensions.

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

Firebase Management REST API

באמצעות Firebase Management REST API, אפשר לנהל פרויקט ב-Firebase באופן פרוגרמטי. לדוגמה, אפשר לרשום אפליקציה לפרויקט באופן פרוגרמטי או להציג רשימה של האפליקציות שכבר רשומות (iOS+‏ | Android‏ | אינטרנט).

מזהי פרויקטים ב-Firebase

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

שם הפרויקט

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

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

מספר הפרויקט

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

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

מזהה הפרויקט

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

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

כשרושמים אפליקציה לפרויקט Firebase, במסוף Firebase מקבלים קובץ תצורה של Firebase (לאפליקציות ל-Apple או ל-Android) או אובייקט תצורה (לאפליקציות לאינטרנט) שמוסיפים ישירות לספריית האפליקציות המקומית.

  • לאפליקציות של Apple, מוסיפים קובץ תצורה מסוג GoogleService-Info.plist.
  • באפליקציות ל-Android, מוסיפים קובץ תצורה מסוג google-services.json.
  • באפליקציות אינטרנט, מוסיפים אובייקט תצורה של Firebase.

תמיד תוכלו לקבל את קובץ התצורה או האובייקט של Firebase של האפליקציה.

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

  • מפתח API: מחרוזת מוצפנת פשוטה שמשמשת לקריאה ל-API מסוימים שלא דורשים גישה לנתונים פרטיים של משתמשים (ערך לדוגמה: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO)

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

  • מזהה אפליקציה (AppID): המזהה הייחודי של אפליקציית Firebase בכל Firebase, בפורמט ספציפי לפלטפורמה:

    • אפליקציות Apple ב-Firebase: GOOGLE_APP_ID (ערך לדוגמה: 1:1234567890:ios:321abc456def7890)
      זהו לא מזהה חבילת אפליקציות של Apple.
    • אפליקציות Firebase ל-Android: mobilesdk_app_id (ערך לדוגמה: 1:1234567890:android:321abc456def7890)
      זה לא שם החבילה ב-Android או מזהה האפליקציה ב-Android.
    • אפליקציות אינטרנט של Firebase: appId (ערך לדוגמה: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)

התוכן של קובץ התצורה או האובייקט של Firebase נחשב לציבורי, כולל המזהה הספציפי לפלטפורמה של האפליקציה (מזהה ה-bundle של Apple או שם החבילה של Android) והערכים הספציפיים לפרויקט ב-Firebase, כמו מפתח ה-API, מזהה הפרויקט, כתובת ה-URL Realtime Database ושם הקטגוריה Cloud Storage. לכן, מומלץ להשתמש ב-Firebase Security Rules כדי להגן על הנתונים והקבצים ב-Realtime Database, ב-Cloud Firestore וב-Cloud Storage.

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

מגבלות כלליות על פרויקטים, אפליקציות ואתרים ב-Firebase

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

  • מספר הפרויקטים בכל חשבון

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

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

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

  • מספר האפליקציות בכל פרויקט

    ב-Firebase מוגבלים ל-30 את מספר האפליקציות ב-Firebase בפרויקט Firebase.

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

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

  • מספר האתרים של Hosting לכל פרויקט

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

השקת האפליקציה