הוספת Firebase לפרויקט Android

דרישות מוקדמות

  • מתקינים את Android Studio או מעדכנים אותו לגרסה האחרונה.

  • צריך לוודא שהפרויקט עומד בדרישות הבאות (שימו לב: למוצרים מסוימים יכולות להיות דרישות מחמירות יותר):

    • מטרגטת לרמת API ‏21 (Lollipop) ומעלה
    • מכשיר עם Android מגרסה 5.0 ואילך
    • משתמשים ב-Jetpack‏ (AndroidX), שצריך לעמוד בדרישות הגרסה הבאות:
      • com.android.tools.build:gradle גרסה 7.3.0 ואילך
      • compileSdkVersion 28 ואילך
  • מגדירים מכשיר פיזי או משתמשים במכונה וירטואלית כדי להריץ את האפליקציה.
    חשוב לזכור שחבילות Firebase SDK עם תלות ב-Google Play Services מחייבות התקנה של Google Play Services במכשיר או במכונה הווירטואלית.

  • נכנסים ל-Firebase באמצעות חשבון Google.

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


אפשר לחבר את אפליקציית Android ל-Firebase באמצעות אחת מהאפשרויות הבאות:

  • אפשרות 1: (מומלץ) משתמשים בתהליך העבודה להגדרת מסוף Firebase.
  • אפשרות 2: משתמשים ב-Firebase Assistant של Android Studio (יכול להיות שתצטרכו לבצע הגדרות נוספות).



אפשרות 1: הוספת Firebase באמצעות מסוף Firebase

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

שלב 1: יוצרים פרויקט Firebase

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

שלב 2: רישום האפליקציה ב-Firebase

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

  1. נכנסים למסוף Firebase.

  2. במרכז הדף 'סקירה כללית של הפרויקט', לוחצים על הסמל Android () או על הוספת אפליקציה כדי להפעיל את תהליך העבודה להגדרה.

  3. מזינים את שם החבילה של האפליקציה בשדה שם החבילה ל-Android.

  4. (אופציונלי) מזינים מידע נוסף על האפליקציה: הכינוי של האפליקציה וSHA-1 של אישור החתימה לניפוי באגים.

  5. לוחצים על רישום האפליקציה.

שלב 3: מוסיפים קובץ תצורה של Firebase

  1. מורידים את קובץ התצורה של Firebase ל-Android‏ (google-services.json) ומוסיפים אותו לאפליקציה:

    1. לוחצים על Download google-services.json כדי לקבל את קובץ התצורה של Firebase ל-Android.

    2. מעבירים את קובץ התצורה לתיקיית השורש של המודול (ברמת האפליקציה) באפליקציה.

  2. כדי לאפשר לערכות ה-SDK של Firebase לגשת לערכים בקובץ התצורה google-services.json, צריך את הפלאגין של Google services Gradle (google-services).

    1. בקובץ Gradle ברמת השורש (ברמת הפרויקט) (<project>/build.gradle.kts או <project>/build.gradle), מוסיפים את הפלאגין של שירותי Google כתלייה:

      Kotlin

      plugins {
        id("com.android.application") version "7.3.0" apply false
        // ...
      
        // Add the dependency for the Google services Gradle plugin
        id("com.google.gms.google-services") version "4.4.2" apply false
      }

      Groovy

      plugins {
        id 'com.android.application' version '7.3.0' apply false
        // ...
      
        // Add the dependency for the Google services Gradle plugin
        id 'com.google.gms.google-services' version '4.4.2' apply false
      }
    2. בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle.kts או <project>/<app-module>/build.gradle), מוסיפים את הפלאגין של שירותי Google:

      Kotlin

      plugins {
        id("com.android.application")
      
        // Add the Google services Gradle plugin
        id("com.google.gms.google-services")
        // ...
      }

      Groovy

      plugins {
        id 'com.android.application'
      
        // Add the Google services Gradle plugin
        id 'com.google.gms.google-services'
        // ...
      }

