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