अगर आपको 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' } } }