שלב 4: מוסיפים לאפליקציה את ערכות ה-SDK של Firebase

  1. בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל מדובר בקובץ app/build.gradle), מוסיפים את יחסי התלות של מוצרי Firebase שבהם רוצים להשתמש באפליקציה. מומלץ להשתמש ב-Firebase Android BoM כדי לשלוט בגרסאות של הספריות.<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradle

    Analytics הופעל

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:33.7.0"))
    
      // When using the BoM, you don't specify versions in Firebase library dependencies
    
      // Add the dependency for the Firebase SDK for Google Analytics
      implementation("com.google.firebase:firebase-analytics")
    
      // TODO: Add the dependencies for any other Firebase products you want to use
      // See https://firebase.google.com/docs/android/setup#available-libraries
      // For example, add the dependencies for Firebase Authentication and Cloud Firestore
      implementation("com.google.firebase:firebase-auth")
      implementation("com.google.firebase:firebase-firestore")
    }

    כשמשתמשים ב-Firebase Android BoM, האפליקציה תמיד תשתמש בגרסאות תואמות של ספריות Firebase ל-Android.

    מחפשים מודול ספרייה ספציפי ל-Kotlin? החל מ-אוקטובר 2023 (Firebase BoM 32.5.0), מפתחי Kotlin ומפתחי Java יוכלו להסתמך על מודול הספרייה הראשי (פרטים נוספים זמינים בשאלות הנפוצות לגבי היוזמה הזו).

    Analytics לא מופעל

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:33.7.0"))
    
      // When using the BoM, you don't specify versions in Firebase library dependencies
    
      // TODO: Add the dependencies for Firebase products you want to use
      // See https://firebase.google.com/docs/android/setup#available-libraries
      // For example, add the dependencies for Firebase Authentication and Cloud Firestore
      implementation("com.google.firebase:firebase-auth")
      implementation("com.google.firebase:firebase-firestore")
    }

    כשמשתמשים ב-Firebase Android BoM, האפליקציה תמיד תשתמש בגרסאות תואמות של ספריות Firebase ל-Android.

    מחפשים מודול ספרייה ספציפי ל-Kotlin? החל מ-אוקטובר 2023 (Firebase BoM 32.5.0), מפתחי Kotlin ומפתחי Java יוכלו להסתמך על מודול הספרייה הראשי (פרטים נוספים זמינים בשאלות הנפוצות לגבי היוזמה הזו).

  2. אחרי שמוסיפים את יחסי התלות של המוצרים שבהם רוצים להשתמש, מסנכרנים את הפרויקט ל-Android עם קובצי Gradle.

זהו זה! אפשר לדלג קדימה כדי לבדוק את השלבים הבאים המומלצים.

אם נתקלתם בבעיות בהגדרה, תוכלו לעיין בשאלות הנפוצות ובפתרון בעיות ב-Android.



אפשרות 2: הוספת Firebase באמצעות Firebase Assistant

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

  1. פותחים את פרויקט Android ב-Android Studio ומוודאים שאתם משתמשים בגרסאות העדכניות ביותר של Android Studio ושל Firebase Assistant:

    • Windows או Linux: עזרה > בדיקת עדכונים
    • macOS: ‏ Android Studio > חיפוש עדכונים
  2. פותחים את Firebase Assistant: כלים > Firebase.

  3. בחלונית Assistant, בוחרים מוצר Firebase שרוצים להוסיף לאפליקציה. מרחיבים את הקטע שלו ולוחצים על הקישור למדריך (לדוגמה, Analytics > Log an Analytics event).

    1. לוחצים על Connect to Firebase (קישור ל-Firebase) כדי לקשר את הפרויקט ל-Android ל-Firebase.

    2. לוחצים על הלחצן כדי להוסיף את מוצר Firebase הרצוי (לדוגמה, הוספת Analytics לאפליקציה).

  4. מסנכרנים את האפליקציה כדי לוודא שלכל הרכיבים התלויים יש את הגרסאות הנדרשות.

  5. בחלונית Assistant, פועלים לפי שאר ההוראות להגדרה של מוצר Firebase שבחרתם.

  6. אתם יכולים להוסיף כמה מוצרים של Firebase שתרצו באמצעות Firebase Assistant.

זהו זה! חשוב לעיין בהמלצות לפעולות הבאות.

אם נתקלתם בבעיות בהגדרה, תוכלו לעיין בשאלות הנפוצות ובפתרון בעיות ב-Android.



ספריות זמינות

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

חשוב לזכור: כשמשתמשים ב-Firebase Android BoM, לא מציינים גרסאות ספציפיות של ספריות כשמגדירים את יחסי התלות בספריות של Firebase בקובץ התצורה של ה-build ב-Gradle.

שירות או מוצר תלות ב-Gradle הגרסה העדכנית ביותר של
להוסיף את Analytics?
Firebase Android BoM
(Bill of Materials)
com.google.firebase:firebase-bom

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

