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

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

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


كيفية نقل تطبيقك

ما هي التغييرات؟

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

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

في يوليو 2025، توقّفنا عن طرح إصدارات جديدة من وحدات KTX وأزلنا مكتبات KTX من الإصدار Firebase Android BoM (الإصدار 34.0.0).

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

تلتزم Firebase بتوفير بيئة تتوافق بشكل كامل مع لغة Kotlin لمطوّري تطبيقات Android. توفّر عملية تحديث الحِزم المزايا التالية:

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

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

تواريخ مهمة بشأن هذا التغيير

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

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

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

في يوليو 2025

في يوليو 2025، توقّفنا عن طرح إصدارات جديدة من وحدات KTX، وأزلنا وحدات KTX من Firebase BoM (بدءًا من BoM الإصدار 34.0.0).

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

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

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

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

    BEFORE

    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")
    }

    BEFORE

    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")
    }


  2. عدِّل الرمز البرمجي لاستبدال جميع مواضع واجهات برمجة التطبيقات KTX بواجهات برمجة التطبيقات التي تم نقلها في الوحدة الرئيسية ضمن الحزمة 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