הסבר על 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 מתארות את הפעולות הנוספות שצריך לבצע. לדוגמה, כדי להשתמש ב-Cloud Firestore, צריך להגדיר את מסד הנתונים והכללים במסוף Firebase.

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

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

אם מוסיפים את Firebase לפרויקט Android באמצעות מסוף Firebase,‏ Management REST API או 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 Google Analytics, אפשר לעיין בהערות לגבי הגרסה של 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.0.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

מודולים של ספריות Kotlin Extensions‏ (KTX)

מודולים של תכונות והפצת פיצ'רים ב-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 כדי להפעיל תכונה ספציפית בזמן אמת, אתם יכולים להוסיף את התלות firebase-database ל-build.gradle של מודול התכונה ולא למודול הבסיס. כך יוקטן גודל ההורדה עבור רוב המשתמשים.

חשוב לשים לב להערות הבאות כשמשתמשים ב-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 של האפליקציה, כמו שמתואר במסמכי ה-NDK של Crashlytics.

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

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

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

פלאגין של שירותי Google ל-Gradle
תוסף 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 וכניסה לחשבון Google) לאפליקציות במכשיר
ריכוז ממשקי ה-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.

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

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