33.7.0
AdMob com.google.android.gms:play-services-ads 23.6.0
Analytics com.google.firebase:firebase-analytics 22.1.2
App Check ספק מותאם אישית com.google.firebase:firebase-appcheck 18.0.0
ספק ניפוי הבאגים של App Check com.google.firebase:firebase-appcheck-debug 18.0.0
App Check ספק Play Integrity com.google.firebase:firebase-appcheck-playintegrity 18.0.0
App Distribution com.google.firebase:firebase-appdistribution 16.0.0-beta14
App Distribution API com.google.firebase:firebase-appdistribution-api 16.0.0-beta14
הפלאגין App Distribution com.google.firebase:firebase-appdistribution-gradle 5.0.0
Authentication com.google.firebase:firebase-auth 23.1.0
Cloud Firestore com.google.firebase:firebase-firestore 25.1.1
Cloud Functions for Firebase Client SDK com.google.firebase:firebase-functions 21.1.0
Cloud Messaging com.google.firebase:firebase-messaging 24.1.0
Cloud Storage com.google.firebase:firebase-storage 21.0.1
Crashlytics com.google.firebase:firebase-crashlytics 19.3.0
Crashlytics NDK com.google.firebase:firebase-crashlytics-ndk 19.3.0
הפלאגין Crashlytics com.google.firebase:firebase-crashlytics-gradle 3.0.2
תמיכה במודולים של תכונות דינמיות com.google.firebase:firebase-dynamic-module-support 16.0.0-beta03
Dynamic Links com.google.firebase:firebase-dynamic-links 22.1.0
In-App Messaging com.google.firebase:firebase-inappmessaging 21.0.1
(חובה)
In-App Messaging רשת המדיה com.google.firebase:firebase-inappmessaging-display 21.0.1
(חובה)
Firebase התקנות com.google.firebase:firebase-installations 18.0.0
Firebase ML Model Downloader API com.google.firebase:firebase-ml-modeldownloader 25.0.1
Performance Monitoring com.google.firebase:firebase-perf 21.0.3
הפלאגין Performance Monitoring com.google.firebase:perf-plugin 1.4.2
Realtime Database com.google.firebase:firebase-database 21.0.0
Remote Config com.google.firebase:firebase-config 22.0.1
Vertex AI in Firebase com.google.firebase:firebase-vertexai 16.0.2
הפלאגין של Google Play Services com.google.gms:google-services 4.4.2
ספריות לא נתמכות
App Check ספק SafetyNet com.google.firebase:firebase-appcheck-safetynet 16.1.2
App Indexing com.google.firebase:firebase-appindexing 20.0.0

מודולים של Firebase KTX

Analytics com.google.firebase:firebase-analytics-ktx 22.1.2
App Check ספק מותאם אישית com.google.firebase:firebase-appcheck-ktx 18.0.0
App Distribution API com.google.firebase:firebase-appdistribution-api-ktx 16.0.0-beta14
Authentication com.google.firebase:firebase-auth-ktx 23.1.0
Cloud Firestore com.google.firebase:firebase-firestore-ktx 25.1.1
Cloud Functions for Firebase Client SDK com.google.firebase:firebase-functions-ktx 21.1.0
Cloud Messaging com.google.firebase:firebase-messaging-ktx 24.1.0
Cloud Storage com.google.firebase:firebase-storage-ktx 21.0.1
Crashlytics com.google.firebase:firebase-crashlytics-ktx 19.3.0
Dynamic Links com.google.firebase:firebase-dynamic-links-ktx 22.1.0
In-App Messaging com.google.firebase:firebase-inappmessaging-ktx 21.0.1
(חובה)
In-App Messaging רשת המדיה com.google.firebase:firebase-inappmessaging-display-ktx 21.0.1
(חובה)
Firebase התקנות com.google.firebase:firebase-installations-ktx 18.0.0
Firebase ML Model Downloader API com.google.firebase:firebase-ml-modeldownloader-ktx 25.0.1
Performance Monitoring com.google.firebase:firebase-perf-ktx 21.0.3
Realtime Database com.google.firebase:firebase-database-ktx 21.0.0
Remote Config com.google.firebase:firebase-config-ktx 22.0.1

ספריות של Firebase ML Kit

Firebase ML ממשקי API מותאמים אישית של מודלים com.google.firebase:firebase-ml-model-interpreter 22.0.4
Firebase ML Vision APIs com.google.firebase:firebase-ml-vision 24.1.0
Firebase ML: מודל לתיוג תמונות com.google.firebase:firebase-ml-vision-image-label-model 20.0.2
Firebase ML: מודל לזיהוי אובייקטים ולמעקב אחריהם com.google.firebase:firebase-ml-vision-object-detection-model 19.0.6
Firebase ML: מודל זיהוי פנים com.google.firebase:firebase-ml-vision-face-model 20.0.2
Firebase ML: מודל סריקה של ברקוד com.google.firebase:firebase-ml-vision-barcode-model 16.1.2
Firebase ML: AutoML Vision Edge API com.google.firebase:firebase-ml-vision-automl 18.0.6
Firebase ML: ממשקי API של שפה טבעית com.google.firebase:firebase-ml-natural-language 22.0.1
Firebase ML: מודל זיהוי שפה com.google.firebase:firebase-ml-natural-language-language-id-model 20.0.8
Firebase ML: תרגום מודל com.google.firebase:firebase-ml-natural-language-translate-model 20.0.9
Firebase ML: מודל התשובות המהירות com.google.firebase:firebase-ml-natural-language-smart-reply-model 20.0.8



השלבים הבאים

מוסיפים את שירותי Firebase לאפליקציה:

  • Analytics – קבלת תובנות על התנהגות המשתמשים.

  • מגדירים תהליך אימות משתמש באמצעות Authentication.

  • לשמור נתונים, כמו פרטי משתמשים, באמצעות Cloud Firestore או Realtime Database.

  • אחסון קבצים, כמו תמונות וסרטונים, באמצעות Cloud Storage.

  • הפעלת קוד לקצה העורפי שפועל בסביבה מאובטחת באמצעות Cloud Functions.

  • שולחים התראות באמצעות Cloud Messaging.

  • Crashlytics – מתי האפליקציה קורסת ומדוע

מידע נוסף על Firebase: