הסבר על Firebase ל-Android

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

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

פלאגין Firebase Assistant ל-Android Studio

הכלי Firebase Assistant הוא פלאגין ל-Android Studio שרושם את אפליקציית Android שלכם בפרויקט Firebase ומוסיף לפרויקט Android את קובצי התצורה, הפלאגינים והתלות הדרושים של Firebase – והכול מתוך Android Studio!

פועלים לפי ההוראות שמופיעות בדף תחילת העבודה עם Android כדי להשתמש ב-Firebase Assistant. חשוב לוודא שאתם משתמשים בגרסאות הכי עדכניות של Android Studio ושל Firebase Assistant (אפשר לעבור אל File (קובץ) > Check for updates (בדיקת עדכונים)).

כשבוחרים מוצרי Firebase ספציפיים להוספה לאפליקציה, Firebase Assistant מצהיר באופן אוטומטי על התלות הנדרשת בקובץ app/build.gradle. שימו לב: אם אתם רוצים להשתמש ב-Firebase Android BoM (מומלץ), אתם צריכים לעדכן את יחסי התלות בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל app/build.gradle) כדי לייבא את פלטפורמת BoM. תצטרכו גם להסיר את הגרסאות מכל שורת תלות בספריית Firebase.

בנוסף, כדי להשתמש בחלק ממוצרי Firebase, צריך להפעיל ממשקי API או להקצות משאבים מחוץ ל-Android Studio. ההוראות לכל מוצר ב-Firebase Assistant מתארות את הפעולות הנוספות שצריך לבצע. לדוגמה, כדי להשתמש ב-Cloud Firestore, צריך להגדיר את מסד הנתונים והכללים במסוף Firebase.

שירותי Google – פלאגין וקובץ הגדרה

כחלק מהוספת Firebase לפרויקט Android, צריך להוסיף את התוסף google-services ואת קובץ ההגדרות google-services.json לפרויקט.

אם מוסיפים את Firebase לפרויקט Android באמצעות מסוף Firebase,‏ Management API בארכיטקטורת REST או Firebase CLI, צריך להוסיף את הפלאגין ואת קובץ ההגדרות לפרויקט באופן ידני. עם זאת, אם משתמשים בעוזר Firebase, המשימות האלה מתבצעות באופן אוטומטי במהלך ההגדרה.

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

Firebase Android BoM (Bill of Materials)

הקובץ Firebase Android BoM (Bill of Materials) מאפשר לכם לנהל את כל הגרסאות של ספריית Firebase על ידי ציון גרסה אחת בלבד – הגרסה של BoM.

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

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

מידע נוסף על התמיכה של Gradle בפלטפורמות BoM

כך משתמשים ב-Firebase Android BoM כדי להצהיר על תלויות בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל app/build.gradle). כשמשתמשים ב-BoM, לא מציינים גרסאות ספציפיות של ספריות בשורות התלויות.

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:34.17.0')

  // Declare the dependencies for the desired Firebase products without specifying versions
  // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'
}

ריכזנו כאן כמה שאלות נפוצות לגבי השימוש ב-Firebase Android BoM:

השוואה בין גרסאות של Firebase BoM

מודולים של ספריות הרחבות (KTX) של Kotlin

מודולים של תכונות והפצת פיצ'רים ב-Play

החל ממאי 2021 (גרסה Firebase BoM v28.0.0), אפשר להשתמש ב-Firebase Android SDK במודולים של תכונות דינמיות שמותקנים בנפרד ממודול האפליקציה הבסיסי.

כדי להפעיל תמיכה במודולים של תכונות דינמיות, מוסיפים את התלות הבאה לקובץ build.gradle של מודול הבסיס:

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta04'
}

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

לדוגמה, אם האפליקציה שלכם משתמשת ב-Realtime Database כדי להפעיל תכונה ספציפית בזמן אמת, אתם יכולים להוסיף את התלות ב-Realtime Database ל-build.gradle של מודול התכונה ולא למודול הבסיס.firebase-database כך יוקטן גודל ההורדה עבור רוב המשתמשים.

כשמשתמשים ב-Firebase SDK במודולים של תכונות, חשוב לשים לב להערות הבאות:

  • במוצרים כמו Dynamic Links או Firebase In-App Messaging שמסתמכים על האירוע Analytics first_open, יכול להיות שהאירוע הזה לא יתועד אם נעשה בהם שימוש במודול של תכונות דינמי.

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

  • כשמשתמשים ב-firebase-crashlytics-ndk כתלות של מודול תכונות דינמיות, צריך להגדיר את המאפיין unstrippedNativeLibsDir בקובץ build.gradle של האפליקציה, כמו שמתואר בתיעוד של Crashlytics NDK.

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

פלאגין Gradle של שירותי Google לעומת Google Play Services לעומת חנות Google Play

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

פלאגין Gradle של שירותי Google
תוסף Gradle‏ (com.google.gms.google-services) שפועל בזמן הבנייה כדי לוודא שהאפליקציה מוגדרת בצורה הנכונה לגישה ל-Firebase ולממשקי API של Google
למרות השם, התוסף הזה לא קשור ל-Google Play Services (ראו את הערך הבא) ואין לו השפעה על היכולות של האפליקציה בזמן הריצה.
התוסף הזה מעבד גם את הקובץ google-services.json שמוסיפים לאפליקציה כחלק מההגדרה של Firebase. מידע נוסף על הפלאגין של Google Services Gradle
Google Play Services
שירות רקע בלתי נראה שפועל במכשיר Android ומספק כמה ממשקי API נפוצים של Google (כמו Google Maps ו-Google Sign In) לאפליקציות במכשיר
ריכוז ממשקי ה-API הנפוצים האלה בשירות יחיד מקטין את הגודל של אפליקציות אחרות ומאפשר למכשיר לקבל עדכוני אבטחה אוטומטיים ושיפורים בתכונות בלי עדכון מערכת ההפעלה. מידע נוסף על Google Play Services
חנות Google Play
חנות להורדת אפליקציות, סרטים, ספרים ועוד במכשיר Android
מפתחים יכולים לנהל את ההפצה, הגרסאות וכו' של האפליקציה שלהם דרך Google Play Console. אם במכשיר יש את חנות Google Play, הוא מריץ גם את Google Play Services (ראו את הערך הקודם). מידע נוסף על חנות Google Play למפתחים
Google Play Games services
מערכת של ממשקי API למפתחי משחקים לנייד
מידע נוסף על שירותי המשחקים של Google Play ועל שילוב של Firebase בפרויקט של שירותי המשחקים של Google Play.

מקורות מידע בקוד פתוח בנושא Firebase Android SDKs

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

ערכות Firebase Android SDK

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

דוגמאות למתחילים

ב-Firebase יש אוסף של דוגמאות להפעלה מהירה של רוב ממשקי ה-API של Firebase ב-Android. אפשר למצוא את המדריכים למתחילים האלה במאגר הציבורי Firebase GitHub quickstart repository.

אפשר לפתוח כל מדריך להתחלה מהירה כפרויקט ב-Android Studio, ואז להריץ אותו במכשיר נייד או במכשיר וירטואלי (AVD). אפשר גם להשתמש במדריכים האלה כדוגמאות לקוד לשימוש ב-Firebase SDKs.

נושאים מעניינים אחרים