झटपट डिलीवरी कॉन्फ़िगर करना

Google Play इंस्टैंट की मदद से, उपयोगकर्ता अपने डिवाइस पर APK इंस्टॉल किए बिना, आपके ऐप्लिकेशन का इस्तेमाल कर सकते हैं. इसके बजाय, वे Google Play Store पर "अभी आज़माएं" बटन या आपके बनाए गए यूआरएल की मदद से, आपके ऐप्लिकेशन को आज़मा सकते हैं. कॉन्टेंट डिलीवर करने के इस तरीके से, ऐप्लिकेशन में यूज़र ऐक्टिविटी बढ़ाना आसान हो जाता है.

किसी सुविधा को झटपट चालू करने की सुविधा सिर्फ़ तब चालू की जा सकती है, जब आपके ऐप्लिकेशन के बेस मॉड्यूल को भी झटपट चालू करने की सुविधा चालू हो. ऐसा इसलिए, क्योंकि अगर किसी उपयोगकर्ता को आपके ऐप्लिकेशन के झटपट खुलने वाले फ़ीचर मॉड्यूल में से किसी एक का इस्तेमाल करना है, तो उसके डिवाइस को आपके ऐप्लिकेशन के बेस मॉड्यूल को भी डाउनलोड करना होगा. इससे, सामान्य कोड और संसाधनों को ऐक्सेस किया जा सकेगा. ध्यान रखें कि Google Play इंस्टैंट की सुविधा देने के लिए, आपके बेस मॉड्यूल और सुविधा को डाउनलोड करने के लिए कई शर्तें पूरी करनी होंगी:

अगर आपने Android Studio 3.5 या इसके बाद के वर्शन का इस्तेमाल करके, झटपट खुलने वाला फ़ीचर मॉड्यूल बनाया है, तो IDE आपके लिए, बेस और फ़ीचर मॉड्यूल, दोनों को अपने-आप झटपट खुलने वाला बना देता है. इसके लिए, हर मॉड्यूल के मेनिफ़ेस्ट में यह शामिल किया जाता है:

<manifest xmlns:dist="http://schemas.android.com/apk/distribution"
    ... >
    <dist:module dist:instant="true" />
    ...

इसके अलावा, आपका ऐप्लिकेशन डाउनलोड और इंस्टॉल करते समय, झटपट खुलने वाले फ़ीचर मॉड्यूल, आपके ऐप्लिकेशन के बेस APK के साथ अपने-आप डाउनलोड और इंस्टॉल हो जाते हैं. इसलिए, IDE झटपट खुलने वाले फ़ीचर मॉड्यूल में, इन चीज़ों को भी शामिल करता है.

    <dist:module ...>
        <dist:delivery>
            <dist:install-time />
        </dist:delivery>
    </dist:module>

इसका मतलब है कि dist:instant="true" सेट करने पर, <dist:on-demand /> को शामिल नहीं किया जा सकता. हालांकि, Play Feature Delivery लाइब्रेरी का इस्तेमाल करके, झटपट इस्तेमाल की सुविधा देने वाले ऐप्लिकेशन में, झटपट खुलने वाले मॉड्यूल का अनुरोध किया जा सकता है.

तुरंत डिलीवरी के लिए नया मॉड्यूल कॉन्फ़िगर करना

Android Studio का इस्तेमाल करके, अपने ऐप्लिकेशन प्रोजेक्ट में झटपट खुलने वाला फ़ीचर मॉड्यूल जोड़ने के लिए, यह तरीका अपनाएं:

  1. अगर आपने अब तक ऐसा नहीं किया है, तो IDE में अपना ऐप्लिकेशन प्रोजेक्ट खोलें.
  2. मेन्यू बार में जाकर, File > New > New Module को चुनें.
  3. नया मॉड्यूल बनाएं डायलॉग बॉक्स में, इंस्टैंट डाइनैमिक फ़ीचर मॉड्यूल चुनें और आगे बढ़ें पर क्लिक करें.
  4. Configure your new module सेक्शन में जाकर, यह काम करें:

    1. ड्रॉप-डाउन मेन्यू से, अपने ऐप्लिकेशन प्रोजेक्ट के लिए बेस ऐप्लिकेशन मॉड्यूल चुनें.
    2. मॉड्यूल का नाम डालें. IDE इस नाम का इस्तेमाल, आपकी Gradle सेटिंग फ़ाइल में मॉड्यूल को Gradle सबप्रोजेक्ट के तौर पर पहचानने के लिए करता है. ऐप्लिकेशन बंडल बनाते समय, Gradle सबप्रोजेक्ट के नाम के आखिरी एलिमेंट का इस्तेमाल करके, फ़ीचर मॉड्यूल के मेनिफ़ेस्ट में <manifest split> एट्रिब्यूट को इंजेक्ट करता है.
    3. मॉड्यूल के पैकेज का नाम डालें. डिफ़ॉल्ट रूप से, Android Studio एक पैकेज नाम का सुझाव देता है. यह नाम, बेस मॉड्यूल के रूट पैकेज नाम और पिछले चरण में बताए गए मॉड्यूल के नाम को मिलाकर बनता है.
    4. वह कम से कम एपीआई लेवल चुनें जिस पर मॉड्यूल काम करेगा. यह वैल्यू, बेस मॉड्यूल की वैल्यू से मैच होनी चाहिए.
    5. मॉड्यूल का टाइटल डालें. इसमें ज़्यादा से ज़्यादा 50 वर्ण होने चाहिए. प्लैटफ़ॉर्म इस टाइटल का इस्तेमाल, उपयोगकर्ताओं को मॉड्यूल की पहचान कराने के लिए करता है. इस वजह से, आपके ऐप्लिकेशन के बेस मॉड्यूल में, मॉड्यूल का टाइटल स्ट्रिंग रिसॉर्स के तौर पर शामिल होना चाहिए. इसे अनुवाद किया जा सकता है. Android Studio का इस्तेमाल करके मॉड्यूल बनाते समय, IDE आपके लिए बेस मॉड्यूल में स्ट्रिंग रिसॉर्स जोड़ता है. साथ ही, फ़ीचर मॉड्यूल के मेनिफ़ेस्ट में यह एंट्री इंजेक्ट करता है:

      <dist:module
          ...
          dist:title="@string/feature_title">
      </dist:module>
      
    6. अगर आपको इस मॉड्यूल को Android 4.4 (एपीआई लेवल 20) और इससे पहले के वर्शन वाले डिवाइसों के लिए उपलब्ध कराना है, तो फ़्यूज़िंग के बगल में मौजूद बॉक्स को चुनें. साथ ही, इसे मल्टी-APK में शामिल करें. Android Studio, मॉड्यूल के मेनिफ़ेस्ट में नीचे दी गई जानकारी इंजेक्ट करता है, ताकि आपकी पसंद के मुताबिक बदलाव किया जा सके.

      <dist:module>
          <dist:fusing dist:include="true" />
      </dist:module>
      
  5. पूरा करें पर क्लिक करें.

