تعمل منصة Firebase على زيادة التزامها باستخدام Kotlin، ونحن نعمل على تحديث منظومتنا المتكاملة لنظام التشغيل Android لتسهيل استخدام Kotlin وزيادة إمكانية الوصول إليها باستخدام Firebase.
لتنفيذ هذا التحديث، نحن بصدد إجراء بعض التغييرات على حِزم تطوير البرامج (SDK) لبرنامج Firebase على نظام التشغيل Android. توضّح هذه الصفحة معلومات مهمة حول هذا التغيير، بما في ذلك:
- التغييرات
- سبب إجراء هذا التغيير
- تواريخ مهمة لهذا التغيير
- كيفية نقل البيانات لاستخدام واجهات برمجة تطبيقات KTX من الوحدة الرئيسية
التعرّف على كيفية نقل بيانات تطبيقك
ما هي التغييرات التي سيتم إجراؤها؟
تمت إضافة واجهات برمجة تطبيقات إضافات Kotlin (KTX) إلى وحداتهم الأساسية
المعنية. على سبيل المثال، تمت إضافة جميع واجهات برمجة التطبيقات من firebase-perf-ktx
إلى
firebase-perf
ضمن حزمة com.google.firebase.perf
.
يعني هذا التغيير أنّه أصبح بإمكان مطوّري Kotlin الاعتماد الآن على الوحدات الرئيسية بدلاً من وحدات KTX (عند استخدام Firebase BoM الإصدار 32.5.0 والإصدارات الأحدث أو الإصدارات الرئيسية للوحدات المدرَجة في BoM الإصدار 32.5.0 والإصدارات الأحدث).
وكجزء من هذا التغيير، تم الآن إيقاف واجهات برمجة تطبيقات إضافات Kotlin (KTX) نهائيًا في كل وحدة KTX. اعتبارًا من أيلول (سبتمبر) 2024، لن نطرح بعد ذلك وحدات KTX، وسنزيل أيضًا مكتبات KTX من Firebase Android BoM في ذلك الوقت.
لماذا نُجري هذا التغيير؟
تلتزم منصة Firebase بتوفير منظومة متكاملة تعتمد على لغة Kotlin لمطوّري تطبيقات Android. توفّر عملية تحديث الحزمة هذه المزايا التالية:
إدارة التبعيات المبسّطة: ما عليك الآن سوى الاعتماد على ملف برمجي واحد، ما يغنيك عن التبديل بين الملف البرمجي الرئيسي وملف برمجي Kotlin الملحق أو الاعتماد على كليهما.
دعم مُحسَّن للغة Kotlin: ستقدّم الآن كل حِزم تطوير البرامج (SDK) لمنصّة Firebase لنظام التشغيل Android دعمًا أفضل للغة Kotlin. سنضيف جميع الوظائف الجديدة المتوافقة مع Kotlin مباشرةً في الوحدات الرئيسية.
تواريخ مهمة لهذا التغيير
في تشرين الأول (أكتوبر) 2023
تمت إضافة واجهات برمجة تطبيقات إضافات Kotlin (KTX) إلى الوحدات الرئيسية ذات الصلة، ما يعني أنّه يمكنك الآن استخدام واجهات برمجة تطبيقات KTX مباشرةً من الوحدات الرئيسية عند استخدام Firebase BoM الإصدار 32.5.0 والإصدارات الأحدث أو إصدارات الوحدات الرئيسية المُدرَجة في BoM الإصدار 32.5.0 والإصدارات الأحدث.
في الوقت نفسه، تم إيقاف واجهات برمجة التطبيقات لإضافة Kotlin (KTX) في وحدات KTX نهائيًا (اطّلِع على ملاحظات الإصدار التي تصف هذا التغير). خلال مرحلة الإيقاف النهائي، ستظل واجهات برمجة التطبيقات التي سيتم إيقافها نهائيًا في وحدات KTX تعمل وستتم صياغها.
أوائل أيلول (سبتمبر) 2024
سنتوقف عن إصدار إصدارات جديدة من وحدات KTX، وسنزيل وحدات KTX من Firebase BoM.
سيستمر استخدام أي إصدار سابق من وحدة KTX أو BoM، ولكن سيتم نقله إلى مرحلة نهاية فترة الصيانة. وهذا يعني أنّنا سنتوقف عن إضافة إصلاحات للأخطاء والتغييرات المتوافقة مع الإصدارات القديمة والميزات الجديدة إلى وحدات KTX. بدلاً من ذلك، سيتم تنفيذ جميع عمليات التطوير المستقبلية لمنصّة Firebase على Android في الوحدات الرئيسية (لكلٍّ من Java وKotlin).
كيفية نقل البيانات لاستخدام واجهات برمجة تطبيقات KTX من الوحدات الرئيسية
إذا كنت تستخدم واجهات برمجة تطبيقات إضافات Kotlin (KTX)، عليك إجراء التعديلات التالية في تطبيقك لبدء استخدام واجهات برمجة التطبيقات من الوحدات الرئيسية بدلاً من وحدات KTX.
راجِع ملحقاتك في Gradle للاعتماد على الوحدة الرئيسية بدلاً من وحدة KTX. على سبيل المثال، إذا كنت تستخدم Firebase Android BoM (إجراء مقترَح):
قبل إجراء ذلك
dependencies { // ... // Import the Firebase BoM implementation(platform("com.google.firebase:firebase-bom:33.10.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:33.10.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") }
في حال عدم استخدام Firebase Android BoM
قبل إجراء ذلك
dependencies { // ... // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx:23.2.0") implementation("com.google.firebase:firebase-firestore-ktx:25.1.2") }
بعد ذلك
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:23.2.0") implementation("com.google.firebase:firebase-firestore:25.1.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