ইন্সটল-টাইম ডেলিভারি কনফিগার করুন

বৈশিষ্ট্য মডিউলগুলি আপনাকে আপনার অ্যাপের বেস মডিউল থেকে নির্দিষ্ট বৈশিষ্ট্য এবং সংস্থানগুলিকে আলাদা করতে এবং সেগুলিকে আপনার অ্যাপ বান্ডেলে অন্তর্ভুক্ত করতে দেয়। তারপরে Android 5.0 (API স্তর 21) বা উচ্চতর ডিভাইসগুলি কখন এবং কীভাবে আপনার অ্যাপের বৈশিষ্ট্যগুলি ডাউনলোড করবে তা নিয়ন্ত্রণ করতে আপনি বিতরণ বিকল্পগুলি কাস্টমাইজ করতে পারেন৷

মনে রাখবেন, এই ধরনের মডুলারাইজেশনের জন্য আরও বেশি প্রচেষ্টার প্রয়োজন এবং সম্ভবত আপনার অ্যাপের বিদ্যমান কোড রিফ্যাক্টর করা প্রয়োজন, তাই সাবধানে বিবেচনা করুন যে আপনার অ্যাপের বৈশিষ্ট্যগুলির মধ্যে কোনটি চাহিদা অনুযায়ী ব্যবহারকারীদের কাছে উপলব্ধ থেকে সবচেয়ে বেশি উপকৃত হবে।

আপনি যদি সময়ের সাথে সাথে অ্যাপের বৈশিষ্ট্যগুলিকে ধীরে ধীরে মডুলারাইজ করতে চান, আপনার অ্যাপের আচরণ পরিবর্তন না করে বা উন্নত ডেলিভারি বিকল্পগুলি কাস্টমাইজ না করে, আপনি ইনস্টল-টাইম ডেলিভারির জন্য কনফিগার করা বৈশিষ্ট্য মডিউল তৈরি করে তা করতে পারেন। অর্থাৎ, আপনি একটি বৈশিষ্ট্যকে একটি বৈশিষ্ট্য মডিউল হিসাবে মডুলারাইজ করতে পারেন, তবে উন্নত বিকল্পগুলি সক্ষম করতে পারবেন না যাতে কোনও ব্যবহারকারী আপনার অ্যাপ ইনস্টল করলে বৈশিষ্ট্যটি উপলব্ধ থাকে৷

অতিরিক্তভাবে, ইনস্টল-টাইম ডেলিভারির জন্য কনফিগার করা বৈশিষ্ট্য মডিউলগুলির আর প্রয়োজন না হলে পরে আনইনস্টল করার বিকল্প রয়েছে। এর জন্য, তাদের অপসারণযোগ্য হিসাবে সেট আপ করতে হবে।

এই বিভাগটি বর্ণনা করে কিভাবে ইনস্টল-টাইম ডেলিভারির জন্য একটি বৈশিষ্ট্য মডিউল তৈরি করতে হয়। আপনি শুরু করার আগে, নিশ্চিত হয়ে নিন যে আপনি Android Studio 3.5 বা উচ্চতর এবং Android Gradle Plugin 3.5.0 বা উচ্চতর ব্যবহার করছেন৷

ইনস্টল-টাইম ডেলিভারির জন্য একটি নতুন মডিউল কনফিগার করুন

একটি নতুন বৈশিষ্ট্য মডিউল তৈরি করার সবচেয়ে সহজ উপায় হল Android স্টুডিও 3.5 বা উচ্চতর ব্যবহার করে৷ কারণ বৈশিষ্ট্য মডিউলগুলির বেস অ্যাপ মডিউলের উপর অন্তর্নিহিত নির্ভরতা রয়েছে, আপনি সেগুলিকে শুধুমাত্র বিদ্যমান অ্যাপ প্রকল্পগুলিতে যোগ করতে পারেন।