Android Studio में मॉड्यूल बनाने के बाद, प्रोजेक्ट पैनल में जाकर, मॉड्यूल के कॉन्टेंट की जांच करें. इसके लिए, मेन्यू बार में जाकर, देखें > टूल विंडो > प्रोजेक्ट को चुनें. डिफ़ॉल्ट कोड, संसाधन, और संगठन, स्टैंडर्ड ऐप्लिकेशन मॉड्यूल से मिलते-जुलते होने चाहिए.

मांग पर डाउनलोड की जाने वाली सुविधा को लागू करने के बाद, Play Feature Delivery लाइब्रेरी का इस्तेमाल करके, इसके लिए अनुरोध करने का तरीका जानें.

अपना ऐप्लिकेशन डिप्लॉय करना

फ़ीचर मॉड्यूल के साथ ऐप्लिकेशन डेवलप करते समय, उसे कनेक्ट किए गए डिवाइस पर डिप्लॉय किया जा सकता है. इसके लिए, मेन्यू बार में जाकर Run > Run को चुनें या टूलबार में जाकर Run पर क्लिक करें.

अगर आपके ऐप्लिकेशन प्रोजेक्ट में एक या उससे ज़्यादा फ़ीचर मॉड्यूल शामिल हैं, तो ऐप्लिकेशन को डिप्लॉय करते समय यह चुना जा सकता है कि कौनसी सुविधाएं शामिल करनी हैं. इसके लिए, आपको अपने मौजूदा रन/डीबग कॉन्फ़िगरेशन में इस तरह बदलाव करना होगा:

  1. मेन्यू बार में जाकर, Run > Edit Configurations को चुनें.
  2. रन/डीबग कॉन्फ़िगरेशन डायलॉग बॉक्स के बाएं पैनल से, अपनी पसंद का Android ऐप्लिकेशन कॉन्फ़िगरेशन चुनें.
  3. सामान्य टैब में, डिप्लॉय करने के लिए डाइनैमिक सुविधाएं सेक्शन पर जाएं. इसके बाद, हर उस फ़ीचर मॉड्यूल के बगल में मौजूद बॉक्स को चुनें जिसे आपको ऐप्लिकेशन डिप्लॉय करते समय शामिल करना है.
  4. ठीक है पर क्लिक करें.

डिफ़ॉल्ट रूप से, Android Studio आपके झटपट खुलने वाले मॉड्यूल को झटपट इस्तेमाल की सुविधा देने वाले ऐप्लिकेशन के तौर पर डिप्लॉय नहीं करता. इसके अलावा, यह आपके ऐप्लिकेशन को डिप्लॉय करने के लिए, ऐप्लिकेशन बंडल का इस्तेमाल भी नहीं करता. इसके बजाय, IDE आपके डिवाइस पर APK बनाता और इंस्टॉल करता है. ये APK, APK के साइज़ के बजाय डिप्लॉयमेंट की स्पीड के लिए ऑप्टिमाइज़ किए जाते हैं. Android Studio को कॉन्फ़िगर करें, ताकि वह ऐप्लिकेशन बंडल से APK और झटपट इस्तेमाल की सुविधा देने वाले ऐप्लिकेशन बना सके और उन्हें डिप्लॉय कर सके. इसके लिए, रन/डीबग कॉन्फ़िगरेशन में बदलाव करें.