الانتقال إلى استخدام واجهات برمجة تطبيقات إضافات Kotlin (KTX) في الوحدات الرئيسية

يعمل Firebase على زيادة التزامه باستخدام Kotlin، ونعمل على تحديث منظومة Android المتكاملة لجعل استخدام Kotlin أكثر سهولة من خلال Firebase.

لإنجاز هذا التحديث، نحن بصدد إجراء بعض التغييرات على حِزم تطوير البرامج (SDK) لمنصة Firebase لنظام التشغيل Android تصف هذه الصفحة معلومات مهمة حول هذا الموضوع التغيير، بما في ذلك:


التعرّف على كيفية نقل تطبيقك

ما هي التغييرات التي سيتم إجراؤها؟

تمّت إضافة واجهات برمجة تطبيقات إضافات Kotlin (KTX) إلى واجهة برمجة التطبيقات الرئيسية الخاصة بها. الوحدات. على سبيل المثال، تمت إضافة جميع واجهات برمجة التطبيقات من firebase-perf-ktx إلى firebase-perf ضمن حزمة com.google.firebase.perf.

يشير هذا التغيير إلى أنّ مطوّري لغة Kotlin أصبح بإمكانهم الآن الاعتماد على الوحدات الرئيسية بدلاً من وحدات KTX (عند استخدام الإصدار 32.5.0 أو الإصدارات الأحدث من Firebase BoM أو إصدارات الوحدة الأساسية المدرجة في الإصدار 32.5.0 من BoM أو الإصدارات الأحدث).

وكجزء من هذا التغيير، ستتم إتاحة واجهات برمجة التطبيقات الخاصة بإضافات Kotlin (KTX) في كل وحدة من وحدات KTX. تم إيقافها الآن. اعتبارًا من أبريل 2024، لن نطرح وحدات KTX. وسنزيل أيضًا مكتبات KTX من قائمة جداول بيانات Android في Firebase.

ما هو سبب إجراء هذا التغيير؟

يلتزم نظام Firebase Kotlin أولاً لمطوّري برامج Android. وتوفّر عملية تحديث العبوات هذه المزايا التالية:

  • إدارة التبعية المبسّطة: ما عليك الآن سوى الاعتماد على أداة مما يغنيك عن الحاجة إلى التبديل بين الوحدة الرئيسية ولغة Kotlin. الإضافات أو الاعتماد على كليهما.

  • دعم محسّن من Kotlin: ستتوفر الآن جميع حِزم تطوير البرامج (SDK) لمنصة Firebase لنظام التشغيل Android. على دعم أفضل لـ Kotlin. سوف ندرج جميع إصدارات Kotlin الجديدة المتوافقة مع مباشرةً في وحداتنا الرئيسية.

تواريخ مهمة لهذا التغيير

في تشرين الأول (أكتوبر) 2023

تم إدراج واجهات برمجة تطبيقات إضافات Kotlin (KTX) في الوحدات الرئيسية الخاصة بها، ما يعني أنّه يمكنك الآن استخدام واجهات برمجة تطبيقات KTX مباشرةً من الوحدات عند استخدام الإصدار 32.5.0 أو الإصدارات الأحدث من Firebase BoM أو إصدارات الوحدة الأساسية المدرجة في الإصدار 32.5.0 من BoM أو الإصدارات الأحدث.

بالتوازي مع ذلك، تمّ استخدام واجهات برمجة تطبيقات إضافة Kotlin (KTX) في وحدات KTX. متوقفة نهائيًا (انظر ملاحظات الإصدار تصف ذلك تغيير). خلال مرحلة متوقّفة نهائيًا، ستستمر واجهات برمجة التطبيقات المتوقّفة نهائيًا في وحدات KTX في العمل وصيانته.

اعتبارًا من أبريل 2024

وسنتوقف عن طرح إصدارات جديدة من وحدات لوحة KTX، وسنزيل وحدات KTX من قائمة عمليات الشراء في Firebase

سيستمر أي نسخة تم إصدارها سابقًا من وحدة KTX أو قائمة BoM في الوظيفة، لكنها ستدخل انتهاء الصيانة. وهذا يعني أننا سنتوقف عن إضافة إصلاحات الأخطاء والتغييرات المتوافقة مع الإصدارات القديمة الميزات الجديدة في وحدات KTX. بدلاً من ذلك، سيتم تحديث جميع سيتم تنفيذ Android في الوحدات الرئيسية (لكل من Java وKotlin).

كيفية نقل البيانات لاستخدام واجهات برمجة تطبيقات KTX من الوحدات الرئيسية

في حال استخدام واجهات برمجة تطبيقات إضافات Kotlin (KTX)، عليك إجراء التحديثات التالية في تطبيقك. لبدء استخدام واجهات برمجة التطبيقات من الوحدات الرئيسية بدلاً من وحدات KTX.

  1. راجع تبعيات Gradle لديك للاعتماد على الوحدة الرئيسية بدلاً من KTX. على سبيل المثال، إذا كنت تستخدم Firebase Android BoM (موصى به):

    قبل

    dependencies {
      // ...
    
      // Import the Firebase BoM
      implementation(platform("com.google.firebase:firebase-bom:33.1.2"))
    
      // 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:33.1.2"))
    
      // 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. عدِّل الرمز البرمجي لاستبدال جميع مواضع ورود واجهات برمجة تطبيقات KTX بـ واجهات برمجة التطبيقات التي تم نقلها في الوحدة الرئيسية ضمن حزمة 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