অ্যান্ড্রয়েড স্টুডিও ব্যবহার করে আপনার অ্যাপ প্রজেক্টে একটি ফিচার মডিউল যোগ করতে, নিচের মত এগিয়ে যান:

  1. আপনি যদি ইতিমধ্যে এটি না করে থাকেন তবে IDE-তে আপনার অ্যাপ প্রকল্পটি খুলুন।
  2. মেনু বার থেকে ফাইল > নতুন > নতুন মডিউল নির্বাচন করুন।
  3. নতুন মডিউল তৈরি করুন ডায়ালগে, ডায়নামিক বৈশিষ্ট্য মডিউল নির্বাচন করুন এবং পরবর্তী ক্লিক করুন।
  4. আপনার নতুন মডিউল কনফিগার করুন বিভাগে, নিম্নলিখিতগুলি সম্পূর্ণ করুন:
    1. ড্রপডাউন মেনু থেকে আপনার অ্যাপ প্রকল্পের জন্য বেস অ্যাপ্লিকেশন মডিউল নির্বাচন করুন।
    2. একটি মডিউল নাম উল্লেখ করুন। IDE এই নামটি ব্যবহার করে আপনার Gradle সেটিংস ফাইলে একটি Gradle সাবপ্রজেক্ট হিসেবে মডিউলটিকে চিহ্নিত করতে। আপনি যখন আপনার অ্যাপ বান্ডেল তৈরি করেন, তখন বৈশিষ্ট্য মডিউলের ম্যানিফেস্টে <manifest split> অ্যাট্রিবিউট ইনজেক্ট করতে গ্র্যাডল সাবপ্রজেক্ট নামের শেষ উপাদানটি ব্যবহার করে।
    3. মডিউলটির প্যাকেজের নাম উল্লেখ করুন। ডিফল্টরূপে, অ্যান্ড্রয়েড স্টুডিও একটি প্যাকেজের নাম প্রস্তাব করে যা বেস মডিউলের রুট প্যাকেজ নাম এবং আগের ধাপে আপনার নির্দিষ্ট করা মডিউল নামকে একত্রিত করে।
    4. আপনি মডিউলটি সমর্থন করতে চান এমন ন্যূনতম API স্তরটি নির্বাচন করুন৷ এই মানটি বেস মডিউলের সাথে মিলিত হওয়া উচিত।
  5. পরবর্তী ক্লিক করুন.
  6. মডিউল ডাউনলোড বিকল্প বিভাগে, নিম্নলিখিতটি সম্পূর্ণ করুন:

    1. 50 অক্ষর পর্যন্ত ব্যবহার করে মডিউল শিরোনাম নির্দিষ্ট করুন। আপনার অ্যাপের বেস মডিউলে অবশ্যই মডিউল শিরোনামটিকে একটি স্ট্রিং রিসোর্স হিসেবে অন্তর্ভুক্ত করতে হবে, যা আপনি অনুবাদ করতে পারেন। অ্যান্ড্রয়েড স্টুডিও ব্যবহার করে মডিউল তৈরি করার সময়, IDE আপনার জন্য বেস মডিউলে স্ট্রিং রিসোর্স যোগ করে এবং ফিচার মডিউলের ম্যানিফেস্টে নিম্নলিখিত এন্ট্রি ইনজেক্ট করে:

      <dist:module
          ...
          dist:title="@string/feature_title">
      </dist:module>
      
    2. ইনস্টল-টাইম অন্তর্ভুক্তির অধীনে ড্রপডাউন মেনুতে, ইনস্টল-টাইমে মডিউল অন্তর্ভুক্ত করুন নির্বাচন করুন। অ্যান্ড্রয়েড স্টুডিও আপনার পছন্দকে প্রতিফলিত করতে মডিউলের ম্যানিফেস্টে নিম্নলিখিতগুলি ইনজেক্ট করে:

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

      আপনি যদি অ্যাপ ইনস্টল করার পরে ডাউনলোড করতে পারেন এমন একটি বৈশিষ্ট্য মডিউল কীভাবে তৈরি করবেন তা শিখতে চাইলে, চাহিদার ভিত্তিতে বিতরণ কনফিগার পড়ুন।

    3. আপনি যদি চান যে এই মডিউলটি Android 4.4 (API লেভেল 20) এবং তার নিচের এবং মাল্টি-APK-তে অন্তর্ভুক্ত ডিভাইসগুলিতে উপলব্ধ হতে চান তাহলে Fusing- এর পাশের বাক্সটি চেক করুন৷ এর মানে আপনি এমন ডিভাইস থেকে এটি বাদ দিতে পারেন যেগুলি স্প্লিট APK ডাউনলোড এবং ইনস্টল করা সমর্থন করে না। অ্যান্ড্রয়েড স্টুডিও আপনার পছন্দকে প্রতিফলিত করতে মডিউলের ম্যানিফেস্টে নিম্নলিখিতগুলি ইনজেক্ট করে:

      <dist:module ...>
          <dist:fusing dist:include="true | false" />
      </dist:module>
      
  7. শেষ ক্লিক করুন.

অ্যান্ড্রয়েড স্টুডিও আপনার মডিউল তৈরি করা শেষ করার পরে, প্রকল্প ফলক থেকে নিজেই এর বিষয়বস্তু পরীক্ষা করুন (মেনু বার থেকে দেখুন > টুল উইন্ডোজ > প্রকল্প নির্বাচন করুন)। ডিফল্ট কোড, সংস্থান এবং সংস্থাটি মানক অ্যাপ মডিউলের মতো হওয়া উচিত।

একটি ইনস্টল-টাইম মডিউল অপসারণযোগ্য করুন

এটি ইনস্টল-টাইম ডেলিভারির জন্য বৈশিষ্ট্য মডিউল তৈরি করা উপযোগী হতে পারে যা পরে আর প্রয়োজন না হলে আনইনস্টল করার বিকল্প রয়েছে। উদাহরণস্বরূপ, আপনার অ্যাপের ইনস্টল করা আকার কমাতে, আপনি প্রশিক্ষণ বা অনবোর্ডিংয়ের জন্য প্রয়োজনীয় সামগ্রী মডুলারাইজ করতে পারেন এবং তারপর ব্যবহারকারী আপনার অ্যাপ ব্যবহার করার জন্য সেট আপ করার পরে প্লে কোর API ব্যবহার করে বৈশিষ্ট্য মডিউলটি আনইনস্টল করতে পারেন

ইনস্টল-টাইম মডিউলগুলি ডিফল্টরূপে অপসারণযোগ্য নয়। একটি মডিউলকে অপসারণযোগ্য হিসাবে চিহ্নিত করতে এবং এটিকে আনইনস্টল করার অনুমতি দিতে, removable ট্যাগ যোগ করুন এবং এর মান true সেট করুন:

<dist:module ... >
  <dist:delivery>
      <dist:install-time>
          <dist:removable dist:value="true"/>
      </dist:install-time>
  </dist:delivery>
</dist:module>