قبل تفعيل تطبيق يستخدم نموذجًا من نماذج حزمة تعلّم الآلة على الجهاز فقط، ننصحك باتّباع النصائح الواردة في هذه الصفحة لتقليل حجم عملية تنزيل تطبيقك.
إنشاء تطبيقك على شكل حزمة تطبيق Android
أنشئ تطبيقك ونشره على شكل مجموعة حزمات تطبيق Android ليتمكّن Google Play من إنشاء حِزم APK تلقائيًا لكثافات شاشة وبنيات وحدة معالجة مركزية ولغات معيّنة. ولن يضطر المستخدمون إلى تنزيل حِزم APK إلا إذا كانت متوافقة مع إعدادات أجهزتهم، والأهم من ذلك، لن يضطر المستخدمون إلى تنزيل مكتبات الرموز البرمجية الأصلية إلا إذا كانت متوافقة مع بنية أجهزتهم.
متقدّمة: نقل ميزات تعلُّم الآلة الاختيارية إلى وحدات الميزات الديناميكية
إذا كنت تستخدم حزمة تعلّم الآلة في إحدى ميزات تطبيقك التي لا تمثّل الغرض الأساسي منه، ننصحك بإعادة تصميم تطبيقك لنقل هذه الميزة وتبعياتها في حزمة تعلّم الآلة إلى وحدة ميزات ديناميكية.
لكي تعمل ميزات حزمة تعلّم الآلة في وحدة الميزات عند الطلب، يجب تضمين تبعية مكتبة دعم الميزات الديناميكية في Play Store الخاصة بحزمة تعلّم الآلة في ملف build.gradle لحزمة APK الأساسية.
dependencies { // ... implementation 'com.google.mlkit:playstore-dynamic-feature-support:16.0.0-beta2' }
ويؤدي ذلك إلى منع المستخدمين من تنزيل نماذج تعلُّم الآلة الخاصة بتطبيقك بدون داعٍ، والتي يمكن أن تكون كبيرة الحجم.
خيارات متقدّمة: استبعاد ملفات حزمة تعلّم الآلة الثنائية غير المستخدَمة
تم تصميم حزمة تعلّم الآلة ليتوافق مع بنية 32 بت و64 بت. إذا كان تطبيقك يتوافق مع وضع 32 بت فقط، مثلاً لأنّك تستخدم مكتبة توفّر فقط برامج ثنائية 32 بت، يمكنك استبعاد مكتبات حزمة تعلّم الآلة غير المستخدَمة من الإصدار على النحو التالي:
android { defaultConfig { ndk { // Don't package arm64-v8a or x86_64 abiFilters 'armeabi-v7a', 'x86' } } }