उपयोगकर्ता के डिवाइस पर मौजूद ML Kit मॉडल का इस्तेमाल करने वाले ऐप्लिकेशन को प्रोडक्शन में डिप्लॉय करने से पहले, इस पेज पर दी गई सलाह को अपनाएं. इससे आपके ऐप्लिकेशन का डाउनलोड साइज़ कम हो जाएगा.
अपने ऐप्लिकेशन को Android ऐप्लिकेशन बंडल के तौर पर बनाना
अपने ऐप्लिकेशन को Android ऐप्लिकेशन बंडल के तौर पर बनाएं और डिप्लॉय करें, ताकि Google Play, स्क्रीन डेंसिटी, सीपीयू आर्किटेक्चर, और भाषाओं के हिसाब से APK अपने-आप जनरेट कर सके. उपयोगकर्ताओं को सिर्फ़ वे APK डाउनलोड करने होंगे जो उनके डिवाइस कॉन्फ़िगरेशन से मेल खाते हों. सबसे ज़रूरी बात यह है कि उपयोगकर्ता सिर्फ़ वे नेटिव कोड लाइब्रेरी डाउनलोड करते हैं जो उनके डिवाइस के आर्किटेक्चर से मेल खाती हैं.
ऐडवांस: मशीन लर्निंग की वैकल्पिक सुविधाओं को डाइनैमिक फ़ीचर मॉड्यूल में ले जाना
अगर आपने अपने ऐप्लिकेशन की किसी ऐसी सुविधा में ML Kit का इस्तेमाल किया है जो उसका मुख्य मकसद नहीं है, तो अपने ऐप्लिकेशन को रीफ़ैक्टर करने के बारे में सोचें. इससे उस सुविधा और ML Kit पर उसकी डिपेंडेंसी को डाइनैमिक फ़ीचर मॉड्यूल में ले जाया जा सकेगा.
मांग पर उपलब्ध फ़ीचर मॉड्यूल में ML Kit की सुविधाएं काम करें, इसके लिए अपने बेस APK की build.gradle फ़ाइल में, ML Kit की Play Store डाइनैमिक फ़ीचर सपोर्ट लाइब्रेरी डिपेंडेंसी शामिल करें.
dependencies { // ... implementation 'com.google.mlkit:playstore-dynamic-feature-support:16.0.0-beta2' }
ऐसा करने से, उपयोगकर्ताओं को आपके ऐप्लिकेशन के एमएल मॉडल को बेवजह डाउनलोड करने से रोका जा सकता है. ये मॉडल बड़े हो सकते हैं.
बेहतर सेटिंग: इस्तेमाल न की गई ML Kit बाइनरी को बाहर रखना
ML Kit को 32-बिट और 64-बिट, दोनों आर्किटेक्चर के साथ काम करने के लिए बनाया गया है. अगर आपका ऐप्लिकेशन सिर्फ़ 32-बिट मोड के साथ काम करता है, तो अपने बिल्ड से इस्तेमाल न की गई ML Kit लाइब्रेरी को बाहर रखा जा सकता है. उदाहरण के लिए, ऐसा तब किया जा सकता है, जब ऐसी लाइब्रेरी का इस्तेमाल किया जा रहा हो जो सिर्फ़ 32-बिट बाइनरी उपलब्ध कराती हो:
android { defaultConfig { ndk { // Don't package arm64-v8a or x86_64 abiFilters 'armeabi-v7a', 'x86' } } }