যখন আপনি একটি APK আপলোড করেন, তখন এটিকে অবশ্যই Google Play এর লক্ষ্য API স্তরের প্রয়োজনীয়তা পূরণ করতে হবে।
৩১ আগস্ট ২০২৫ থেকে শুরু:
- নতুন অ্যাপ এবং অ্যাপ আপডেটগুলি Google Play-তে জমা দেওয়ার জন্য অবশ্যই Android 15 (API লেভেল 35) বা তার বেশি ভার্সনের জন্য হতে হবে; Wear OS, Android Automotive OS এবং Android TV অ্যাপগুলি ছাড়া, যেগুলিকে Android 14 (API লেভেল 34) বা তার বেশি ভার্সনের জন্য হতে হবে।
- আপনার অ্যাপের টার্গেট API লেভেলের চেয়ে উচ্চতর Android OS চালানো ডিভাইসগুলিতে নতুন ব্যবহারকারীদের জন্য উপলব্ধ থাকার জন্য বিদ্যমান অ্যাপগুলিকে Android 14 (API লেভেল 34) বা তার বেশি ভার্সনের জন্য লক্ষ্য করতে হবে। Wear OS এবং Android TV-এর জন্য Android 12 (API লেভেল 31) বা তার কম ভার্সনের জন্য Android 13 (API লেভেল 33) বা তার কম ভার্সনের জন্য লক্ষ্য করা অ্যাপগুলি, কেবলমাত্র সেই ডিভাইসগুলিতে উপলব্ধ হবে যেগুলি Android OS চালাচ্ছে এবং আপনার অ্যাপের টার্গেট API লেভেলের চেয়ে একই বা তার কম ভার্সনের।
আপনার অ্যাপ আপডেট করার জন্য আরও সময় প্রয়োজন হলে আপনি ১ নভেম্বর, ২০২৫ পর্যন্ত সময় বাড়ানোর অনুরোধ করতে পারবেন। এই বছরের শেষের দিকে আপনি Play Console-এ আপনার অ্যাপের এক্সটেনশন ফর্মগুলি অ্যাক্সেস করতে পারবেন।
এই প্রয়োজনীয়তার ব্যতিক্রমগুলির মধ্যে রয়েছে:
- স্থায়ীভাবে ব্যক্তিগত অ্যাপ যা নির্দিষ্ট প্রতিষ্ঠানের ব্যবহারকারীদের জন্য সীমাবদ্ধ এবং শুধুমাত্র অভ্যন্তরীণ বিতরণের জন্য তৈরি।
নতুন SDK গুলিকে কেন টার্গেট করবেন?
প্রতিটি নতুন অ্যান্ড্রয়েড সংস্করণে এমন পরিবর্তন আনা হয় যা নিরাপত্তা এবং কর্মক্ষমতা উন্নত করে এবং অ্যান্ড্রয়েড ব্যবহারকারীর অভিজ্ঞতা উন্নত করে। এই পরিবর্তনগুলির মধ্যে কিছু শুধুমাত্র সেই অ্যাপগুলিতে প্রযোজ্য যারা তাদের targetSdkVersion ম্যানিফেস্ট অ্যাট্রিবিউট (যা টার্গেট API লেভেল নামেও পরিচিত) এর মাধ্যমে স্পষ্টভাবে সমর্থন ঘোষণা করে।
আপনার অ্যাপটিকে সাম্প্রতিক API লেভেলের জন্য কনফিগার করলে ব্যবহারকারীরা এই উন্নতিগুলি থেকে উপকৃত হবেন, অন্যদিকে আপনার অ্যাপটি এখনও পুরানো Android ভার্সনে চলতে পারবে। সাম্প্রতিক API লেভেল টার্গেট করলে আপনার অ্যাপটি প্ল্যাটফর্মের সর্বশেষ বৈশিষ্ট্যগুলি ব্যবহার করে আপনার ব্যবহারকারীদের আনন্দিত করতে পারবে। তাছাড়া, Android 10 (API লেভেল 29) থেকে, ব্যবহারকারীরা যখন প্রথমবারের মতো কোনও অ্যাপ চালু করে তখন একটি সতর্কতা দেখতে পান যদি অ্যাপটি Android 5.1 (API লেভেল 22) বা তার নিচের ভার্সনকে লক্ষ্য করে।
এই ডকুমেন্টটি Google Play এর প্রয়োজনীয়তা পূরণের জন্য আপনার লক্ষ্য API স্তর আপডেট করার জন্য আপনার যে গুরুত্বপূর্ণ বিষয়গুলি জানা প্রয়োজন তা তুলে ধরে। আপনি কোন সংস্করণে মাইগ্রেট করছেন তার উপর নির্ভর করে নিম্নলিখিত বিভাগগুলিতে নির্দেশাবলী দেখুন।
Android 12 এবং উচ্চতর (API লেভেল 31) থেকে আরও সাম্প্রতিক সংস্করণে স্থানান্তর করুন
অ্যান্ড্রয়েডের সাম্প্রতিক সংস্করণটিকে লক্ষ্য করে আপনার অ্যাপটি আপডেট করতে, প্রাসঙ্গিক আচরণ পরিবর্তনের তালিকা অনুসরণ করুন:
- অ্যান্ড্রয়েড ১৩-এর আচরণগত পরিবর্তন
- অ্যান্ড্রয়েড ১৪-এর আচরণগত পরিবর্তন
- অ্যান্ড্রয়েড ১৫ এর আচরণগত পরিবর্তন
- অ্যান্ড্রয়েড ১৬-এর আচরণগত পরিবর্তন
Android 11 (API লেভেল 30) থেকে Android 12 (API লেভেল 31) এ মাইগ্রেট করুন
নিরাপত্তা এবং অনুমতি
- ব্লুটুথ : আপনাকে
BLUETOOTHএবংBLUETOOTH_ADMINঅনুমতির জন্য ঘোষণাগুলিBLUETOOTH_SCAN,BLUETOOTH_ADVERTISE, অথবাBLUETOOTH_CONNECTঅনুমতি দিয়ে প্রতিস্থাপন করতে হবে। ব্লুটুথ ক্রিয়াকলাপের জন্য আপনাকে আরLOCATIONরানটাইম অনুমতির অনুরোধ করতে হবে না। - অবস্থান: ব্যবহারকারীরা শুধুমাত্র আনুমানিক অবস্থানের তথ্য পুনরুদ্ধারের জন্য অ্যাপগুলির কাছে অনুরোধ করতে পারেন।
ACCESS_FINE_LOCATIONঅনুরোধ করার সময় আপনাকে অবশ্যইACCESS_COARSE_LOCATIONঅনুমতির জন্য অনুরোধ করতে হবে।- ইন্টেন্ট ফিল্টার: যদি আপনার অ্যাপে এমন কার্যকলাপ , পরিষেবা , অথবা ব্রডকাস্ট রিসিভার থাকে যা ইন্টেন্ট ফিল্টার ব্যবহার করে, তাহলে আপনাকে অবশ্যই এই উপাদানগুলির জন্য android:exported বৈশিষ্ট্যটি স্পষ্টভাবে ঘোষণা করতে হবে।
- হাইবারনেশন: অ্যাপগুলি যদি দীর্ঘ সময় ধরে ব্যবহার না করা হয় তবে সেগুলিকে হাইবারনেশন মোডে রাখা হতে পারে। হাইবারনেশন মোডে আপনার অ্যাপের রানটাইম অনুমতি এবং ক্যাশে রিসেট করা হয় এবং আপনি কাজ বা সতর্কতা চালাতে পারবেন না। আপনি আপনার অ্যাপের হাইবারনেশন স্ট্যাটাস পরীক্ষা করতে পারেন।
- Pending Intent mutability : আপনার অ্যাপ তৈরি করে এমন প্রতিটি PendingIntent অবজেক্টের mutability নির্দিষ্ট করতে হবে।
ব্যবহারকারীর অভিজ্ঞতা
- কাস্টম বিজ্ঞপ্তি : কাস্টম কন্টেন্ট ভিউ সহ বিজ্ঞপ্তিগুলি আর সম্পূর্ণ বিজ্ঞপ্তি এলাকা ব্যবহার করবে না; পরিবর্তে, সিস্টেমটি একটি স্ট্যান্ডার্ড টেমপ্লেট প্রয়োগ করে। এই টেমপ্লেটটি নিশ্চিত করে যে কাস্টম বিজ্ঞপ্তিগুলিতে সমস্ত রাজ্যের অন্যান্য বিজ্ঞপ্তিগুলির মতো একই সাজসজ্জা থাকবে। এই আচরণটি
Notification.DecoratedCustomViewStyleএর আচরণের সাথে প্রায় একই রকম। - অ্যান্ড্রয়েড অ্যাপ লিংক যাচাইকরণের পরিবর্তন : অ্যান্ড্রয়েড অ্যাপ লিংক যাচাইকরণ ব্যবহার করার সময়, নিশ্চিত করুন যে আপনার ইন্টেন্ট ফিল্টারগুলিতে ব্রাউজেবল বিভাগ অন্তর্ভুক্ত রয়েছে এবং HTTPS স্কিম সমর্থন করে।
কর্মক্ষমতা
ফোরগ্রাউন্ড পরিষেবা চালু করার সীমাবদ্ধতা : অ্যান্ড্রয়েড ১২ বা তার উচ্চতর সংস্করণগুলিকে লক্ষ্য করে, আপনার অ্যাপটি ব্যাকগ্রাউন্ডে চলাকালীন ফোরগ্রাউন্ড পরিষেবাগুলি শুরু করতে পারবে না, কয়েকটি বিশেষ ক্ষেত্রে ছাড়া। যদি কোনও অ্যাপ ব্যাকগ্রাউন্ডে চলাকালীন ফোরগ্রাউন্ড পরিষেবা শুরু করার চেষ্টা করে, তবে একটি ব্যতিক্রম ঘটে (কয়েকটি বিশেষ ক্ষেত্রে ছাড়া)।
আপনার অ্যাপটি ব্যাকগ্রাউন্ডে চলাকালীন সময়সূচী নির্ধারণ এবং দ্রুত কাজ শুরু করার জন্য WorkManager ব্যবহার করার কথা বিবেচনা করুন। ব্যবহারকারীর অনুরোধ করা সময়-সংবেদনশীল ক্রিয়াগুলি সম্পন্ন করতে, একটি সঠিক অ্যালার্মের মধ্যে ফোরগ্রাউন্ড পরিষেবাগুলি শুরু করুন।
নোটিফিকেশন ট্রাম্পোলিনের সীমাবদ্ধতা : ব্যবহারকারীরা যখন নোটিফিকেশনে ট্যাপ করেন, তখন কিছু অ্যাপ এমন একটি অ্যাপ কম্পোনেন্ট চালু করে সাড়া দেয় যা ব্যবহারকারী যে কার্যকলাপ দেখেন এবং ইন্টারঅ্যাক্ট করেন তা শুরু করে। এই অ্যাপ কম্পোনেন্টটি নোটিফিকেশন ট্রাম্পোলিন নামে পরিচিত।
অ্যাপগুলি অবশ্যই বিজ্ঞপ্তি ট্রাম্পোলিন হিসাবে ব্যবহৃত পরিষেবা বা ব্রডকাস্ট রিসিভার থেকে কার্যকলাপ শুরু করবে না। ব্যবহারকারী যখন বিজ্ঞপ্তির মধ্যে একটি বিজ্ঞপ্তি বা অ্যাকশন বোতামে ট্যাপ করেন, তখন আপনার অ্যাপটি কোনও পরিষেবা বা ব্রডকাস্ট রিসিভারের ভিতরে
startActivity()কল করতে পারবে না।
অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) লক্ষ্য করে এমন অ্যাপগুলিকে প্রভাবিত করে এমন পরিবর্তনগুলির সম্পূর্ণ সেট দেখুন।
Android 11 এর চেয়ে কম ভার্সন (API লেভেল 30) থেকে মাইগ্রেট করুন
আপনি যে Android সংস্করণ থেকে মাইগ্রেট করবেন তা নির্বাচন করুন:
অ্যান্ড্রয়েড ৫ (এপিআই লেভেল ২১) এ মাইগ্রেট করুন
আপনার অ্যাপটি এই রিলিজগুলিতে প্রবর্তিত পরিবর্তনগুলির জন্য হিসাব রেখেছে কিনা তা নিশ্চিত করতে নিম্নলিখিত প্রতিটি রিলিজের জন্য সংশ্লিষ্ট আচরণগত পরিবর্তন পৃষ্ঠাটি দেখুন:
- অ্যান্ড্রয়েড ৫.০ (এপিআই লেভেল ২১)
- অ্যান্ড্রয়েড ৪.৪ (এপিআই লেভেল ১৯) ।
- অ্যান্ড্রয়েড ৪.১.x (এপিআই লেভেল ১৬) ।
পরবর্তী বিভাগে দেওয়া নির্দেশাবলী অনুসরণ করে কাজ চালিয়ে যান।
অ্যান্ড্রয়েড ৬ (এপিআই লেভেল ২৩) এ মাইগ্রেট করুন
অ্যান্ড্রয়েড ৬.০ এবং প্ল্যাটফর্মের উচ্চতর সংস্করণগুলিকে লক্ষ্য করে তৈরি অ্যাপগুলির ক্ষেত্রে নিম্নলিখিত বিবেচ্য বিষয়গুলি প্রযোজ্য:
বিপজ্জনক অনুমতিগুলি শুধুমাত্র রানটাইমের সময় দেওয়া হয়। আপনার UI ফ্লোগুলিকে এই অনুমতিগুলি দেওয়ার জন্য অবশ্যই সামর্থ্য প্রদান করতে হবে।
যেখানেই সম্ভব, নিশ্চিত করুন যে আপনার অ্যাপটি অনুমতির অনুরোধ প্রত্যাখ্যানের জন্য প্রস্তুত। উদাহরণস্বরূপ, যদি কোনও ব্যবহারকারী ডিভাইসের জিপিএস অ্যাক্সেসের অনুরোধ প্রত্যাখ্যান করেন, তাহলে নিশ্চিত করুন যে আপনার অ্যাপটি এগিয়ে যাওয়ার জন্য অন্য কোনও উপায় আছে।
অ্যান্ড্রয়েড ৬.০ (এপিআই লেভেল ২৩) এ প্রবর্তিত পরিবর্তনগুলির একটি সম্পূর্ণ তালিকার জন্য, প্ল্যাটফর্মের সেই সংস্করণের আচরণগত পরিবর্তন পৃষ্ঠাটি দেখুন।
পরবর্তী বিভাগে দেওয়া নির্দেশাবলী অনুসরণ করে কাজ চালিয়ে যান।
অ্যান্ড্রয়েড ৭ (এপিআই লেভেল ২৪) এ মাইগ্রেট করুন
অ্যান্ড্রয়েড ৭.০ এবং প্ল্যাটফর্মের উচ্চতর সংস্করণগুলিকে লক্ষ্য করে তৈরি অ্যাপগুলির ক্ষেত্রে নিম্নলিখিত বিবেচ্য বিষয়গুলি প্রযোজ্য:
ডোজ এবং অ্যাপ স্ট্যান্ডবাই
ডোজ এবং অ্যাপ স্ট্যান্ডবাই-এর জন্য অপ্টিমাইজেশনে বর্ণিত আচরণের জন্য নকশা, যা বিভিন্ন প্ল্যাটফর্ম রিলিজে প্রবর্তিত ক্রমবর্ধমান পরিবর্তনগুলিকে অন্তর্ভুক্ত করে।
যখন কোনও ডিভাইস ডোজ এবং অ্যাপ স্ট্যান্ডবাই মোডে থাকে, তখন সিস্টেমটি নিম্নলিখিতভাবে আচরণ করে:
- নেটওয়ার্ক অ্যাক্সেস সীমাবদ্ধ করে
- অ্যালার্ম, সিঙ্ক এবং কাজ স্থগিত করে
- জিপিএস এবং ওয়াই-ফাই স্ক্যান সীমাবদ্ধ করে
- স্বাভাবিক-অগ্রাধিকার ফায়ারবেস ক্লাউড মেসেজিং বার্তাগুলিকে সীমাবদ্ধ করে।
অনুমতি পরিবর্তন
- সিস্টেমটি অ্যাপের ব্যক্তিগত ডিরেক্টরিগুলিতে অ্যাক্সেস সীমাবদ্ধ করে।
- আপনার অ্যাপের বাইরে একটি
file://URI এক্সপোজ করলে একটিFileUriExposedExceptionট্রিগার হয়। যদি আপনার অ্যাপের বাইরে ফাইল শেয়ার করার প্রয়োজন হয়,FileProviderপ্রয়োগ করুন।
এই সিস্টেমটি NDK-বহির্ভূত লাইব্রেরির সাথে লিঙ্ক করা নিষিদ্ধ করে ।
অ্যান্ড্রয়েড ৭.০ (এপিআই লেভেল ২৪) এ প্রবর্তিত পরিবর্তনগুলির একটি সম্পূর্ণ তালিকার জন্য, প্ল্যাটফর্মের সেই সংস্করণের আচরণগত পরিবর্তন পৃষ্ঠাটি দেখুন।
পরবর্তী বিভাগে দেওয়া নির্দেশাবলী অনুসরণ করে কাজ চালিয়ে যান।
অ্যান্ড্রয়েড ৮ (এপিআই লেভেল ২৬) এ মাইগ্রেট করুন
অ্যান্ড্রয়েড ৮.০ এবং প্ল্যাটফর্মের উচ্চতর সংস্করণগুলিকে লক্ষ্য করে তৈরি অ্যাপগুলির ক্ষেত্রে নিম্নলিখিত বিবেচ্য বিষয়গুলি প্রযোজ্য:
- ব্যাকগ্রাউন্ড এক্সিকিউশন সীমা
- সিস্টেমটি ফোরগ্রাউন্ডে চলমান না থাকা অ্যাপগুলির পরিষেবাগুলিকে সীমাবদ্ধ করে।
-
startService()নিষিদ্ধ থাকাকালীন যখন কোনও অ্যাপ এটি চালু করার চেষ্টা করে, তখনstartService()এখন একটি ব্যতিক্রম দেয়। - ফোরগ্রাউন্ড পরিষেবা শুরু করতে, একটি অ্যাপকে
startForeground()এবংstartForegroundService()ব্যবহার করতে হবে। - Android 8.0 (API লেভেল 26) আচরণ পরিবর্তন পৃষ্ঠায় নথিভুক্ত JobScheduler API-তে করা পরিবর্তনগুলি সাবধানতার সাথে পর্যালোচনা করুন।
- ফায়ারবেস ক্লাউড মেসেজিংয়ের জন্য গুগল প্লে সার্ভিসেস SDK এর 10.2.1 বা তার উচ্চতর সংস্করণ প্রয়োজন।
- Firebase Cloud Messaging ব্যবহার করার সময়, বার্তা সরবরাহ ব্যাকগ্রাউন্ড এক্সিকিউশন সীমার সাপেক্ষে। বার্তা প্রাপ্তির পরে যখন ব্যাকগ্রাউন্ড কাজ প্রয়োজন হয়, যেমন ব্যাকগ্রাউন্ড ডেটা সিঙ্ক করার জন্য, তখন আপনার অ্যাপের উচিত Firebase Job Dispatcher বা JobIntentService ব্যবহার করে কাজ নির্ধারণ করা। আরও তথ্যের জন্য, Firebase Cloud Messaging ডকুমেন্টেশন দেখুন।
-
- অন্তর্নিহিত সম্প্রচার
- অন্তর্নিহিত সম্প্রচার সীমাবদ্ধ। ব্যাকগ্রাউন্ড ইভেন্ট পরিচালনা সম্পর্কে তথ্যের জন্য,
JobSchedulerAPI-এর ডকুমেন্টেশন দেখুন।
- অন্তর্নিহিত সম্প্রচার সীমাবদ্ধ। ব্যাকগ্রাউন্ড ইভেন্ট পরিচালনা সম্পর্কে তথ্যের জন্য,
- পটভূমি অবস্থানের সীমা
- ব্যাকগ্রাউন্ডে চলমান অ্যাপগুলির অবস্থান ডেটাতে সীমিত অ্যাক্সেস রয়েছে।
- গুগল প্লে পরিষেবা আছে এমন ডিভাইসগুলিতে, পর্যায়ক্রমিক অবস্থান আপডেট পেতে ফিউজড অবস্থান প্রদানকারী ব্যবহার করুন।
- ব্যাকগ্রাউন্ডে চলমান অ্যাপগুলির অবস্থান ডেটাতে সীমিত অ্যাক্সেস রয়েছে।
- সিস্টেমটি ফোরগ্রাউন্ডে চলমান না থাকা অ্যাপগুলির পরিষেবাগুলিকে সীমাবদ্ধ করে।
- বিজ্ঞপ্তি চ্যানেল
- আপনার প্রতি চ্যানেলের ভিত্তিতে বিজ্ঞপ্তি বাধা বৈশিষ্ট্যগুলি সংজ্ঞায়িত করা উচিত।
- বিজ্ঞপ্তিগুলি প্রদর্শিত হওয়ার জন্য আপনাকে অবশ্যই একটি চ্যানেলে বিজ্ঞপ্তি বরাদ্দ করতে হবে।
- প্ল্যাটফর্মের এই সংস্করণটি
NotificationCompat.Builderসমর্থন করে।
- গোপনীয়তা
- ANDROID_ID প্রতিটি অ্যাপ সাইনিং কী-এর স্কোপ।
অ্যান্ড্রয়েড ৮.০ (এপিআই লেভেল ২৬) এ প্রবর্তিত পরিবর্তনগুলির একটি সম্পূর্ণ তালিকার জন্য, প্ল্যাটফর্মের সেই সংস্করণের আচরণগত পরিবর্তন পৃষ্ঠাটি দেখুন।
অ্যান্ড্রয়েড ৮ (এপিআই ২৬) থেকে অ্যান্ড্রয়েড ৯ (এপিআই ২৮) এ মাইগ্রেট করুন
- পাওয়ার ম্যানেজমেন্ট
- অ্যাপ স্ট্যান্ডবাই বাকেট অ্যাপ এনগেজমেন্টের উপর ভিত্তি করে নতুন ব্যাকগ্রাউন্ড বিধিনিষেধ নিয়ে আসে, যেমন বিলম্বিত কাজ, অ্যালার্ম এবং উচ্চ-অগ্রাধিকার বার্তাগুলিতে কোটা।
- ব্যাটারি সেভারের উন্নতি অ্যাপ স্ট্যান্ডবাই অ্যাপের সীমাবদ্ধতা বাড়িয়ে দেয়
- ফোরগ্রাউন্ড পরিষেবার অনুমতি
- স্বাভাবিক অনুমতির জন্য অনুরোধ করতে হবে
FOREGROUND_SERVICE(রানটাইম অনুমতি নয়)
- স্বাভাবিক অনুমতির জন্য অনুরোধ করতে হবে
- গোপনীয়তা পরিবর্তন
- ব্যাকগ্রাউন্ড সেন্সরে সীমিত অ্যাক্সেস
- কল লগগুলিতে অ্যাক্সেস সীমিত, এখন
CALL_LOGঅনুমতি গোষ্ঠীতে - ফোন নম্বরগুলিতে অ্যাক্সেস সীমিত,
READ_CALL_LOGঅনুমতি প্রয়োজন - ওয়াই-ফাই তথ্যে সীমিত অ্যাক্সেস
অ্যান্ড্রয়েড ৯.০ (এপিআই লেভেল ২৮) এ প্রবর্তিত পরিবর্তনগুলির একটি সম্পূর্ণ তালিকার জন্য, আচরণগত পরিবর্তনগুলি দেখুন।
Android 9 (API লেভেল 28) থেকে Android 10 (API লেভেল 29) এ মাইগ্রেট করুন
- পূর্ণ-স্ক্রিন ইনটেন্ট সহ বিজ্ঞপ্তি
- স্বাভাবিক অনুমতি
USE_FULL_SCREEN_INTENT(রানটাইম অনুমতি নয়) অনুরোধ করতে হবে।
- স্বাভাবিক অনুমতি
- ভাঁজযোগ্য এবং বড় স্ক্রিন ডিভাইসের জন্য সমর্থন
- একাধিক কার্যকলাপ এখন একই সময়ে "পুনরায় শুরু" অবস্থায় থাকতে পারে, কিন্তু আসলে কেবল একটিতে ফোকাস থাকে।
- এই পরিবর্তন
onResume()এবংonPause()আচরণকে প্রভাবিত করে। - "topmost resumed" এর নতুন জীবনচক্র ধারণা যা
onTopResumedActivityChanged()সাবস্ক্রাইব করে সনাক্ত করা যেতে পারে।- শুধুমাত্র একটি কার্যকলাপ "সর্বাধিক পুনঃসূচনা" করা যেতে পারে।
- এই পরিবর্তন
- যখন
resizeableActivityfalseতে সেট করা থাকে, তখন অ্যাপগুলি অতিরিক্তভাবে একটিminAspectRatioনির্দিষ্ট করতে পারে যা স্বয়ংক্রিয়ভাবে অ্যাপটিকে সংকীর্ণ আকৃতির অনুপাতের উপর লেটারবক্স করে।
- একাধিক কার্যকলাপ এখন একই সময়ে "পুনরায় শুরু" অবস্থায় থাকতে পারে, কিন্তু আসলে কেবল একটিতে ফোকাস থাকে।
- গোপনীয়তা পরিবর্তন
- বিস্তৃত স্টোরেজ
- বাহ্যিক স্টোরেজ অ্যাক্সেস শুধুমাত্র একটি অ্যাপ-নির্দিষ্ট ডিরেক্টরি এবং অ্যাপটি তৈরি করা নির্দিষ্ট ধরণের মিডিয়ার মধ্যে সীমাবদ্ধ।
- অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন অবস্থানে অ্যাক্সেস সীমিত করা হয়েছে, যার জন্য
ACCESS_BACKGROUND_LOCATIONঅনুমতি প্রয়োজন। - IMEI এবং সিরিয়াল নম্বরের মতো অ-রিসেটযোগ্য শনাক্তকারীর অ্যাক্সেস সীমিত।
- ব্যবহারকারীর পদক্ষেপের সংখ্যার মতো শারীরিক কার্যকলাপের তথ্যে অ্যাক্সেস সীমিত করা হয়েছে, যার জন্য
ACTIVITY_RECOGNITIONঅনুমতি প্রয়োজন। - কিছু টেলিফোনি, ব্লুটুথ এবং ওয়াই-ফাই API- তে অ্যাক্সেস সীমিত, যার জন্য
ACCESS_FINE_LOCATIONঅনুমতি প্রয়োজন। - ওয়াই-ফাই সেটিংসে সীমিত অ্যাক্সেস
- অ্যাপগুলি আর সরাসরি Wi-Fi সক্ষম বা অক্ষম করতে পারে না এবং সেটিংস প্যানেল ব্যবহার করে এটি করতে হবে।
- Wi-Fi নেটওয়ার্কে সংযোগ শুরু করার ক্ষেত্রে বিধিনিষেধ, যার জন্য
WifiNetworkSpecifierঅথবাWifiNetworkSuggestionব্যবহার করা প্রয়োজন।
- বিস্তৃত স্টোরেজ
Android 10 (API লেভেল 29) থেকে Android 11 (API লেভেল 30) এ মাইগ্রেট করুন
- গোপনীয়তা
- স্কোপড স্টোরেজ এনফোর্সমেন্ট : অ্যাপগুলিকে স্কোপড স্টোরেজ মডেল গ্রহণ করা উচিত যেখানে অ্যাপ-নির্দিষ্ট, মিডিয়া এবং অন্যান্য ফাইলের ধরণগুলি নির্দিষ্ট অবস্থান ব্যবহার করে সংরক্ষণ এবং অ্যাক্সেস করা হয়।
- অনুমতি স্বয়ংক্রিয়ভাবে রিসেট : ব্যবহারকারীরা যদি কয়েক মাস ধরে কোনও অ্যাপের সাথে ইন্টারঅ্যাক্ট না করে থাকেন, তাহলে সিস্টেমটি অ্যাপের সংবেদনশীল অনুমতিগুলি স্বয়ংক্রিয়ভাবে রিসেট করে। এটি বেশিরভাগ অ্যাপকে প্রভাবিত করবে না। যদি আপনার অ্যাপটি মূলত ব্যবহারকারীর ইন্টারঅ্যাকশন ছাড়াই ব্যাকগ্রাউন্ডে কাজ করে, তাহলে আপনি ব্যবহারকারীদের অটো রিসেট অক্ষম করার অনুরোধ করার কথা বিবেচনা করতে পারেন।
- ব্যাকগ্রাউন্ড লোকেশন অ্যাক্সেস : অ্যাপগুলিকে ফোরগ্রাউন্ড এবং ব্যাকগ্রাউন্ড লোকেশনের অনুমতি আলাদাভাবে অনুরোধ করতে হবে। ব্যাকগ্রাউন্ড লোকেশনের অনুমতি দেওয়ার অনুমতি শুধুমাত্র রানটাইম অনুমতি ডায়ালগের পরিবর্তে অ্যাপ সেটিংসে দেওয়া যেতে পারে ।
- প্যাকেজ দৃশ্যমানতা : যখন কোনও অ্যাপ ডিভাইসে ইনস্টল করা অ্যাপ এবং পরিষেবার তালিকার জন্য জিজ্ঞাসা করে, তখন ফিরে আসা তালিকাটি ফিল্টার করা হয়।
- আপনি যদি টেক্সট-টু-স্পিচ বা স্পিচ রিকগনিশন পরিষেবা ব্যবহার করেন, তাহলে আপনাকে ম্যানিফেস্ট ফাইলে পরিষেবার জন্য কোয়েরি উপাদান যোগ করতে হবে।
- নিরাপত্তা
- সংকুচিত `resource.arsc` ফাইলগুলি আর সমর্থিত নয়
- এখন APK স্বাক্ষর স্কিম v2 প্রয়োজন। ব্যাকওয়ার্ড সামঞ্জস্যের কারণে, ডেভেলপারদের APK স্বাক্ষর স্কিম v1 দিয়েও স্বাক্ষর করা চালিয়ে যাওয়া উচিত।
- নন-SDK ইন্টারফেস সীমাবদ্ধতা। API লেভেল 30 টার্গেট করা অ্যাপগুলির জন্য নন-SDK ইন্টারফেস ব্যবহার করার পরামর্শ দেওয়া হয় না, কারণ এই নন-SDK ইন্টারফেসগুলির কিছু এখন ব্লক করা হয়েছে। ব্লক করা নন-SDK ইন্টারফেসের একটি বিস্তৃত তালিকার জন্য অ্যান্ড্রয়েড 11-এ এখন ব্লক করা নন-SDK ইন্টারফেসগুলি দেখুন।
অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) এ প্রবর্তিত পরিবর্তনগুলির একটি সম্পূর্ণ তালিকার জন্য, আচরণগত পরিবর্তন পৃষ্ঠাটি দেখুন।
পূর্ববর্তী বিভাগের নির্দেশাবলী অনুসরণ করে API 31 এ আপডেট করা চালিয়ে যান।
আপনার অ্যাপগুলিকে আধুনিক করুন
আপনার অ্যাপগুলির জন্য লক্ষ্য API স্তর আপডেট করার সময়, আপনার অ্যাপগুলিকে আধুনিকীকরণ এবং আপনার ব্যবহারকারীদের আনন্দিত করার জন্য সাম্প্রতিক প্ল্যাটফর্ম বৈশিষ্ট্যগুলি গ্রহণ করার কথা বিবেচনা করুন।
- ক্যামেরা ব্যবহারের সর্বোচ্চ সুবিধা পেতে, CameraX ব্যবহার করার কথা বিবেচনা করুন, যা বিটাতে রয়েছে।
- জেটপ্যাক উপাদানগুলি ব্যবহার করে আপনাকে সর্বোত্তম অনুশীলনগুলি অনুসরণ করতে, বয়লারপ্লেট কোড লেখা থেকে মুক্ত করতে এবং জটিল কাজগুলি সহজ করতে সাহায্য করুন যাতে আপনি আপনার পছন্দের কোডটিতে মনোনিবেশ করতে পারেন।
- কোটলিন ব্যবহার করে দ্রুত এবং কম কোড সহ আরও ভালো অ্যাপ লিখুন।
- নিশ্চিত করুন যে আপনি গোপনীয়তার প্রয়োজনীয়তা এবং সর্বোত্তম অনুশীলনগুলি অনুসরণ করছেন।
- আপনার অ্যাপগুলিতে ডার্ক থিম সাপোর্ট যোগ করুন।
- আপনার অ্যাপগুলিতে অঙ্গভঙ্গি নেভিগেশন সমর্থন যোগ করুন।
- আপনার অ্যাপটি গুগল ক্লাউড মেসেজিং (GCM) থেকে ফায়ারবেস ক্লাউড মেসেজিংয়ের সর্বশেষ সংস্করণে স্থানান্তর করুন ।
- উন্নত উইন্ডো ব্যবস্থাপনার সুবিধা নিন।
- হার্ডওয়্যারের সাম্প্রতিক অগ্রগতির সুবিধা নিতে বৃহত্তর আকৃতির অনুপাত (১৬:৯ এর বেশি) সমর্থন করুন। নিশ্চিত করুন যে আপনার অ্যাপটি উপলব্ধ স্ক্রিন স্থান পূরণ করার জন্য আকার পরিবর্তন করে। শেষ অবলম্বন হিসাবে কেবলমাত্র সর্বাধিক আকৃতির অনুপাত ঘোষণা করুন। সর্বাধিক আকৃতির অনুপাত সম্পর্কে আরও তথ্যের জন্য, সীমাবদ্ধ স্ক্রিন সমর্থন ঘোষণা করুন দেখুন।
- আপনার অ্যাপের উৎপাদনশীলতা বৃদ্ধি করতে এবং একাধিক ডিসপ্লে পরিচালনা করতে মাল্টি-উইন্ডো সাপোর্ট যোগ করুন।
- যদি একটি দুর্দান্ত মিনিমাইজড অ্যাপ অভিজ্ঞতা ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে পারে, তাহলে Picture-in-Picture এর জন্য সমর্থন যোগ করুন।
- ডিসপ্লে কাটআউট সহ ডিভাইসগুলির জন্য অপ্টিমাইজ করুন।
- স্ট্যাটাস বারের উচ্চতা ধরে নিবেন না। পরিবর্তে,
WindowInsetsএবংView.OnApplyWindowInsetsListenerব্যবহার করুন। আরও জানতে, droidcon NYC 2017 ভিডিওটি দেখুন। ব্যাখ্যার জন্য। - ধরে নিবেন না যে অ্যাপটিতে সম্পূর্ণ উইন্ডো আছে। পরিবর্তে,
View.getLocationInWindow()ব্যবহার করে এর অবস্থান নিশ্চিত করুন,View.getLocationOnScreen()নয়। *MotionEventপরিচালনা করার সময়,MotionEvent.getX()এবংMotionEvent.getY()ব্যবহার করুন,MotionEvent.getRawX()নয়,MotionEvent.getRawY()ব্যবহার করুন।
আপনার SDK এবং লাইব্রেরিগুলি পরীক্ষা করুন এবং আপডেট করুন
নিশ্চিত করুন যে আপনার তৃতীয় পক্ষের SDK নির্ভরতা API 31 সমর্থন করে: কিছু SDK প্রদানকারী তাদের ম্যানিফেস্টে এটি প্রকাশ করে; অন্যদের অতিরিক্ত তদন্তের প্রয়োজন হবে। যদি আপনি এমন একটি SDK ব্যবহার করেন যা API 31 সমর্থন করে না, তাহলে সমস্যা সমাধানের জন্য SDK প্রদানকারীর সাথে কাজ করাকে অগ্রাধিকার দিন।
অতিরিক্তভাবে, মনে রাখবেন যে আপনার অ্যাপ বা গেমের targetSdkVersion ব্যক্তিগত অ্যান্ড্রয়েড প্ল্যাটফর্ম লাইব্রেরিতে অ্যাক্সেস সীমাবদ্ধ করতে পারে; বিস্তারিত জানার জন্য NDK অ্যাপস লিঙ্কিং টু প্ল্যাটফর্ম লাইব্রেরি দেখুন।
আপনার ব্যবহার করা অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরির সংস্করণে বিদ্যমান কোনও বিধিনিষেধ আছে কিনা তাও আপনাকে যাচাই করতে হবে। সর্বদা হিসাবে, আপনাকে অবশ্যই অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরির প্রধান সংস্করণ এবং আপনার অ্যাপের compileSdkVersion এর মধ্যে সামঞ্জস্যতা নিশ্চিত করতে হবে।
আমরা আপনাকে সাপোর্ট লাইব্রেরির প্রধান সংস্করণের চেয়ে ছোট বা সমান একটি targetSdkVersion বেছে নেওয়ার পরামর্শ দিচ্ছি। সর্বশেষ সামঞ্জস্যতা বৈশিষ্ট্য এবং বাগ সংশোধনের সুবিধা নিতে আমরা আপনাকে সাম্প্রতিক সামঞ্জস্যপূর্ণ সাপোর্ট লাইব্রেরিতে আপডেট করার জন্য উৎসাহিত করছি।
আপনার অ্যাপটি পরীক্ষা করুন
আপনার অ্যাপের API স্তর এবং বৈশিষ্ট্যগুলি যথাযথভাবে আপডেট করার পরে, আপনার কিছু মূল ব্যবহারের ক্ষেত্রে পরীক্ষা করা উচিত। নিম্নলিখিত পরামর্শগুলি সম্পূর্ণ নয়, তবে আপনার পরীক্ষার প্রক্রিয়াটি পরিচালনা করার লক্ষ্যে। আমরা পরীক্ষা করার পরামর্শ দিচ্ছি:
- আপনার অ্যাপটি কোনও ত্রুটি বা সতর্কতা ছাড়াই API 29-তে কম্পাইল করে।
আপনার অ্যাপের এমন একটি কৌশল আছে যেখানে ব্যবহারকারী অনুমতির অনুরোধ প্রত্যাখ্যান করে এবং ব্যবহারকারীকে অনুমতির জন্য অনুরোধ করে। এটি করার জন্য:
- আপনার অ্যাপের অ্যাপ তথ্য স্ক্রিনে যান এবং প্রতিটি অনুমতি অক্ষম করুন।
- অ্যাপটি খুলুন এবং নিশ্চিত করুন যে কোনও ক্র্যাশ নেই।
- মূল ব্যবহারের ক্ষেত্রে পরীক্ষাগুলি সম্পাদন করুন এবং প্রয়োজনীয় অনুমতিগুলি পুনরায় প্রম্পট করা হয়েছে তা নিশ্চিত করুন।
প্রত্যাশিত ফলাফল এবং কোনও ত্রুটি ছাড়াই Doze পরিচালনা করে।
- adb ব্যবহার করে, আপনার অ্যাপটি চলাকালীন Doze-এ আপনার পরীক্ষামূলক ডিভাইসটি রাখুন।
- Firebase ক্লাউড মেসেজিং বার্তাগুলিকে ট্রিগার করে এমন যেকোনো ব্যবহারের ক্ষেত্রে পরীক্ষা করুন।
- অ্যালার্ম বা জবস ব্যবহার করে এমন যেকোনো ব্যবহারের ক্ষেত্রে পরীক্ষা করুন।
- ব্যাকগ্রাউন্ড পরিষেবার উপর যেকোনো নির্ভরতা দূর করুন।
- আপনার অ্যাপটিকে অ্যাপ স্ট্যান্ডবাইতে সেট করুন
- Firebase ক্লাউড মেসেজিং বার্তাগুলিকে ট্রিগার করে এমন যেকোনো ব্যবহারের ক্ষেত্রে পরীক্ষা করুন।
- অ্যালার্ম ব্যবহার করে এমন যেকোনো ব্যবহারের ক্ষেত্রে পরীক্ষা করুন।
- adb ব্যবহার করে, আপনার অ্যাপটি চলাকালীন Doze-এ আপনার পরীক্ষামূলক ডিভাইসটি রাখুন।
নতুন ছবি / ভিডিও তোলার সময় পরিচালনা করে
- আপনার অ্যাপটি সীমাবদ্ধ
ACTION_NEW_PICTUREএবংACTION_NEW_VIDEOসম্প্রচারগুলি সঠিকভাবে পরিচালনা করছে কিনা তা পরীক্ষা করুন (অর্থাৎ, JobScheduler জবগুলিতে সরানো হয়েছে)। - এই ঘটনাগুলির উপর নির্ভরশীল যেকোনো গুরুত্বপূর্ণ ব্যবহারের ক্ষেত্রে এখনও কাজ করছে কিনা তা নিশ্চিত করুন।
- আপনার অ্যাপটি সীমাবদ্ধ
অন্যান্য অ্যাপে ফাইল শেয়ারিং পরিচালনা করে - অন্য যেকোনো অ্যাপের সাথে ফাইল ডেটা শেয়ার করে এমন যেকোনো ব্যবহারের ক্ষেত্রে পরীক্ষা করুন (এমনকি একই ডেভেলপারের অন্য অ্যাপের সাথেও)
- পরীক্ষা করুন যে কন্টেন্টটি অন্য অ্যাপে দৃশ্যমান এবং ক্র্যাশের কারণ হয় না।
আরও তথ্য
Google Play Console-এর ইমেলগুলিতে যোগদান করুন যাতে আমরা আপনাকে Android এবং Google Play থেকে গুরুত্বপূর্ণ আপডেট এবং ঘোষণা পাঠাতে পারি, যার মধ্যে আমাদের মাসিক পার্টনার নিউজলেটারও অন্তর্ভুক্ত।