מעבר לשימוש בממשקי ה-API של Kotlin Extensions‏ (KTX) במודולים הראשיים

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

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


איך מעבירים את האפליקציה

מה משתנה?

ממשקי ה-API של Kotlin Extensions‏ (KTX) נוספו למודולים הראשיים המתאימים. לדוגמה, כל ממשקי ה-API מ-firebase-perf-ktx נוספו ל-firebase-perf בחבילה com.google.firebase.perf.

השינוי הזה אומר שמפתחי Kotlin יכולים להסתמך עכשיו על המודולים הראשיים במקום על מודולי KTX (כשמשתמשים בגרסה Firebase BoM v32.5.0 ואילך או בגרסאות של המודולים הראשיים שמופיעות בגרסה BoM v32.5.0 ואילך).

ביולי 2025 הפסקנו להוציא גרסאות חדשות של מודולי KTX והסרנו את ספריות KTX מ-Firebase Android BoM (גרסה 34.0.0).

למה אנחנו מבצעים את השינוי הזה?

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

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

  • תמיכה משופרת ב-Kotlin: כל ערכות Firebase SDK ל-Android יספקו עכשיו תמיכה טובה יותר ב-Kotlin. אנחנו נכלול את כל התכונות החדשות שמתאימות ל-Kotlin ישירות במודולים הראשיים שלנו.

תאריכים חשובים לגבי השינוי הזה

באוקטובר 2023

באוקטובר 2023, ממשקי ה-API של Kotlin extensions ‏ (KTX) נוספו למודולים הראשיים המתאימים שלהם. המשמעות היא שעכשיו אפשר להשתמש בממשקי ה-API של KTX ישירות מהמודולים הראשיים כשמשתמשים בגרסה Firebase BoM v32.5.0 ואילך או בגרסאות של המודולים הראשיים שמפורטות בגרסה BoM v32.5.0 ואילך.

במקביל, הוצאנו משימוש את ממשקי ה-API של Kotlin extension‏ (KTX) במודולים של KTX (פרטים נוספים מופיעים בנתוני הגרסה). במהלך השלב של הוצאה משימוש, ממשקי ה-API שהוצאו משימוש במודולים של KTX ימשיכו לפעול ויתבצעו בהם עדכונים.

ביולי 2025

ביולי 2025 הפסקנו להשיק גרסאות חדשות של מודולי KTX, והסרנו את מודולי KTX מ-Firebase BoM (החל מ-BoM v34.0.0).

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

איך עוברים לשימוש בממשקי KTX API מהמודולים הראשיים

אם אתם משתמשים בממשקי Kotlin extensions (KTX) APIs, אתם צריכים לבצע את העדכונים הבאים באפליקציה כדי להתחיל להשתמש בממשקי ה-API מהמודולים הראשיים במקום מהמודולים של KTX.

  1. משנים את יחסי התלות ב-Gradle כך שיתבססו על המודול הראשי ולא על מודול ה-KTX. לדוגמה, אם משתמשים בשיטת הבידינג Firebase Android BoM (מומלצת):

    BEFORE

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:34.3.0"))
    
      // Using KTX libraries for Authentication and Cloud Firestore
      implementation("com.google.firebase:firebase-auth-ktx")
      implementation("com.google.firebase:firebase-firestore-ktx")
    }

    אחרי

    dependencies {
      // ...
    
      // Import the Firebase BoM as usual
      // Make sure to use Firebase BoM v32.5.0 or higher
      implementation(platform("com.google.firebase:firebase-bom:34.3.0"))
    
      // No need to use the KTX libraries; everything is now in the main module
      implementation("com.google.firebase:firebase-auth")
      implementation("com.google.firebase:firebase-firestore")
    }


  2. מעדכנים את הקוד כדי להחליף את כל המופעים של ממשקי ה-API של KTX בממשקי ה-API שהועברו במודול הראשי מתחת לחבילה com.google.firebase.

    BEFORE

    import com.google.firebase.auth.ktx.auth
    import com.google.firebase.firestore.ktx.firestore
    import com.google.firebase.firestore.ktx.toObject
    import com.google.firebase.ktx.Firebase

    אחרי

    import com.google.firebase.auth.auth
    import com.google.firebase.firestore.firestore
    import com.google.firebase.firestore.toObject
    import com.google.firebase.Firebase