অ্যান্ড্রয়েড অ্যাপ বান্ডেল সম্পর্কে

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

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

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

যখন আপনি আপনার অ্যাপ প্রকাশ করার জন্য অ্যাপ বান্ডেল ফরম্যাট ব্যবহার করেন, তখন আপনি ঐচ্ছিকভাবে প্লে ফিচার ডেলিভারি (Play Feature Delivery) -এর সুবিধাও নিতে পারেন, যা আপনাকে আপনার অ্যাপ প্রজেক্টে ফিচার মডিউল যোগ করার সুযোগ দেয়। এই মডিউলগুলিতে এমন সব ফিচার এবং রিসোর্স থাকে যা শুধুমাত্র আপনার নির্দিষ্ট করা শর্তের উপর ভিত্তি করে আপনার অ্যাপের সাথে অন্তর্ভুক্ত হয়, অথবা প্লে কোর লাইব্রেরি (Play Core Library) ব্যবহার করে রানটাইমে পরে ডাউনলোডের জন্য উপলব্ধ হয়।

যেসব গেম ডেভেলপার অ্যাপ বান্ডেলের সাথে তাদের অ্যাপ প্রকাশ করেন, তারা প্লে অ্যাসেট ডেলিভারি ব্যবহার করতে পারেন। এটি গুগল প্লে-র একটি সমাধান, যা বিপুল পরিমাণ গেম অ্যাসেট সরবরাহ করার পাশাপাশি ডেভেলপারদের নমনীয় ডেলিভারি পদ্ধতি এবং উচ্চ কর্মক্ষমতা প্রদান করে।

অ্যান্ড্রয়েড অ্যাপ বান্ডেল ব্যবহার করে কেন আপনার অ্যাপ প্রকাশ করা উচিত, সে সম্পর্কে একটি সার্বিক ধারণা পেতে নিম্নলিখিত ভিডিওটি দেখুন।

সংকুচিত ডাউনলোড আকারের সীমাবদ্ধতা

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

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

মনে রাখবেন, অ্যান্ড্রয়েড অ্যাপ বান্ডেল APK এক্সপ্যানশন ( *.obb ) ফাইল সাপোর্ট করে না । তাই, আপনার অ্যাপ বান্ডেল পাবলিশ করার সময় যদি এই এররটি দেখা দেয়, তাহলে কম্প্রেসড APK ডাউনলোডের সাইজ কমানোর জন্য নিচের রিসোর্সগুলোর মধ্যে যেকোনো একটি ব্যবহার করুন:

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

অন্যান্য বিবেচ্য বিষয়

অ্যান্ড্রয়েড অ্যাপ বান্ডেল ব্যবহার করে আপনার অ্যাপ বিল্ড বা সার্ভ করার সময় নিম্নলিখিত সমস্যাগুলো জানা যায়। এখানে ইতিমধ্যে বর্ণিত নয় এমন কোনো সমস্যার সম্মুখীন হলে, একটি বাগ রিপোর্ট করুন

  • সাইডলোড করা অ্যাপের আংশিক ইনস্টল—অর্থাৎ, যে অ্যাপগুলো গুগল প্লে স্টোর ব্যবহার করে ইনস্টল করা হয় না এবং যেগুলোতে এক বা একাধিক প্রয়োজনীয় স্প্লিট এপিকে অনুপস্থিত থাকে—সমস্ত গুগল-সার্টিফাইড ডিভাইস এবং অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯) বা তার উচ্চতর সংস্করণে চালিত ডিভাইসগুলোতে ব্যর্থ হয়। গুগল প্লে স্টোরের মাধ্যমে আপনার অ্যাপ ডাউনলোড করার সময়, গুগল নিশ্চিত করে যে অ্যাপটির সমস্ত প্রয়োজনীয় উপাদান ইনস্টল হয়েছে।
  • আপনি যদি এমন টুল ব্যবহার করেন যা রিসোর্স টেবিলকে গতিশীলভাবে পরিবর্তন করে, তাহলে অ্যাপ বান্ডেল থেকে তৈরি হওয়া APK ফাইলগুলো অপ্রত্যাশিতভাবে আচরণ করতে পারে। তাই, অ্যাপ বান্ডেল তৈরি করার সময় এই ধরনের টুলগুলো নিষ্ক্রিয় রাখার পরামর্শ দেওয়া হয়।

  • একটি ফিচার মডিউলের বিল্ড কনফিগারেশনে এমন প্রোপার্টি সেট করা সম্ভব, যা বেস (বা অন্য) মডিউলের প্রোপার্টির সাথে সাংঘর্ষিক হতে পারে। উদাহরণস্বরূপ, আপনি বেস মডিউলে buildTypes.release.debuggable = true সেট করতে পারেন এবং একটি ফিচার মডিউলে এটিকে ` false সেট করতে পারেন। এই ধরনের সংঘাত বিল্ড এবং রানটাইম সমস্যা সৃষ্টি করতে পারে। মনে রাখবেন, ডিফল্টভাবে, ফিচার মডিউলগুলো বেস মডিউল থেকে কিছু বিল্ড কনফিগারেশন গ্রহণ করে। তাই, আপনার ফিচার মডিউলের বিল্ড কনফিগারেশনে কোন কনফিগারেশনগুলো রাখা উচিত এবং কোনগুলো বাদ দেওয়া উচিত, তা ভালোভাবে বুঝে নিন।

অতিরিক্ত সম্পদ

অ্যান্ড্রয়েড অ্যাপ বান্ডেল সম্পর্কে আরও জানতে নিম্নলিখিত উৎসগুলো দেখুন।

ব্লগ পোস্ট

ভিডিও