أنت قد تلقيت ما يزال رسالة من متجر Google Play يذكر التالي:
حدّث تعليقك على Maven Play Core إلى إصدار يتوافق مع Android 14! الرزمة Play Core الحالية غير متوافقة مع targetSdkVersion 34 (Android 14)، والتي تحتوي على تغيير لا متابعة للرسائل التلفزيونية لتحسين أمن المستخدمين. وكتذكير، منذ 31 أغسطس، يتطلب متجر Google Play أن تستهدف جميع إصدارات التطبيقات الجديدة Android 14. حدّث إلى أحدث إصدار تعليق Play Core لتجنب تحطم التطبيق: https://developer.android.com/guide/playcore#playcore-migration
قد لا تستطيع إصدار مستقبليات التطبيق الخاص بك مع هذا الإصدار من SDK إلى الإنتاج أو الاختبار المفتوح.
يبدو الأمر مخيفاً، أليس كذلك؟
لا تقلق بشدة. في الواقع، إنه أسهل مما يبدو.
ماذا يتعلق الشيء بالفعل بحوله
بشكل أساسي، توقفت Google عن إصدار إصدارات جديدة من رزمة Play Core منذ بداية 2022.
آخر إصدار من رزمة Play Core الإصدار
ومن أبريل 2022، قاموا بتقسيم الرزمة Play Core الأصلية إلى أربع رزمات منفصلة:
- مكتبة توزيع الأصول Play
- مكتبة توزيع ميزات Play
- مكتبة مراجعات داخل التطبيق Play
- مكتبة تحديثات داخل التطبيق Play
كل المكتبات لديها وظائفها الخاصة والمسؤولية。
لأن مكتبة النواة القديمة لللعب تدعم فقط إلى مستوى API معين، يجب عليك تحويل تطبيقك لاستخدام المكتبات الأحدث التي تدعم أحدث مستويات API。
بشكل أساسي، يجب عليك معرفة ما هي وظائف مكتبة النواة الأصلية التي تستخدمها ومن ثم تحميل الجزء المناسب. على سبيل المثال، إذا كان لديك منطق لإخطار المستخدمين بوجود إصدار جديد أكثر لتطبيقك، يجب أن تأخذ مكتبة تحديثات البرامج داخل التطبيق。
سنقدم حالتين للإستخدام هنا:
- تطبيق الأندرويد الأصلي
- تطبيق Flutter
حالة الاستخدام – تطبيق الأندرويد الأصلي
إذا كان لديك تطبيق الأندرويد الأصلي، سواء كتبت بكوتلين أو جافا، يجب عليك القيام بما يلي:
- افتح ملف build.gradle الخاص بمستوى التطبيق
- ربما ترون تحت الكتلة dependencies هذه السطر:
implementation 'com.google.android.play:core-ktx:1.8.1'
-
ستحتاج إلى إزالته وتعديله وفقاً لما كنت تستخدمه في مكتبة النواة السابقة
-
إذا كنت بحاجة إلى أخذ مكتبة تحديثات البرامج داخل التطبيق، فستحتاج إلى إضافة هذه إلى الكتلة dependencies:
implementation 'com.google.android.play:app-update:2.1.0'
//أضف الإعتماد أدناه إذا كنت تستخدم كوتلين في تطبيقك
implementation 'com.google.android.play:app-update-ktx:2.1.0'
- أعيد بناء تطبيقك وأرى إن كل شيء يعمل كما يجب.
✋ قد تحتاج أيضًا لتغيير أعمال الإستيمات من import com.google.android.play.core.tasks.*; إلى import com.google.android.gms.tasks.*;.
حالة استخدام – تطبيق Flutter
ولأن Flutter هو مادة توفر لكلاً من الأندرويد وiOS، فهذه الحالة مختلفة قليلًا عن الحالة السابقة. إذا حصل عليك تحذير لتحديث مكتبة اللعبة الجوهرية في تطبيقك الFlutter، يتوجب عليك أن تنظر إلى المكتبات التي تستخدم في ملف pubspec.yaml الخاص بك:
dependencies:
flutter:
sdk: flutter
...
in_app_update: ^3.0.0
وكما ترون فأعلاه، يعتمد التطبيق على المكتبة in_app_update، التي تتعلق بإخبار المستخدمين عن وجود إصدار جديد للتطبيق. حينما نذهب إلى صفحة التغييرات pub.dev لمكتبة in_app_update، يمكننا رؤية أن:
تم إضافة دعم الإصدار المطلوب في الإصدار 4.1.0
لذا يتوجب علينا تحديث ملف pubspec.yaml الخاص بنا لاستخدام تلك الإصدارة (على الأقل).
dependencies:
flutter:
sdk: flutter
...
in_app_update: ^4.1.0
أنطلق بأمر Pub get ويفتح الطريق لك.
Source:
https://www.freecodecamp.org/news/migrate-from-play-core-library/