যখন কোনও ব্যবহারকারী Google Play-তে অ্যাপ ডাউনলোড করার জন্য অনুসন্ধান করে বা ব্রাউজ করে, তখন কোন অ্যাপগুলি ডিভাইসের সাথে সামঞ্জস্যপূর্ণ তার উপর ভিত্তি করে ফলাফলগুলি ফিল্টার করা হয়। উদাহরণস্বরূপ, যদি একটি অ্যাপের জন্য একটি ক্যামেরার প্রয়োজন হয়, তাহলে Google Play অ্যাপটিকে এমন ডিভাইসে দেখাবে না যেগুলির ক্যামেরা নেই। এই ফিল্টারিং ডেভেলপারদের তাদের অ্যাপ্লিকেশানগুলির বিতরণ পরিচালনা করতে সহায়তা করে এবং ব্যবহারকারীদের জন্য সর্বোত্তম সম্ভাব্য অভিজ্ঞতা নিশ্চিত করতে সহায়তা করে৷
Google Play-তে ফিল্টার করা বিভিন্ন ধরনের অ্যাপ মেটাডেটা এবং কনফিগারেশন সেটিংসের উপর ভিত্তি করে তৈরি করা হয়, যার মধ্যে রয়েছে ম্যানিফেস্ট ঘোষণা, প্রয়োজনীয় লাইব্রেরি, আর্কিটেকচার নির্ভরতা এবং Google Play Console-এ সেট করা ডিস্ট্রিবিউশন কন্ট্রোল, যেমন ভৌগলিক টার্গেটিং, মূল্য নির্ধারণ এবং আরও অনেক কিছু।
Google Play ফিল্টারিং আংশিকভাবে ম্যানিফেস্ট ঘোষণা এবং অ্যান্ড্রয়েড ফ্রেমওয়ার্কের অন্যান্য দিকগুলির উপর ভিত্তি করে, তবে প্রকৃত ফিল্টারিং আচরণগুলি ফ্রেমওয়ার্ক থেকে আলাদা এবং নির্দিষ্ট API স্তরে আবদ্ধ নয়। এই নথিটি Google Play দ্বারা ব্যবহৃত বর্তমান ফিল্টারিং নিয়মগুলি নির্দিষ্ট করে৷
কিভাবে ফিল্টার Google Play এ কাজ করে
যে ব্যবহারকারী Google Play অ্যাপ থেকে অ্যাপ্লিকেশনগুলি ব্রাউজ করছেন বা অনুসন্ধান করছেন তাদের কাছে আপনার অ্যাপ্লিকেশন দেখাবেন কিনা তা নির্ধারণ করতে Google Play নীচে বর্ণিত ফিল্টার সীমাবদ্ধতাগুলি ব্যবহার করে৷
আপনার অ্যাপ প্রদর্শন করা হবে কিনা তা নির্ধারণ করার সময়, Google Play ডিভাইসের হার্ডওয়্যার এবং সফ্টওয়্যার প্রয়োজনীয়তা, সেইসাথে এর ক্যারিয়ার, অবস্থান এবং অন্যান্য বৈশিষ্ট্যগুলি পরীক্ষা করে৷ এটি তারপরে অ্যাপ্লিকেশনের ম্যানিফেস্ট ফাইল এবং প্রকাশের বিবরণ দ্বারা প্রকাশ করা বিধিনিষেধ এবং নির্ভরতার সাথে তুলনা করে।
ফিল্টারের নিয়ম অনুযায়ী অ্যাপ্লিকেশনটি ডিভাইসের সাথে সামঞ্জস্যপূর্ণ হলে, Google Play ব্যবহারকারীর কাছে অ্যাপ্লিকেশনটি প্রদর্শন করে। অন্যথায়, Google Play আপনার অ্যাপ্লিকেশনটি অনুসন্ধান ফলাফল এবং বিভাগ ব্রাউজিং থেকে লুকিয়ে রাখে, এমনকি যদি কোনো ব্যবহারকারী বিশেষভাবে Google Play-এর মধ্যে অ্যাপের আইডিতে সরাসরি নির্দেশ করে এমন একটি গভীর লিঙ্কে ক্লিক করে অ্যাপটির জন্য অনুরোধ করেন।
আপনি আপনার অ্যাপের জন্য উপলব্ধ ফিল্টারগুলির যেকোনো সমন্বয় ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি "4"
এর একটি minSdkVersion
প্রয়োজনীয়তা সেট করতে পারেন এবং অ্যাপটিতে smallScreens="false"
সেট করতে পারেন, তারপর Google Play-এ অ্যাপটি আপলোড করার সময় আপনি শুধুমাত্র ইউরোপীয় দেশগুলিকে (ক্যারিয়ার) টার্গেট করতে পারেন৷ Google Play এর ফিল্টারগুলি এইভাবে এই তিনটি প্রয়োজনীয়তার সাথে মেলে না এমন যেকোনো ডিভাইসে অ্যাপ্লিকেশনটিকে উপলব্ধ হতে বাধা দেবে৷
সমস্ত ফিল্টারিং সীমাবদ্ধতা একটি অ্যাপ্লিকেশনের সংস্করণের সাথে যুক্ত এবং সংস্করণগুলির মধ্যে পরিবর্তন হতে পারে৷ উদাহরণস্বরূপ, যদি একজন ব্যবহারকারী আপনার অ্যাপ্লিকেশনটি ইনস্টল করে থাকেন এবং আপনি এমন একটি আপডেট প্রকাশ করেন যা অ্যাপটিকে ব্যবহারকারীর কাছে অদৃশ্য করে তোলে, ব্যবহারকারী দেখতে পাবেন না যে একটি আপডেট উপলব্ধ।
গুগল প্লে ওয়েব সাইটে ফিল্টারিং
ব্যবহারকারীরা যখন Google Play ওয়েব সাইট ব্রাউজ করেন, তারা সমস্ত প্রকাশিত অ্যাপ্লিকেশন দেখতে পারেন৷ Google Play ওয়েব সাইটটি ব্যবহারকারীর প্রতিটি নিবন্ধিত ডিভাইসের সাথে সামঞ্জস্যের জন্য অ্যাপ্লিকেশন প্রয়োজনীয়তার তুলনা করে, এবং শুধুমাত্র তাদের ডিভাইসের সাথে সামঞ্জস্যপূর্ণ হলেই অ্যাপ্লিকেশনটি ইনস্টল করার অনুমতি দেয়৷
অ্যাপ ম্যানিফেস্টের উপর ভিত্তি করে ফিল্টারিং
বেশিরভাগ ফিল্টার একটি অ্যাপ্লিকেশনের ম্যানিফেস্ট ফাইল, AndroidManifest.xml- এর মধ্যে থাকা উপাদানগুলির দ্বারা ট্রিগার করা হয় (যদিও ম্যানিফেস্ট ফাইলের সমস্ত কিছুই ফিল্টারিং ট্রিগার করতে পারে না)৷ সারণী 1 ম্যানিফেস্ট উপাদানগুলির তালিকা করে যা আপনার ফিল্টারিং ট্রিগার করতে ব্যবহার করা উচিত এবং প্রতিটি উপাদানের জন্য ফিল্টারিং কীভাবে কাজ করে তা ব্যাখ্যা করে৷
ম্যানিফেস্ট এলিমেন্ট | ফিল্টারের নাম | কিভাবে এটা কাজ করে |
---|---|---|
<supports-screens> | পর্দার আকার | একটি অ্যাপ্লিকেশন স্ক্রীন মাপ নির্দেশ করে যে এটি একটি সাধারণ নিয়ম হিসাবে, Google Play অনুমান করে যে ডিভাইসের প্ল্যাটফর্মটি বড় স্ক্রিনে ছোট লেআউটগুলিকে মানিয়ে নিতে পারে, কিন্তু বড় লেআউটগুলিকে ছোট স্ক্রিনে মানিয়ে নিতে পারে না। এইভাবে, যদি একটি অ্যাপ্লিকেশন শুধুমাত্র "স্বাভাবিক" স্ক্রীন আকারের জন্য সমর্থন ঘোষণা করে, Google Play অ্যাপ্লিকেশনটিকে সাধারণ- এবং বড়-স্ক্রীন উভয় ডিভাইসেই উপলব্ধ করে, কিন্তু অ্যাপ্লিকেশনটিকে ফিল্টার করে যাতে এটি ছোট-স্ক্রীনের ডিভাইসগুলিতে উপলব্ধ না হয়। যদি কোনো অ্যাপ্লিকেশান
উদাহরণ 1 উদাহরণ 2 উদাহরণ 3 আপনার অ্যাপ্লিকেশানে স্ক্রিনের আকারের জন্য সমর্থন কীভাবে ঘোষণা করবেন সে সম্পর্কে আরও তথ্যের জন্য, |
<uses-configuration> | ডিভাইস কনফিগারেশন: কীবোর্ড, নেভিগেশন, টাচ স্ক্রিন | একটি অ্যাপ্লিকেশন নির্দিষ্ট হার্ডওয়্যার বৈশিষ্ট্যগুলির জন্য অনুরোধ করতে পারে এবং Google Play শুধুমাত্র প্রয়োজনীয় হার্ডওয়্যার রয়েছে এমন ডিভাইসগুলিতে অ্যাপটি দেখাবে৷ উদাহরণ 1 উদাহরণ 2 আরো বিস্তারিত জানার জন্য, |
<uses-feature> | ডিভাইস বৈশিষ্ট্য ( name ) | একটি অ্যাপ্লিকেশনের জন্য ডিভাইসে উপস্থিত থাকা নির্দিষ্ট ডিভাইস বৈশিষ্ট্যের প্রয়োজন হতে পারে। এই কার্যকারিতাটি Android 2.0 (API লেভেল 5) এ চালু করা হয়েছিল। উদাহরণ 1 উদাহরণ 2 সম্পূর্ণ তথ্যের জন্য, অন্তর্নিহিত বৈশিষ্ট্যের উপর ভিত্তি করে ফিল্টারিং: কিছু ক্ষেত্রে, Google Play |
OpenGL-ES সংস্করণ ( openGlEsVersion ) | একটি অ্যাপ্লিকেশনের প্রয়োজন হতে পারে যে ডিভাইসটি উদাহরণ 1 উদাহরণ 2 উদাহরণ 3 উদাহরণ 4 আরো বিস্তারিত জানার জন্য, | |
<uses-library> | সফটওয়্যার লাইব্রেরি | একটি অ্যাপ্লিকেশন ডিভাইসে উপস্থিত থাকার জন্য নির্দিষ্ট ভাগ করা লাইব্রেরি প্রয়োজন হতে পারে। উদাহরণ 1 উদাহরণ 2 আরো বিস্তারিত জানার জন্য, |
<uses-permission> | কঠোরভাবে, Google Play সাধারণভাবে, যদি কোনো অ্যাপ্লিকেশান হার্ডওয়্যার-সম্পর্কিত অনুমতির জন্য অনুরোধ করে, Google Play অনুমান করে যে অ্যাপ্লিকেশনটির অন্তর্নিহিত হার্ডওয়্যার বৈশিষ্ট্যগুলির প্রয়োজন, যদিও হার্ডওয়্যার বৈশিষ্ট্যগুলিকে বোঝায় এমন অনুমতিগুলির একটি তালিকার জন্য, | |
<uses-sdk> | ন্যূনতম ফ্রেমওয়ার্ক সংস্করণ ( minSdkVersion ) | একটি অ্যাপ্লিকেশনের জন্য ন্যূনতম API স্তরের প্রয়োজন হতে পারে। উদাহরণ 1 উদাহরণ 2 যেহেতু আপনি এই দ্বিতীয় দৃশ্যটি এড়াতে চান, তাই আমরা সুপারিশ করি যে আপনি সর্বদা একটি |
সর্বোচ্চ ফ্রেমওয়ার্ক সংস্করণ ( maxSdkVersion ) | অবচয়। Android 2.1 এবং পরবর্তীতে |
উন্নত ম্যানিফেস্ট ফিল্টার
সারণি 1- এর ম্যানিফেস্ট উপাদানগুলি ছাড়াও, Google Play এছাড়াও সারণী 2-এর উন্নত ম্যানিফেস্ট উপাদানগুলির উপর ভিত্তি করে অ্যাপ্লিকেশনগুলিকে ফিল্টার করতে পারে৷
এই ম্যানিফেস্ট উপাদান এবং তারা যে ফিল্টারিং ট্রিগার করে তা শুধুমাত্র ব্যতিক্রমী ব্যবহারের ক্ষেত্রে। এগুলি নির্দিষ্ট ধরণের উচ্চ-পারফরম্যান্স গেম এবং অনুরূপ অ্যাপ্লিকেশনগুলির জন্য ডিজাইন করা হয়েছে যার জন্য অ্যাপ্লিকেশন বিতরণে কঠোর নিয়ন্ত্রণ প্রয়োজন৷ অধিকাংশ অ্যাপ্লিকেশন এই ফিল্টার ব্যবহার করা উচিত নয় .
ম্যানিফেস্ট এলিমেন্ট | সারসংক্ষেপ |
---|---|
<compatible-screens> | ডিভাইসের স্ক্রীনের আকার এবং ঘনত্ব যদি সতর্কতা: সাধারণত, আপনার এই ম্যানিফেস্ট উপাদানটি ব্যবহার করা উচিত নয় । এই উপাদানটি ব্যবহার করে আপনার অ্যাপ্লিকেশানের সম্ভাব্য ব্যবহারকারীর ভিত্তি নাটকীয়ভাবে হ্রাস করতে পারে, স্ক্রীনের আকার এবং ঘনত্বের সমস্ত সমন্বয় বাদ দিয়ে যা আপনি তালিকাভুক্ত করেননি। বিকল্প সংস্থানগুলির সাথে আপনি যে স্ক্রিন কনফিগারেশনগুলির জন্য অ্যাকাউন্ট করেননি তার জন্য স্ক্রিন সামঞ্জস্য মোড সক্ষম করতে আপনার পরিবর্তে |
<supports-gl-texture> | Google Play অ্যাপ্লিকেশনটিকে ফিল্টার করে যদি না অ্যাপ্লিকেশন দ্বারা সমর্থিত এক বা একাধিক GL টেক্সচার কম্প্রেশন ফর্ম্যাটগুলিও ডিভাইস দ্বারা সমর্থিত হয়৷ |
অন্যান্য ফিল্টার
নিচের সারণীতে বর্ণিত একটি নির্দিষ্ট ব্যবহারকারীর জন্য একটি প্রদত্ত ডিভাইসে একটি অ্যাপ্লিকেশন দেখাতে বা লুকিয়ে রাখতে হবে কিনা তা নির্ধারণ করতে Google Play অন্যান্য অ্যাপ্লিকেশন বৈশিষ্ট্য ব্যবহার করে।
ফিল্টারের নাম | কিভাবে এটা কাজ করে |
---|---|
প্রকাশনার স্থিতি | শুধুমাত্র প্রকাশিত অ্যাপ্লিকেশানগুলি Google Play-এর মধ্যে অনুসন্ধান এবং ব্রাউজিংয়ে উপস্থিত হবে৷ এমনকি একটি অ্যাপ অপ্রকাশিত হলেও, ব্যবহারকারীরা তাদের কেনা, ইনস্টল করা বা সম্প্রতি আনইনস্টল করা অ্যাপগুলির মধ্যে তাদের ডাউনলোড এলাকায় এটি দেখতে পেলে এটি ইনস্টল করা যেতে পারে। যদি একটি অ্যাপ্লিকেশন স্থগিত করা হয়, ব্যবহারকারীরা এটি পুনরায় ইনস্টল বা আপডেট করতে সক্ষম হবে না, এমনকি যদি এটি তাদের ডাউনলোডগুলিতে প্রদর্শিত হয়। |
মূল্য স্থিতি | সমস্ত ব্যবহারকারী অর্থপ্রদানের অ্যাপ্লিকেশন দেখতে পারেন না। অর্থপ্রদানের অ্যাপগুলি দেখানোর জন্য, একটি ডিভাইস অবশ্যই Android 1.1 বা তার পরবর্তী সংস্করণে চলমান হতে হবে এবং এটি এমন একটি দেশে হতে হবে যেখানে অর্থপ্রদানের অ্যাপগুলি উপলব্ধ। যদি একটি ডিভাইসে একটি সিম কার্ড থাকে, তবে অর্থ প্রদানকারী অ্যাপগুলি উপলব্ধ কিনা তা সিম ক্যারিয়ার নির্ধারণ করে৷ যদি একটি ডিভাইসে একটি সিম কার্ড না থাকে, তাহলে ডিভাইসের আইপি ঠিকানাটি ডিভাইসটি এমন একটি দেশে আছে কিনা তা নির্ধারণ করতে ব্যবহার করা হয় যেখানে অর্থপ্রদানের অ্যাপগুলি উপলব্ধ। |
কান্ট্রি টার্গেটিং | আপনি যখন আপনার অ্যাপটি Google Play-তে আপলোড করেন, তখন আপনি মূল্য এবং বিতরণের অধীনে আপনার অ্যাপটি বিতরণ করার জন্য দেশগুলি নির্বাচন করতে পারেন। অ্যাপটি তখন শুধুমাত্র আপনার নির্বাচিত দেশগুলিতে ব্যবহারকারীদের জন্য উপলব্ধ হবে। |
CPU আর্কিটেকচার (ABI) | একটি অ্যাপ্লিকেশন যা নেটিভ লাইব্রেরিগুলি অন্তর্ভুক্ত করে যা একটি নির্দিষ্ট CPU আর্কিটেকচারকে লক্ষ্য করে (এআরএম ইএবিআই v7 বা x86, উদাহরণস্বরূপ) শুধুমাত্র সেই স্থাপত্যটিকে সমর্থন করে এমন ডিভাইসগুলিতে দৃশ্যমান। NDK এবং নেটিভ লাইব্রেরি ব্যবহার করার বিষয়ে বিস্তারিত জানার জন্য, দেখুন Android NDK কি? |
কপি-সুরক্ষিত অ্যাপ্লিকেশন | Google Play আর Play Console-এ কপি সুরক্ষা বৈশিষ্ট্য সমর্থন করে না এবং এর উপর ভিত্তি করে অ্যাপগুলিকে আর ফিল্টার করে না। আপনার অ্যাপ সুরক্ষিত করতে, অনুগ্রহ করে এর পরিবর্তে অ্যাপ্লিকেশন লাইসেন্সিং ব্যবহার করুন। আরও তথ্যের জন্য অনুলিপি সুরক্ষার জন্য প্রতিস্থাপন দেখুন। |
বিভিন্ন ফিল্টার সহ একাধিক APK প্রকাশ করা
কিছু নির্দিষ্ট Google Play ফিল্টার আপনাকে বিভিন্ন ডিভাইস কনফিগারেশনে একটি ভিন্ন APK প্রদান করার জন্য একই অ্যাপ্লিকেশনের জন্য একাধিক APK প্রকাশ করার অনুমতি দেয়। উদাহরণস্বরূপ, আপনি যদি এমন একটি ভিডিও গেম তৈরি করেন যা উচ্চ-বিশ্বস্ততা গ্রাফিক সম্পদ ব্যবহার করে, আপনি দুটি APK তৈরি করতে চাইতে পারেন যা প্রতিটি আলাদা টেক্সচার কম্প্রেশন ফর্ম্যাট সমর্থন করে। এইভাবে, আপনি প্রতিটি ডিভাইস কনফিগারেশনের জন্য প্রয়োজনীয় টেক্সচারগুলি অন্তর্ভুক্ত করে APK ফাইলের আকার কমাতে পারেন। আপনার টেক্সচার কম্প্রেশন ফর্ম্যাটগুলির জন্য প্রতিটি ডিভাইসের সমর্থনের উপর নির্ভর করে, Google Play এটিকে সেই APK সরবরাহ করবে যা আপনি সেই ডিভাইসটিকে সমর্থন করার জন্য ঘোষণা করেছেন।
বর্তমানে, Google Play আপনাকে একই অ্যাপ্লিকেশনের জন্য একাধিক APK প্রকাশ করার অনুমতি দেয় শুধুমাত্র যখন প্রতিটি APK নিম্নলিখিত কনফিগারেশনের উপর ভিত্তি করে বিভিন্ন ফিল্টার প্রদান করে:
- OpenGL টেক্সচার কম্প্রেশন ফরম্যাট
<supports-gl-texture>
উপাদান ব্যবহার করে। - পর্দার আকার (এবং, ঐচ্ছিকভাবে, পর্দার ঘনত্ব)
<supports-screens>
বা<compatible-screens>
উপাদান ব্যবহার করে। - API স্তর
<uses-sdk>
উপাদান ব্যবহার করে। - CPU আর্কিটেকচার (ABI)
একটি নির্দিষ্ট CPU আর্কিটেকচারকে লক্ষ্য করে এমন Android NDK- এর সাহায্যে নির্মিত নেটিভ লাইব্রেরিগুলি অন্তর্ভুক্ত করে (উদাহরণস্বরূপ, ARM EABI v7 বা x86)।
অন্যান্য সমস্ত ফিল্টার এখনও স্বাভাবিকের মতোই কাজ করে, তবে এই চারটিই একমাত্র ফিল্টার যা Google Play-তে একই অ্যাপ্লিকেশন তালিকার মধ্যে একটি APK থেকে অন্যটি আলাদা করতে পারে৷ উদাহরণ স্বরূপ, আপনি একই অ্যাপ্লিকেশানের জন্য একাধিক APK প্রকাশ করতে পারবেন না যদি APKগুলি শুধুমাত্র ডিভাইসটিতে ক্যামেরা আছে কিনা তার উপর ভিত্তি করে আলাদা হয়৷
সতর্কতা: একই অ্যাপ্লিকেশনের জন্য একাধিক APK প্রকাশ করা একটি উন্নত বৈশিষ্ট্য হিসাবে বিবেচিত হয় এবং বেশিরভাগ অ্যাপ্লিকেশনের শুধুমাত্র একটি APK প্রকাশ করা উচিত যা ডিভাইস কনফিগারেশনের বিস্তৃত পরিসরকে সমর্থন করে ৷ একাধিক APK প্রকাশ করার জন্য আপনাকে আপনার ফিল্টারগুলির মধ্যে নির্দিষ্ট নিয়মগুলি অনুসরণ করতে হবে এবং প্রতিটি কনফিগারেশনের জন্য সঠিক আপডেট পাথগুলি নিশ্চিত করতে প্রতিটি APK-এর সংস্করণ কোডগুলিতে অতিরিক্ত মনোযোগ দিতে হবে৷
Google Play-তে একাধিক APK কীভাবে প্রকাশ করবেন সে সম্পর্কে আপনার আরও তথ্যের প্রয়োজন হলে একাধিক APK সমর্থন পড়ুন।