আপনি যখন একটি APK আপলোড করবেন, তখন এটি অবশ্যই Google Play এর লক্ষ্য API স্তরের প্রয়োজনীয়তা পূরণ করবে।
31 আগস্ট 2024 থেকে শুরু হচ্ছে:
- নতুন অ্যাপ এবং অ্যাপ আপডেটগুলিকে অবশ্যই Android 14 (API লেভেল 34) বা উচ্চতরকে Google Play-তে জমা দিতে হবে; Wear OS এবং Android TV অ্যাপগুলি ব্যতীত, যেগুলি অবশ্যই Android 13 (API স্তর 33) বা উচ্চতরকে টার্গেট করবে৷
- বিদ্যমান অ্যাপগুলিকে অবশ্যই Android 13 (API লেভেল 33) বা উচ্চতর টার্গেট করতে হবে যাতে আপনার অ্যাপের টার্গেট API লেভেলের চেয়ে বেশি Android OS চালিত ডিভাইসগুলিতে নতুন ব্যবহারকারীদের জন্য উপলব্ধ থাকে। যে অ্যাপগুলি Android 12 (API লেভেল 31) বা তার নিচের (Android 10 (API লেভেল 29) বা Wear OS এবং Android 11 (API লেভেল 30) বা Android TV-এর জন্য কম, শুধুমাত্র Android OS চালিত ডিভাইসগুলিতে পাওয়া যাবে আপনার অ্যাপের টার্গেট API লেভেলের সমান বা কম।
আপনার অ্যাপ আপডেট করার জন্য আরও সময়ের প্রয়োজন হলে আপনি 1 নভেম্বর, 2024 পর্যন্ত এক্সটেনশনের অনুরোধ করতে পারবেন। আপনি এই বছরের শেষের দিকে Play Console-এ আপনার অ্যাপের এক্সটেনশন ফর্মগুলি অ্যাক্সেস করতে সক্ষম হবেন।
এই প্রয়োজনীয়তাগুলির ব্যতিক্রমগুলির মধ্যে রয়েছে:
- স্থায়ীভাবে ব্যক্তিগত অ্যাপ যা একটি নির্দিষ্ট প্রতিষ্ঠানের ব্যবহারকারীদের জন্য সীমাবদ্ধ এবং শুধুমাত্র অভ্যন্তরীণ বিতরণের উদ্দেশ্যে।
- অ্যাপ্লিকেশানগুলি যেগুলি Android Automotive OS কে লক্ষ্য করে বা Android Automotive OS কে লক্ষ্য করে APK সহ প্যাকেজ করা হয়৷
কেন নতুন SDK টার্গেট?
প্রতিটি নতুন অ্যান্ড্রয়েড সংস্করণ এমন পরিবর্তনগুলি প্রবর্তন করে যা নিরাপত্তা এবং কর্মক্ষমতা উন্নতি নিয়ে আসে এবং অ্যান্ড্রয়েড ব্যবহারকারীর অভিজ্ঞতা বাড়ায়৷ এই পরিবর্তনগুলির মধ্যে কিছু শুধুমাত্র সেই অ্যাপগুলির ক্ষেত্রে প্রযোজ্য যা স্পষ্টভাবে তাদের targetSdkVersion
ম্যানিফেস্ট অ্যাট্রিবিউটের মাধ্যমে সমর্থন ঘোষণা করে (এটি টার্গেট API স্তর হিসাবেও পরিচিত)৷
একটি সাম্প্রতিক API স্তর লক্ষ্য করার জন্য আপনার অ্যাপটি কনফিগার করা নিশ্চিত করে যে ব্যবহারকারীরা এই উন্নতিগুলি থেকে উপকৃত হতে পারেন, যখন আপনার অ্যাপ এখনও পুরানো Android সংস্করণে চলতে পারে। সাম্প্রতিক API স্তরকে লক্ষ্য করে আপনার অ্যাপটিকে আপনার ব্যবহারকারীদের খুশি করার জন্য প্ল্যাটফর্মের সর্বশেষ বৈশিষ্ট্যগুলির সুবিধা নেওয়ার অনুমতি দেয়৷ উপরন্তু, অ্যান্ড্রয়েড 10 (এপিআই লেভেল 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 বৈশিষ্ট্যটি স্পষ্টভাবে ঘোষণা করতে হবে।
- হাইবারনেশন: অ্যাপগুলিকে হাইবারনেশন মোডে রাখা হতে পারে যদি সেগুলি নির্দিষ্ট সময়ের মধ্যে ব্যবহার না করা হয়। হাইবারনেশন মোডে আপনার অ্যাপের রানটাইম অনুমতি এবং ক্যাশে রিসেট করা হয় এবং আপনি চাকরি বা সতর্কতা চালাতে পারবেন না। আপনি আপনার অ্যাপের হাইবারনেশন স্ট্যাটাস চেক করতে পারেন।
- মুলতুবি অভিপ্রায় পরিবর্তনযোগ্যতা : আপনাকে অবশ্যই আপনার অ্যাপ তৈরি করা প্রতিটি PendingIntent বস্তুর পরিবর্তনযোগ্যতা নির্দিষ্ট করতে হবে।
ব্যবহারকারীর অভিজ্ঞতা
- কাস্টম বিজ্ঞপ্তি : কাস্টম বিষয়বস্তু দর্শন সহ বিজ্ঞপ্তিগুলি আর সম্পূর্ণ বিজ্ঞপ্তি এলাকা ব্যবহার করবে না; পরিবর্তে, সিস্টেমটি একটি আদর্শ টেমপ্লেট প্রয়োগ করে। এই টেমপ্লেটটি নিশ্চিত করে যে কাস্টম বিজ্ঞপ্তিগুলি সমস্ত রাজ্যে অন্যান্য বিজ্ঞপ্তিগুলির মতো একই সজ্জা রয়েছে৷ এই আচরণটি
Notification.DecoratedCustomViewStyle
এর আচরণের সাথে প্রায় অভিন্ন। - অ্যান্ড্রয়েড অ্যাপ লিঙ্ক যাচাইকরণের পরিবর্তন : অ্যান্ড্রয়েড অ্যাপ লিঙ্ক যাচাইকরণ ব্যবহার করার সময়, নিশ্চিত করুন যে আপনার অভিপ্রায় ফিল্টারগুলি ব্রাউজযোগ্য বিভাগ অন্তর্ভুক্ত করে এবং HTTPS স্কিম সমর্থন করে।
কর্মক্ষমতা
ফোরগ্রাউন্ড পরিষেবা লঞ্চ বিধিনিষেধ : Android 12 বা উচ্চতরকে টার্গেট করতে, কিছু বিশেষ ক্ষেত্রে ছাড়া আপনার অ্যাপটি ব্যাকগ্রাউন্ডে চলাকালীন ফোরগ্রাউন্ড পরিষেবাগুলি শুরু করতে পারে না। যদি একটি অ্যাপ ব্যাকগ্রাউন্ডে চলাকালীন একটি ফোরগ্রাউন্ড পরিষেবা শুরু করার চেষ্টা করে, একটি ব্যতিক্রম ঘটে (কিছু বিশেষ ক্ষেত্রে বাদে)।
আপনার অ্যাপ ব্যাকগ্রাউন্ডে চলাকালীন সময়সূচী করতে এবং দ্রুত কাজ শুরু করতে WorkManager ব্যবহার করার কথা বিবেচনা করুন। ব্যবহারকারীর অনুরোধ করা সময়-সংবেদনশীল ক্রিয়াগুলি সম্পূর্ণ করতে, একটি সঠিক অ্যালার্মের মধ্যে ফোরগ্রাউন্ড পরিষেবাগুলি শুরু করুন।
নোটিফিকেশন ট্রামপোলিন সীমাবদ্ধতা : যখন ব্যবহারকারীরা বিজ্ঞপ্তিতে ট্যাপ করে, তখন কিছু অ্যাপ একটি অ্যাপ কম্পোনেন্ট লঞ্চ করে সাড়া দেয় যা ব্যবহারকারী দেখেন এবং ইন্টারঅ্যাক্ট করে এমন কার্যকলাপ শুরু করে। এই অ্যাপ কম্পোনেন্টটি নোটিফিকেশন ট্রামপোলিন নামে পরিচিত।
অ্যাপ্লিকেশানগুলি পরিষেবা বা সম্প্রচার রিসিভার থেকে কার্যকলাপ শুরু করা উচিত নয় যা বিজ্ঞপ্তি ট্রাম্পোলাইন হিসাবে ব্যবহৃত হয়। কোনও ব্যবহারকারী বিজ্ঞপ্তির মধ্যে একটি বিজ্ঞপ্তি বা অ্যাকশন বোতামে ট্যাপ করার পরে, আপনার অ্যাপটি কোনও পরিষেবা বা ব্রডকাস্ট রিসিভারের ভিতরে
startActivity()
কল করতে পারে না।
Android 12 (API স্তর 31) টার্গেট করা অ্যাপগুলিকে প্রভাবিত করে এমন পরিবর্তনগুলির সম্পূর্ণ সেট দেখুন৷
অ্যান্ড্রয়েড 11 (API লেভেল 30) এর চেয়ে কম থেকে মাইগ্রেট করুন
Android এর যে সংস্করণ থেকে আপনি স্থানান্তরিত হবেন সেটি নির্বাচন করুন:
Android 5 এ স্থানান্তর করুন (API স্তর 21)
আপনার অ্যাপ এই রিলিজে প্রবর্তিত পরিবর্তনগুলির জন্য দায়ী কিনা তা নিশ্চিত করতে নিম্নলিখিত প্রতিটি রিলিজের জন্য সংশ্লিষ্ট আচরণ পরিবর্তন পৃষ্ঠাটি দেখুন:
পরবর্তী বিভাগে নির্দেশাবলী অনুসরণ করে চালিয়ে যান।
Android 6 (API স্তর 23) এ স্থানান্তরিত করুন
নিম্নলিখিত বিবেচনাগুলি Android 6.0 এবং প্ল্যাটফর্মের উচ্চতর সংস্করণগুলিকে লক্ষ্য করে এমন অ্যাপগুলিতে প্রযোজ্য:
বিপজ্জনক অনুমতি শুধুমাত্র রানটাইমে দেওয়া হয়. এই অনুমতিগুলি দেওয়ার জন্য আপনার UI ফ্লোকে অবশ্যই সামর্থ্য প্রদান করতে হবে।
যেখানেই সম্ভব, নিশ্চিত করুন যে আপনার অ্যাপটি অনুমতির অনুরোধ প্রত্যাখ্যান করার জন্য প্রস্তুত রয়েছে। উদাহরণস্বরূপ, যদি কোনও ব্যবহারকারী ডিভাইসের জিপিএস অ্যাক্সেস করার অনুরোধ প্রত্যাখ্যান করেন, তবে নিশ্চিত করুন যে আপনার অ্যাপটি এগিয়ে যাওয়ার অন্য উপায় আছে।
Android 6.0 (API স্তর 23) এ প্রবর্তিত পরিবর্তনগুলির একটি সম্পূর্ণ তালিকার জন্য, প্ল্যাটফর্মের সেই সংস্করণের জন্য আচরণ পরিবর্তন পৃষ্ঠাটি দেখুন।
পরবর্তী বিভাগে নির্দেশাবলী অনুসরণ করে চালিয়ে যান।
Android 7 (API স্তর 24) এ স্থানান্তরিত করুন
নিম্নলিখিত বিবেচনাগুলি Android 7.0 এবং প্ল্যাটফর্মের উচ্চতর সংস্করণগুলিকে লক্ষ্য করে এমন অ্যাপগুলিতে প্রযোজ্য:
ডোজ এবং অ্যাপ স্ট্যান্ডবাই
অপ্টিমাইজিং ফর ডোজ এবং অ্যাপ স্ট্যান্ডবাই- এ বর্ণিত আচরণের জন্য ডিজাইন, যা বিভিন্ন প্ল্যাটফর্ম রিলিজ জুড়ে প্রবর্তিত ক্রমবর্ধমান পরিবর্তনগুলিকে অন্তর্ভুক্ত করে।
যখন একটি ডিভাইস ডোজ এবং অ্যাপ স্ট্যান্ডবাই মোডে থাকে, তখন সিস্টেমটি নিম্নরূপ আচরণ করে:
- নেটওয়ার্ক অ্যাক্সেস সীমাবদ্ধ করে
- অ্যালার্ম, সিঙ্ক এবং কাজ স্থগিত করে
- GPS এবং Wi-Fi স্ক্যান সীমাবদ্ধ করে
- সাধারণ-অগ্রাধিকার Firebase ক্লাউড মেসেজিং বার্তা সীমাবদ্ধ করে।
অনুমতি পরিবর্তন
- সিস্টেমটি অ্যাপের ব্যক্তিগত ডিরেক্টরিতে অ্যাক্সেস সীমাবদ্ধ করে।
- আপনার অ্যাপের বাইরে একটি
file://
URI প্রকাশ করলে একটিFileUriExposedException
ট্রিগার হয়। আপনার অ্যাপের বাইরে ফাইল শেয়ার করার প্রয়োজন হলে,FileProvider
প্রয়োগ করুন
সিস্টেমটি নন-এনডিকে লাইব্রেরির সাথে লিঙ্ক করা নিষিদ্ধ করে ।
Android 7.0 (API স্তর 24) এ প্রবর্তিত পরিবর্তনগুলির একটি সম্পূর্ণ তালিকার জন্য, প্ল্যাটফর্মের সেই সংস্করণের জন্য আচরণ পরিবর্তন পৃষ্ঠাটি দেখুন।
পরবর্তী বিভাগে নির্দেশাবলী অনুসরণ করে চালিয়ে যান।
Android 8 (API স্তর 26) এ স্থানান্তরিত করুন
নিম্নলিখিত বিবেচনাগুলি Android 8.0 এবং প্ল্যাটফর্মের উচ্চতর সংস্করণগুলিকে লক্ষ্য করে এমন অ্যাপগুলিতে প্রযোজ্য:
- ব্যাকগ্রাউন্ড এক্সিকিউশন লিমিট
- সিস্টেমটি অগ্রভাগে চলমান না এমন অ্যাপগুলির জন্য পরিষেবাগুলিকে সীমাবদ্ধ করে৷
-
startService()
এখন একটি ব্যতিক্রম ছুঁড়ে দেয় যখন একটি অ্যাপ এটি চালু করার চেষ্টা করে যখনstartService()
নিষিদ্ধ থাকে। - ফোরগ্রাউন্ড পরিষেবাগুলি শুরু করতে, একটি অ্যাপকে অবশ্যই
startForeground()
এবংstartForegroundService()
ব্যবহার করতে হবে। - Android 8.0 (API স্তর 26) আচরণ পরিবর্তন পৃষ্ঠায় নথিভুক্ত হিসাবে JobScheduler API-তে করা পরিবর্তনগুলি সাবধানতার সাথে পর্যালোচনা করুন।
- Firebase ক্লাউড মেসেজিং এর জন্য Google Play পরিষেবা SDK এর 10.2.1 সংস্করণ বা উচ্চতর সংস্করণ প্রয়োজন৷
- Firebase ক্লাউড মেসেজিং ব্যবহার করার সময়, বার্তা বিতরণ ব্যাকগ্রাউন্ড এক্সিকিউশন সীমা সাপেক্ষে। যখন বার্তা প্রাপ্তির পরে ব্যাকগ্রাউন্ডের কাজ করা প্রয়োজন, যেমন ব্যাকগ্রাউন্ড ডেটা সিঙ্ক করার জন্য, আপনার অ্যাপের পরিবর্তে Firebase জব ডিসপ্যাচার বা JobIntentService ব্যবহার করে কাজের সময় নির্ধারণ করা উচিত। আরও তথ্যের জন্য, ফায়ারবেস ক্লাউড মেসেজিং ডকুমেন্টেশন দেখুন।
-
- অন্তর্নিহিত সম্প্রচার
- অন্তর্নিহিত সম্প্রচার সীমাবদ্ধ। ব্যাকগ্রাউন্ড ইভেন্ট পরিচালনার বিষয়ে তথ্যের জন্য,
JobScheduler
API-এর ডকুমেন্টেশন দেখুন।
- অন্তর্নিহিত সম্প্রচার সীমাবদ্ধ। ব্যাকগ্রাউন্ড ইভেন্ট পরিচালনার বিষয়ে তথ্যের জন্য,
- পটভূমি অবস্থান সীমা
- ব্যাকগ্রাউন্ডে চলমান অ্যাপগুলির অবস্থান ডেটাতে সীমিত অ্যাক্সেস রয়েছে।
- Google Play পরিষেবা সহ ডিভাইসগুলিতে, পর্যায়ক্রমিক অবস্থান আপডেট পেতে ফিউজড অবস্থান প্রদানকারী ব্যবহার করুন৷
- ব্যাকগ্রাউন্ডে চলমান অ্যাপগুলির অবস্থান ডেটাতে সীমিত অ্যাক্সেস রয়েছে।
- সিস্টেমটি অগ্রভাগে চলমান না এমন অ্যাপগুলির জন্য পরিষেবাগুলিকে সীমাবদ্ধ করে৷
- বিজ্ঞপ্তি চ্যানেল
- আপনার প্রতি-চ্যানেল ভিত্তিতে বিজ্ঞপ্তি বাধা বৈশিষ্ট্য সংজ্ঞায়িত করা উচিত।
- বিজ্ঞপ্তিগুলি প্রদর্শিত হওয়ার জন্য আপনাকে অবশ্যই একটি চ্যানেলে বিজ্ঞপ্তিগুলি বরাদ্দ করতে হবে৷
- প্ল্যাটফর্মের এই সংস্করণটি
NotificationCompat.Builder
সমর্থন করে।
- গোপনীয়তা
- অ্যাপ্লিকেশান সাইনিং কী প্রতি ANDROID_ID স্কোপ করা হয়েছে৷
অ্যান্ড্রয়েড 8.0 (API স্তর 26) এ প্রবর্তিত পরিবর্তনগুলির একটি সম্পূর্ণ তালিকার জন্য, প্ল্যাটফর্মের সেই সংস্করণের জন্য আচরণ পরিবর্তন পৃষ্ঠাটি দেখুন।
Android 8 (API 26) থেকে Android 9 (API 28) এ স্থানান্তরিত করুন
- পাওয়ার ম্যানেজমেন্ট
- অ্যাপ স্ট্যান্ডবাই বাকেট অ্যাপের ব্যস্ততার উপর ভিত্তি করে নতুন ব্যাকগ্রাউন্ড সীমাবদ্ধতা নিয়ে আসে, যেমন বিলম্বিত চাকরি, অ্যালার্ম এবং উচ্চ-অগ্রাধিকার বার্তাগুলিতে কোটা
- ব্যাটারি সেভারের উন্নতি অ্যাপ স্ট্যান্ডবাই অ্যাপের সীমাবদ্ধতা বাড়ায়
- ফোরগ্রাউন্ড পরিষেবা অনুমতি
- স্বাভাবিক অনুমতির জন্য অনুরোধ করতে হবে
FOREGROUND_SERVICE
(রানটাইম অনুমতি নয়)
- স্বাভাবিক অনুমতির জন্য অনুরোধ করতে হবে
- গোপনীয়তা পরিবর্তন
- পটভূমি সেন্সর সীমিত অ্যাক্সেস
- কল লগগুলিতে সীমাবদ্ধ অ্যাক্সেস, এখন
CALL_LOG
অনুমতি গোষ্ঠীতে৷ - ফোন নম্বরগুলিতে সীমাবদ্ধ অ্যাক্সেস,
READ_CALL_LOG
অনুমতির প্রয়োজন৷ - Wi-Fi তথ্যে সীমাবদ্ধ অ্যাক্সেস
Android 9.0 (API স্তর 28) এ প্রবর্তিত পরিবর্তনগুলির একটি সম্পূর্ণ তালিকার জন্য, আচরণের পরিবর্তনগুলি দেখুন।
Android 9 (API স্তর 28) থেকে Android 10 (API স্তর 29) এ স্থানান্তরিত করুন
- একটি পূর্ণ-স্ক্রীন অভিপ্রায় সঙ্গে বিজ্ঞপ্তি
- স্বাভাবিক অনুমতির অনুরোধ করতে হবে
USE_FULL_SCREEN_INTENT
(রানটাইম অনুমতি নয়)।
- স্বাভাবিক অনুমতির অনুরোধ করতে হবে
- ফোল্ডেবল এবং বড় পর্দার ডিভাইসগুলির জন্য সমর্থন
- একাধিক ক্রিয়াকলাপ এখন একই সময়ে "পুনরায় শুরু" অবস্থায় থাকতে পারে, তবে শুধুমাত্র একটিরই ফোকাস রয়েছে৷
- এই পরিবর্তনটি
onResume()
এবংonPause()
আচরণকে প্রভাবিত করে। - "টপমোস্ট রিজুমেড" এর নতুন লাইফসাইকেল ধারণা যা
onTopResumedActivityChanged()
এ সদস্যতা নেওয়ার মাধ্যমে সনাক্ত করা যেতে পারে।- শুধুমাত্র একটি কার্যকলাপ "সর্বোচ্চ পুনঃসূচনা" হতে পারে।
- এই পরিবর্তনটি
-
resizeableActivity
false
সেট করা হলে, অ্যাপগুলি অতিরিক্ত একটিminAspectRatio
নির্দিষ্ট করতে পারে যা স্বয়ংক্রিয়ভাবে অ্যাপটিকে সংকীর্ণ অনুপাতের লেটারবক্স করে।
- একাধিক ক্রিয়াকলাপ এখন একই সময়ে "পুনরায় শুরু" অবস্থায় থাকতে পারে, তবে শুধুমাত্র একটিরই ফোকাস রয়েছে৷
- গোপনীয়তা পরিবর্তন
- স্কোপড স্টোরেজ
- বাহ্যিক সঞ্চয়স্থান অ্যাক্সেস শুধুমাত্র একটি অ্যাপ-নির্দিষ্ট ডিরেক্টরিতে এবং অ্যাপটি তৈরি করা নির্দিষ্ট ধরনের মিডিয়াতে সীমাবদ্ধ।
- অ্যাপ্লিকেশানটি ব্যাকগ্রাউন্ডে থাকাকালীন অবস্থানে সীমাবদ্ধ অ্যাক্সেস,
ACCESS_BACKGROUND_LOCATION
অনুমতির প্রয়োজন৷ - IMEI এবং সিরিয়াল নম্বরের মতো নন-রিসেটযোগ্য শনাক্তকারীগুলিতে সীমাবদ্ধ অ্যাক্সেস।
-
ACTIVITY_RECOGNITION
অনুমতির প্রয়োজন, ব্যবহারকারীর ধাপ সংখ্যার মতো শারীরিক কার্যকলাপের তথ্যে সীমাবদ্ধ অ্যাক্সেস। - কিছু টেলিফোনি, ব্লুটুথ, এবং ওয়াই-ফাই API- এ সীমাবদ্ধ অ্যাক্সেসের জন্য
ACCESS_FINE_LOCATION
অনুমতি প্রয়োজন৷ - Wi-Fi সেটিংসে সীমাবদ্ধ অ্যাক্সেস
- অ্যাপগুলি আর সরাসরি 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 ইন্টারফেসগুলির একটি বিস্তৃত তালিকার জন্য Android 11-এ ব্লক করা নন-SDK ইন্টারফেসগুলি দেখুন৷
অ্যান্ড্রয়েড 11 (এপিআই স্তর 30) এ প্রবর্তিত পরিবর্তনগুলির একটি সম্পূর্ণ তালিকার জন্য, আচরণ পরিবর্তন পৃষ্ঠাটি দেখুন।
পূর্ববর্তী বিভাগে নির্দেশাবলী অনুসরণ করে API 31-এ আপডেট করা চালিয়ে যান।
আপনার অ্যাপসকে আধুনিক করুন
আপনি আপনার অ্যাপগুলির জন্য লক্ষ্য API স্তর আপডেট করার সাথে সাথে আপনার অ্যাপগুলিকে আধুনিক করতে এবং আপনার ব্যবহারকারীদের খুশি করতে সাম্প্রতিক প্ল্যাটফর্ম বৈশিষ্ট্যগুলি গ্রহণ করার কথা বিবেচনা করুন।
- ক্যামেরা ব্যবহার করে সবচেয়ে বেশি সুবিধা পেতে CameraX ব্যবহার করার কথা বিবেচনা করুন, যা বিটাতে রয়েছে।
- জেটপ্যাক উপাদানগুলি ব্যবহার করুন আপনাকে সর্বোত্তম অনুশীলনগুলি অনুসরণ করতে সাহায্য করতে, আপনাকে বয়লারপ্লেট কোড লেখা থেকে মুক্ত করতে এবং জটিল কাজগুলিকে সহজ করতে যাতে আপনি আপনার যত্নশীল কোডের উপর ফোকাস করতে পারেন৷
- দ্রুত এবং কম কোড সহ আরও ভাল অ্যাপ লিখতে Kotlin ব্যবহার করুন।
- আপনি গোপনীয়তার প্রয়োজনীয়তা এবং সর্বোত্তম অনুশীলনগুলি অনুসরণ করছেন তা নিশ্চিত করুন।
- আপনার অ্যাপে গাঢ় থিম সমর্থন যোগ করুন।
- আপনার অ্যাপ্লিকেশানগুলিতে অঙ্গভঙ্গি নেভিগেশন সমর্থন যোগ করুন।
- Google ক্লাউড মেসেজিং (GCM) থেকে Firebase ক্লাউড মেসেজিংয়ের সর্বশেষ সংস্করণে আপনার অ্যাপ স্থানান্তর করুন ।
- উন্নত উইন্ডো ব্যবস্থাপনার সুবিধা নিন।
- হার্ডওয়্যারের সাম্প্রতিক অগ্রগতির সুবিধা নিতে বৃহত্তর অনুপাত (16:9-এর বেশি) সমর্থন করুন। নিশ্চিত করুন যে আপনার অ্যাপটি উপলব্ধ স্ক্রীন স্পেস পূরণ করতে আকার পরিবর্তন করে। শুধুমাত্র একটি শেষ অবলম্বন হিসাবে একটি সর্বাধিক আকৃতির অনুপাত ঘোষণা করুন৷ সর্বাধিক আকৃতির অনুপাত সম্পর্কে আরও তথ্যের জন্য, সীমাবদ্ধ স্ক্রীন সমর্থন ঘোষণা করুন দেখুন।
- আপনার অ্যাপের উৎপাদনশীলতা বাড়াতে এবং একাধিক ডিসপ্লে পরিচালনা করতে মাল্টি-উইন্ডো সমর্থন যোগ করুন।
- যদি একটি দুর্দান্ত মিনিমাইজড অ্যাপ অভিজ্ঞতা ব্যবহারকারীর অভিজ্ঞতাকে উন্নত করে, তাহলে 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 অ্যাপস দেখুন।
আপনি যে Android সাপোর্ট লাইব্রেরি ব্যবহার করছেন তার সংস্করণে বিদ্যমান থাকতে পারে এমন যেকোনো বিধিনিষেধও আপনার যাচাই করা উচিত। বরাবরের মতো, আপনাকে অবশ্যই Android সাপোর্ট লাইব্রেরির প্রধান সংস্করণ এবং আপনার অ্যাপের compileSdkVersion
মধ্যে সামঞ্জস্যতা নিশ্চিত করতে হবে।
আমরা সুপারিশ করছি যে আপনি সাপোর্ট লাইব্রেরির প্রধান সংস্করণের চেয়ে ছোট বা সমান একটি targetSdkVersion
বেছে নিন। সাম্প্রতিক সামঞ্জস্যপূর্ণ বৈশিষ্ট্য এবং বাগ ফিক্সের সুবিধা নেওয়ার জন্য আমরা আপনাকে একটি সাম্প্রতিক সামঞ্জস্যপূর্ণ সমর্থন লাইব্রেরিতে আপডেট করতে উত্সাহিত করি৷
আপনার অ্যাপ পরীক্ষা করুন
আপনি আপনার অ্যাপের API স্তর এবং উপযুক্ত বৈশিষ্ট্যগুলি আপডেট করার পরে, আপনার কিছু মূল ব্যবহারের ক্ষেত্রে পরীক্ষা করা উচিত। নিম্নলিখিত পরামর্শগুলি সম্পূর্ণ নয়, তবে আপনার পরীক্ষার প্রক্রিয়াকে গাইড করা লক্ষ্য করে। আমরা পরীক্ষা করার পরামর্শ দিই:
- যে আপনার অ্যাপটি এপিআই 29 এ কোন ত্রুটি বা সতর্কতা ছাড়াই কম্পাইল করে।
যে ক্ষেত্রে ব্যবহারকারী অনুমতির অনুরোধ প্রত্যাখ্যান করে এবং ব্যবহারকারীকে অনুমতির জন্য অনুরোধ করে সেই ক্ষেত্রে আপনার অ্যাপের একটি কৌশল রয়েছে। এটি করতে:
- আপনার অ্যাপের অ্যাপ তথ্য স্ক্রিনে যান এবং প্রতিটি অনুমতি অক্ষম করুন।
- অ্যাপটি খুলুন এবং কোন ক্র্যাশ নিশ্চিত করুন।
- মূল ব্যবহারের ক্ষেত্রে পরীক্ষা করুন এবং নিশ্চিত করুন যে প্রয়োজনীয় অনুমতিগুলি পুনরায় অনুরোধ করা হয়েছে।
প্রত্যাশিত ফলাফল এবং কোন ত্রুটি সহ Doze পরিচালনা করে।
- adb ব্যবহার করে, আপনার অ্যাপটি চলাকালীন আপনার পরীক্ষা ডিভাইসটিকে Doze-এ রাখুন।
- ফায়ারবেস ক্লাউড মেসেজিং বার্তাগুলিকে ট্রিগার করে এমন কোনও ব্যবহারের ক্ষেত্রে পরীক্ষা করুন৷
- অ্যালার্ম বা চাকরি ব্যবহার করে এমন কোনো ব্যবহারের ক্ষেত্রে পরীক্ষা করুন।
- ব্যাকগ্রাউন্ড পরিষেবার উপর কোন নির্ভরতা দূর করুন।
- অ্যাপ স্ট্যান্ডবাই-এ আপনার অ্যাপ সেট করুন
- ফায়ারবেস ক্লাউড মেসেজিং বার্তাগুলিকে ট্রিগার করে এমন কোনও ব্যবহারের ক্ষেত্রে পরীক্ষা করুন৷
- অ্যালার্ম ব্যবহার করে এমন কোনো ব্যবহারের ক্ষেত্রে পরীক্ষা করুন।
- adb ব্যবহার করে, আপনার অ্যাপটি চলাকালীন আপনার পরীক্ষা ডিভাইসটিকে Doze-এ রাখুন।
নতুন ছবি/ভিডিও তোলা হচ্ছে
- আপনার অ্যাপটি সীমাবদ্ধ
ACTION_NEW_PICTURE
এবংACTION_NEW_VIDEO
সম্প্রচার সঠিকভাবে পরিচালনা করে কিনা পরীক্ষা করুন (অর্থাৎ, JobScheduler চাকরিতে সরানো হয়েছে)। - এই ইভেন্টগুলির উপর নির্ভর করে এমন কোনও সমালোচনামূলক ব্যবহারের ক্ষেত্রে এখনও কাজ করে কিনা তা নিশ্চিত করুন।
- আপনার অ্যাপটি সীমাবদ্ধ
অন্য অ্যাপের সাথে ফাইল শেয়ারিং হ্যান্ডেল করে - অন্য কোনও অ্যাপের সাথে ফাইল ডেটা শেয়ার করে এমন কোনও ব্যবহারের ক্ষেত্রে পরীক্ষা করুন (এমনকি একই ডেভেলপারের দ্বারা অন্য কোনও অ্যাপ)
- পরীক্ষা করুন বিষয়বস্তু অন্য অ্যাপে দৃশ্যমান এবং ক্র্যাশ ট্রিগার করে না।
আরও তথ্য
Google Play কনসোলে ইমেলগুলি বেছে নিন যাতে আমরা আপনাকে Android এবং Google Play থেকে আমাদের মাসিক অংশীদার নিউজলেটার সহ গুরুত্বপূর্ণ আপডেট এবং ঘোষণা পাঠাতে পারি।