Firebase تعهد خود را به Kotlin افزایش میدهد و ما در تلاش هستیم تا اکوسیستم Android خود را مدرنسازی کنیم تا Kotlin را با Firebase در دسترستر و آسانتر کنیم.
برای انجام این مدرنسازی، چند تغییر در Firebase SDK خود برای Android ایجاد میکنیم. این صفحه اطلاعات مهمی را در مورد این تغییر شرح می دهد، از جمله:
- چه چیزی در حال تغییر است
- دلیلی که ما این تغییر را ایجاد می کنیم
- تاریخ های مهم برای این تغییر
- نحوه مهاجرت برای استفاده از API های KTX از ماژول اصلی
با نحوه انتقال برنامه خود آشنا شوید
چه چیزی در حال تغییر است؟
APIهای افزونه های Kotlin (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 (v34.0.0) حذف کردیم.
چرا این تغییر را ایجاد می کنیم؟
Firebase متعهد به اولین اکوسیستم Kotlin برای توسعه دهندگان اندروید است. این نوسازی بسته بندی مزایای زیر را ارائه می دهد:
مدیریت وابستگی ساده: اکنون فقط باید به یک ماژول تکیه کنید و نیازی به جابجایی بین ماژول اصلی و پسوندهای Kotlin یا وابستگی به هر دو را از بین ببرید.
پشتیبانی پیشرفته Kotlin: همه Firebase SDK های ما برای Android اکنون پشتیبانی بهتری از Kotlin ارائه می دهند. ما تمام ویژگی های جدید سازگار با Kotlin را مستقیماً در ماژول های اصلی خود قرار خواهیم داد.
تاریخ های مهم برای این تغییر
در اکتبر 2023
در اکتبر 2023، APIهای افزونه های Kotlin (KTX) به ماژول های اصلی مربوطه اضافه شدند، به این معنی که اکنون می توانید در هنگام استفاده Firebase BoM v32.5.0+ یا نسخه های ماژول اصلی فهرست شده در BoM v32.5.0+، از API های KTX مستقیماً از ماژول های اصلی استفاده کنید.
به موازات آن، APIهای پسوند Kotlin (KTX) در ماژولهای KTX منسوخ شدند ( به یادداشتهای انتشار در توصیف این تغییر مراجعه کنید). در طول فاز منسوخ شده ، APIهای منسوخ در ماژول های KTX به کار خود ادامه می دهند و حفظ می شوند.
در جولای 2025
در جولای 2025، انتشار نسخههای جدید ماژولهای KTX را متوقف کردیم و ماژولهای KTX را از Firebase BoM حذف کردیم (شروع با BoM v34.0.0 ).
هر نسخهای که قبلاً از یک ماژول KTX یا BoM منتشر شده بود، به کار خود ادامه میدهد، اما اکنون در پایان تعمیر و نگهداری هستند. این بدان معناست که ما رفع اشکال، تغییرات سازگار با عقب، یا ویژگیهای جدید را به ماژولهای KTX اضافه نمیکنیم. در عوض، تمام توسعههای آینده Firebase در اندروید فقط در ماژولهای اصلی (هم برای جاوا و هم برای Kotlin) انجام میشود.
نحوه مهاجرت به استفاده از API های KTX از ماژول های اصلی
اگر از APIهای افزونه های Kotlin (KTX) استفاده می کنید، به روز رسانی های زیر را در برنامه خود انجام دهید تا از ماژول های اصلی به جای ماژول های KTX، از API ها استفاده کنید.
وابستگی های Gradle خود را برای تکیه بر ماژول اصلی به جای ماژول KTX تجدید نظر کنید. به عنوان مثال، اگر از Firebase Android BoM استفاده می کنید (توصیه می شود) :
قبل از
dependencies { // ... // Import the Firebase BoM implementation(platform("com.google.firebase:firebase-bom:34.0.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.0.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") }
قبل از
dependencies { // ... // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx:23.2.1") implementation("com.google.firebase:firebase-firestore-ktx:25.1.4") }
بعد از
dependencies { // ... // No need to use the KTX libraries, everything is now in the main module // Make sure to use a version listed in Firebase BoM v32.5.0 or higher implementation("com.google.firebase:firebase-auth:24.0.0") implementation("com.google.firebase:firebase-firestore:26.0.0") }
کد خود را بهروزرسانی کنید تا همه رخدادهای APIهای KTX با APIهای جابجا شده در ماژول اصلی تحت بسته
com.google.firebase
جایگزین شوند.قبل از
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