Google Play এর লক্ষ্য API স্তরের প্রয়োজনীয়তা পূরণ করুন

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

২০২৫ সালের ৩১শে আগস্ট থেকে শুরু:

  • Google Play-তে জমা দেওয়ার জন্য নতুন অ্যাপ এবং অ্যাপ আপডেটগুলোকে অবশ্যই Android 15 (API লেভেল 35) বা তার উচ্চতর সংস্করণকে টার্গেট করতে হবে; তবে Wear OS, Android Automotive OS, এবং Android TV অ্যাপগুলোর ক্ষেত্রে এটি প্রযোজ্য নয়, যেগুলোকে অবশ্যই Android 14 (API লেভেল 34) বা তার উচ্চতর সংস্করণকে টার্গেট করতে হবে।
  • আপনার অ্যাপের টার্গেট এপিআই লেভেলের চেয়ে উচ্চতর অ্যান্ড্রয়েড ওএস চালিত ডিভাইসগুলিতে নতুন ব্যবহারকারীদের কাছে উপলব্ধ থাকার জন্য, বিদ্যমান অ্যাপগুলিকে অবশ্যই অ্যান্ড্রয়েড ১৪ (এপিআই লেভেল ৩৪) বা তার উচ্চতর সংস্করণকে টার্গেট করতে হবে। যেসব অ্যাপ অ্যান্ড্রয়েড ১৩ (এপিআই লেভেল ৩৩) বা তার নিম্নতর সংস্করণকে টার্গেট করে, যার মধ্যে Wear OS এবং Android TV-এর জন্য অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) বা তার নিম্নতর সংস্করণও অন্তর্ভুক্ত, সেগুলি শুধুমাত্র সেইসব ডিভাইসে উপলব্ধ হবে যেগুলি আপনার অ্যাপের টার্গেট এপিআই লেভেলের সমান বা তার চেয়ে নিম্নতর অ্যান্ড্রয়েড ওএস চালিত।

আপনার অ্যাপ আপডেট করার জন্য আরও সময়ের প্রয়োজন হলে, আপনি ১ নভেম্বর, ২০২৫ পর্যন্ত সময় বাড়ানোর জন্য অনুরোধ করতে পারবেন। এই বছরের শেষের দিকে আপনি প্লে কনসোলে আপনার অ্যাপের সময় বাড়ানোর ফর্মগুলো অ্যাক্সেস করতে পারবেন।

এই শর্তাবলীর ব্যতিক্রমগুলো হলো:

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

নতুন SDK-গুলোকে কেন টার্গেট করা হয়?

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

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

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

অ্যান্ড্রয়েড ১২ এবং তার উচ্চতর সংস্করণ (এপিআই লেভেল ৩১) থেকে আরও সাম্প্রতিক সংস্করণে মাইগ্রেট করুন।

আপনার অ্যাপটিকে অ্যান্ড্রয়েডের আরও সাম্প্রতিক সংস্করণের উপযোগী করে আপডেট করতে, প্রাসঙ্গিক আচরণগত পরিবর্তনের তালিকাটি অনুসরণ করুন:

Android 11 (API লেভেল 30) থেকে Android 12 (API লেভেল 31)-এ মাইগ্রেট করুন

নিরাপত্তা এবং অনুমতি

  • ব্লুটুথ : আপনাকে অবশ্যই BLUETOOTH এবং BLUETOOTH_ADMIN পারমিশনের ডিক্লারেশনগুলো BLUETOOTH_SCAN , BLUETOOTH_ADVERTISE , অথবা BLUETOOTH_CONNECT পারমিশন দিয়ে প্রতিস্থাপন করতে হবে। ব্লুটুথ অপারেশনের জন্য আপনাকে আর LOCATION রানটাইম পারমিশন রিকোয়েস্ট করতে হবে না।
  • অবস্থান: ব্যবহারকারীরা অ্যাপগুলিকে শুধুমাত্র আনুমানিক অবস্থানের তথ্য পুনরুদ্ধার করার জন্য অনুরোধ করতে পারেন। যখনই আপনি ACCESS_FINE_LOCATION পারমিশনের জন্য অনুরোধ করবেন, তখনই আপনাকে ACCESS_COARSE_LOCATION পারমিশনের জন্যও অনুরোধ করতে হবে।
  • হাইবারনেশন: অ্যাপগুলো কিছু সময় ধরে ব্যবহার না করা হলে হাইবারনেশন মোডে চলে যেতে পারে। হাইবারনেশন মোডে আপনার অ্যাপের রানটাইম পারমিশন এবং ক্যাশে রিসেট হয়ে যায়, এবং আপনি কোনো জব বা অ্যালার্ট চালাতে পারেন না। আপনি আপনার অ্যাপের হাইবারনেশন স্ট্যাটাস চেক করতে পারেন।
  • পেন্ডিং ইনটেন্টের পরিবর্তনযোগ্যতা : আপনার অ্যাপ দ্বারা তৈরি প্রতিটি PendingIntent অবজেক্টের পরিবর্তনযোগ্যতা আপনাকে অবশ্যই নির্দিষ্ট করতে হবে।

ব্যবহারকারীর অভিজ্ঞতা

  • কাস্টম নোটিফিকেশন : কাস্টম কন্টেন্ট ভিউ সহ নোটিফিকেশনগুলো আর সম্পূর্ণ নোটিফিকেশন এরিয়া ব্যবহার করবে না; এর পরিবর্তে, সিস্টেম একটি স্ট্যান্ডার্ড টেমপ্লেট প্রয়োগ করবে। এই টেমপ্লেটটি নিশ্চিত করে যে কাস্টম নোটিফিকেশনগুলোর সমস্ত স্টেটে অন্যান্য নোটিফিকেশনের মতোই একই ডেকোরেশন থাকবে। এই আচরণটি Notification.DecoratedCustomViewStyle এর আচরণের প্রায় অনুরূপ।
  • অ্যান্ড্রয়েড অ্যাপ লিঙ্ক যাচাইকরণে পরিবর্তন : অ্যান্ড্রয়েড অ্যাপ লিঙ্ক যাচাইকরণ ব্যবহার করার সময়, নিশ্চিত করুন যে আপনার ইন্টেন্ট ফিল্টারগুলিতে BROWSABLE ক্যাটাগরি অন্তর্ভুক্ত আছে এবং সেগুলি HTTPS স্কিম সমর্থন করে।

কর্মক্ষমতা

  • ফোরগ্রাউন্ড সার্ভিস চালু করার সীমাবদ্ধতা : অ্যান্ড্রয়েড ১২ বা তার উচ্চতর সংস্করণকে টার্গেট করতে গেলে, কয়েকটি বিশেষ ক্ষেত্র ছাড়া আপনার অ্যাপ ব্যাকগ্রাউন্ডে চলার সময় ফোরগ্রাউন্ড সার্ভিস চালু করতে পারবে না। যদি কোনো অ্যাপ ব্যাকগ্রাউন্ডে চলার সময় ফোরগ্রাউন্ড সার্ভিস চালু করার চেষ্টা করে, তাহলে একটি এক্সেপশন (ব্যতিক্রম) ঘটে।

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

  • নোটিফিকেশন ট্রাম্পোলিনের সীমাবদ্ধতা : যখন ব্যবহারকারীরা নোটিফিকেশনে ট্যাপ করেন, তখন কিছু অ্যাপ একটি অ্যাপ কম্পোনেন্ট চালু করে যা সেই অ্যাক্টিভিটি শুরু করে যা ব্যবহারকারী দেখেন এবং যার সাথে ইন্টারঅ্যাক্ট করেন। এই অ্যাপ কম্পোনেন্টটি নোটিফিকেশন ট্রাম্পোলিন নামে পরিচিত।

    অ্যাপগুলি এমন সার্ভিস বা ব্রডকাস্ট রিসিভার থেকে অ্যাক্টিভিটি শুরু করতে পারবে না যা নোটিফিকেশন ট্রাম্পোলিন হিসাবে ব্যবহৃত হয়। ব্যবহারকারী কোনো নোটিফিকেশন বা তার ভেতরের অ্যাকশন বাটনে ট্যাপ করার পর, আপনার অ্যাপ কোনো সার্ভিস বা ব্রডকাস্ট রিসিভারের ভেতরে startActivity() কল করতে পারবে না।

অ্যান্ড্রয়েড ১২ (এপিআই লেভেল ৩১) টার্গেট করা অ্যাপগুলোকে প্রভাবিত করে এমন সমস্ত পরিবর্তন দেখুন।

অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) এর পূর্ববর্তী সংস্করণ থেকে মাইগ্রেট করুন

আপনি অ্যান্ড্রয়েডের যে সংস্করণ থেকে মাইগ্রেট করবেন তা নির্বাচন করুন:

অ্যান্ড্রয়েড ৫ (এপিআই লেভেল ২১)-এ মাইগ্রেট করুন

আপনার অ্যাপটি এই রিলিজগুলিতে প্রবর্তিত পরিবর্তনগুলি অন্তর্ভুক্ত করেছে কিনা তা নিশ্চিত করতে, নিম্নলিখিত প্রতিটি রিলিজের জন্য সংশ্লিষ্ট 'আচরণ পরিবর্তন' পৃষ্ঠাটি দেখুন:

পরবর্তী বিভাগে দেওয়া নির্দেশাবলী অনুসরণ করে এগিয়ে যান।

অ্যান্ড্রয়েড ৬ (এপিআই লেভেল ২৩)-এ মাইগ্রেট করুন

অ্যান্ড্রয়েড ৬.০ এবং এর উচ্চতর সংস্করণগুলোকে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে নিম্নলিখিত বিষয়গুলো প্রযোজ্য:

  • রানটাইম অনুমতি

    • বিপজ্জনক অনুমতিগুলো শুধুমাত্র রানটাইমে প্রদান করা হয়। আপনার UI ফ্লো-তে এই অনুমতিগুলো প্রদানের জন্য সুযোগ-সুবিধা থাকতে হবে।

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

অ্যান্ড্রয়েড ৬.০ (এপিআই লেভেল ২৩)-এ প্রবর্তিত পরিবর্তনগুলির একটি বিশদ তালিকার জন্য, প্ল্যাটফর্মটির সেই সংস্করণের ' বিহেভিয়ার চেঞ্জেস' পৃষ্ঠাটি দেখুন।

পরবর্তী বিভাগে দেওয়া নির্দেশাবলী অনুসরণ করে এগিয়ে যান।

অ্যান্ড্রয়েড ৭ (এপিআই লেভেল ২৪)-এ মাইগ্রেট করুন

অ্যান্ড্রয়েড ৭.০ এবং এর উচ্চতর সংস্করণগুলোকে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে নিম্নলিখিত বিষয়গুলো প্রযোজ্য:

  • ডোজ এবং অ্যাপ স্ট্যান্ডবাই

    "ডোজ এবং অ্যাপ স্ট্যান্ডবাই অপ্টিমাইজ করা" অংশে বর্ণিত আচরণগুলির জন্য ডিজাইন করুন, যা বিভিন্ন প্ল্যাটফর্ম রিলিজ জুড়ে প্রবর্তিত ক্রমবর্ধমান পরিবর্তনগুলিকে অন্তর্ভুক্ত করে।

    যখন কোনো ডিভাইস ডোজ এবং অ্যাপ স্ট্যান্ডবাই মোডে থাকে, তখন সিস্টেমটি নিম্নরূপ আচরণ করে:

    • নেটওয়ার্ক অ্যাক্সেস সীমাবদ্ধ করে
    • অ্যালার্ম, সিঙ্ক এবং কাজ স্থগিত করে
    • জিপিএস এবং ওয়াই-ফাই স্ক্যান সীমাবদ্ধ করে
    • সাধারণ অগ্রাধিকারের ফায়ারবেস ক্লাউড মেসেজিং বার্তা সীমাবদ্ধ করে।
  • অনুমতি পরিবর্তন

    • সিস্টেমটি অ্যাপের ব্যক্তিগত ডিরেক্টরিতে প্রবেশাধিকার সীমাবদ্ধ করে।
    • আপনার অ্যাপের বাইরে file:// URI প্রকাশ করলে একটি FileUriExposedException ট্রিগার হয়। যদি আপনার অ্যাপের বাইরে ফাইল শেয়ার করার প্রয়োজন হয়, তাহলে FileProvider ইমপ্লিমেন্ট করুন।
  • সিস্টেমটি নন-এনডিকে লাইব্রেরির সাথে লিঙ্ক করা নিষিদ্ধ করে

অ্যান্ড্রয়েড ৭.০ (এপিআই লেভেল ২৪)-এ প্রবর্তিত পরিবর্তনগুলির একটি বিশদ তালিকার জন্য, প্ল্যাটফর্মটির সেই সংস্করণের ' বিহেভিয়ার চেঞ্জেস' পৃষ্ঠাটি দেখুন।

পরবর্তী বিভাগে দেওয়া নির্দেশাবলী অনুসরণ করে এগিয়ে যান।

অ্যান্ড্রয়েড ৮ (এপিআই লেভেল ২৬)-এ মাইগ্রেট করুন

অ্যান্ড্রয়েড ৮.০ এবং এর উচ্চতর সংস্করণগুলোকে লক্ষ্য করে তৈরি অ্যাপগুলোর ক্ষেত্রে নিম্নলিখিত বিষয়গুলো প্রযোজ্য:

  • পটভূমিতে নির্বাহের সীমাবদ্ধতা
    • সিস্টেমটি ফোরগ্রাউন্ডে চালু না থাকা অ্যাপগুলোর জন্য পরিষেবা সীমাবদ্ধ করে।
      • যখন startService startService() নিষিদ্ধ থাকে, তখন কোনো অ্যাপ এটিকে কল করার চেষ্টা করলে startService() এখন একটি এক্সেপশন থ্রো করে।
      • ফোরগ্রাউন্ড সার্ভিস চালু করতে, একটি অ্যাপকে অবশ্যই startForeground() এবং startForegroundService() ব্যবহার করতে হবে।
      • Android 8.0 (API level 26) Behavior Changes পৃষ্ঠায় নথিভুক্ত JobScheduler API-তে করা পরিবর্তনগুলি মনোযোগ সহকারে পর্যালোচনা করুন।
      • Firebase Cloud Messaging ব্যবহারের জন্য Google Play services SDK- এর সংস্করণ 10.2.1 বা তার উচ্চতর সংস্করণ প্রয়োজন।
      • Firebase Cloud Messaging ব্যবহার করার সময়, মেসেজ ডেলিভারি ব্যাকগ্রাউন্ড এক্সিকিউশন লিমিটের অধীন। মেসেজ পাওয়ার পর যখন ব্যাকগ্রাউন্ডে কাজ করার প্রয়োজন হয়, যেমন ব্যাকগ্রাউন্ড ডেটা সিঙ্ক করার জন্য, তখন আপনার অ্যাপের উচিত Firebase Job Dispatcher বা JobIntentService ব্যবহার করে জব শিডিউল করা। আরও তথ্যের জন্য, Firebase Cloud Messaging ডকুমেন্টেশন দেখুন।
    • অন্তর্নিহিত সম্প্রচার
      • অন্তর্নিহিত সম্প্রচার সীমাবদ্ধ। ব্যাকগ্রাউন্ড ইভেন্ট পরিচালনা সম্পর্কে তথ্যের জন্য, JobScheduler API-এর ডকুমেন্টেশন দেখুন।
    • পটভূমির অবস্থান সীমা
      • ব্যাকগ্রাউন্ডে চলমান অ্যাপগুলোর লোকেশন ডেটাতে সীমিত অ্যাক্সেস থাকে।
  • বিজ্ঞপ্তি চ্যানেল
    • আপনার প্রতিটি চ্যানেলের জন্য আলাদাভাবে নোটিফিকেশন বাধা দেওয়ার বৈশিষ্ট্যগুলো নির্ধারণ করা উচিত।
    • নোটিফিকেশনগুলো প্রদর্শিত হওয়ার জন্য আপনাকে অবশ্যই একটি চ্যানেলে নোটিফিকেশনগুলো নির্ধারণ করতে হবে।
    • প্ল্যাটফর্মের এই সংস্করণটি NotificationCompat.Builder সমর্থন করে।
  • গোপনীয়তা
    • ANDROID_ID প্রতিটি অ্যাপ সাইনিং কী-এর জন্য আলাদাভাবে নির্ধারিত হয়।

অ্যান্ড্রয়েড ৮.০ (এপিআই লেভেল ২৬)-এ প্রবর্তিত পরিবর্তনগুলির একটি বিশদ তালিকার জন্য, প্ল্যাটফর্মটির সেই সংস্করণের ' বিহেভিয়ার চেঞ্জেস' পৃষ্ঠাটি দেখুন।

অ্যান্ড্রয়েড ৮ (এপিআই ২৬) থেকে অ্যান্ড্রয়েড ৯ (এপিআই ২৮)-এ মাইগ্রেট করুন

অ্যান্ড্রয়েড ৯.০ (এপিআই লেভেল ২৮)-এ প্রবর্তিত পরিবর্তনগুলির একটি বিশদ তালিকার জন্য, আচরণগত পরিবর্তনসমূহ দেখুন।

অ্যান্ড্রয়েড ৯ (এপিআই লেভেল ২৮) থেকে অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯)-এ মাইগ্রেট করুন

  • পূর্ণ-স্ক্রিন ইন্টেন্ট সহ বিজ্ঞপ্তি
    • সাধারণ পারমিশন USE_FULL_SCREEN_INTENT জন্য অনুরোধ করতে হবে (রানটাইম পারমিশন নয়)।
  • ফোল্ডেবল এবং বড় স্ক্রিনের ডিভাইসগুলির জন্য সমর্থন
    • এখন একাধিক কার্যকলাপ একই সময়ে 'পুনরায় শুরু' অবস্থায় থাকতে পারে, কিন্তু প্রকৃতপক্ষে কেবল একটিই ফোকাসে থাকবে।
      • এই পরিবর্তনটি onResume() এবং onPause() ফাংশনের আচরণকে প্রভাবিত করে।
      • 'টপমোস্ট রেজিউমড' নামক নতুন লাইফসাইকেল ধারণাটি onTopResumedActivityChanged() -এ সাবস্ক্রাইব করার মাধ্যমে শনাক্ত করা যায়।
        • শুধুমাত্র একটি কার্যকলাপই 'সর্বাধিক পুনরায় শুরু করা' যেতে পারে।
    • যখন resizeableActivity false সেট করা হয়, তখন অ্যাপগুলো অতিরিক্তভাবে একটি minAspectRatio নির্দিষ্ট করতে পারে, যা সংকীর্ণতর অ্যাস্পেক্ট রেশিওতে অ্যাপটিকে স্বয়ংক্রিয়ভাবে লেটারবক্স করে।
  • গোপনীয়তা পরিবর্তন
    • স্কোপড স্টোরেজ
      • বাহ্যিক স্টোরেজে প্রবেশাধিকার শুধুমাত্র একটি অ্যাপ-নির্দিষ্ট ডিরেক্টরি এবং অ্যাপটি দ্বারা তৈরি নির্দিষ্ট ধরণের মিডিয়ার মধ্যেই সীমাবদ্ধ।
    • অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন লোকেশন অ্যাক্সেস সীমাবদ্ধ থাকে, যার জন্য ACCESS_BACKGROUND_LOCATION পারমিশন প্রয়োজন।
    • IMEI এবং সিরিয়াল নম্বরের মতো রিসেট-অযোগ্য শনাক্তকারীগুলিতে প্রবেশাধিকার সীমিত।
    • ব্যবহারকারীর পদক্ষেপ সংখ্যার মতো শারীরিক কার্যকলাপের তথ্যে প্রবেশাধিকার সীমিত, যার জন্য ACTIVITY_RECOGNITION অনুমতি প্রয়োজন।
    • কিছু টেলিফোনি, ব্লুটুথ এবং ওয়াই-ফাই এপিআই- তে প্রবেশাধিকার সীমিত, যার জন্য ACCESS_FINE_LOCATION অনুমতি প্রয়োজন।
    • ওয়াই-ফাই সেটিংসে সীমিত প্রবেশাধিকার

Android 10 (API লেভেল 29) থেকে Android 11 (API লেভেল 30)-এ মাইগ্রেট করুন

অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০)-এ প্রবর্তিত পরিবর্তনগুলির একটি বিশদ তালিকার জন্য, ‘বিহেভিয়ার চেঞ্জেস’ পৃষ্ঠাটি দেখুন।

পূর্ববর্তী বিভাগে দেওয়া নির্দেশাবলী অনুসরণ করে API 31-এ আপডেট করতে থাকুন।

আপনার অ্যাপগুলোকে আধুনিক করুন

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

আপনার SDK এবং লাইব্রেরিগুলো পরীক্ষা ও আপডেট করুন।

নিশ্চিত করুন যে আপনার থার্ড-পার্টি SDK ডিপেন্ডেন্সিগুলো API 31 সাপোর্ট করে: কিছু SDK প্রোভাইডার তাদের ম্যানিফেস্টে এটি প্রকাশ করে; অন্যদের ক্ষেত্রে অতিরিক্ত তদন্তের প্রয়োজন হবে। আপনি যদি এমন কোনো SDK ব্যবহার করেন যা API 31 সাপোর্ট করে না, তবে সমস্যাটি সমাধানের জন্য SDK প্রোভাইডারের সাথে কাজ করাকে অগ্রাধিকার দিন।

এছাড়াও, মনে রাখবেন যে আপনার অ্যাপ বা গেমের targetSdkVersion ব্যক্তিগত অ্যান্ড্রয়েড প্ল্যাটফর্ম লাইব্রেরিতে অ্যাক্সেস সীমাবদ্ধ করতে পারে; বিস্তারিত জানার জন্য “NDK Apps Linking to Platform Libraries” দেখুন।

আপনি যে অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরির সংস্করণটি ব্যবহার করছেন, তাতে কোনো সীমাবদ্ধতা আছে কিনা তাও আপনার যাচাই করে নেওয়া উচিত। বরাবরের মতোই, আপনাকে অ্যান্ড্রয়েড সাপোর্ট লাইব্রেরির প্রধান সংস্করণ এবং আপনার অ্যাপের compileSdkVersion এর মধ্যে সামঞ্জস্য নিশ্চিত করতে হবে।

আমরা আপনাকে সাপোর্ট লাইব্রেরির প্রধান সংস্করণের চেয়ে ছোট বা সমান একটি targetSdkVersion বেছে নেওয়ার পরামর্শ দিই। সর্বশেষ সামঞ্জস্যপূর্ণ বৈশিষ্ট্য এবং বাগ ফিক্সের সুবিধা নিতে আমরা আপনাকে একটি সাম্প্রতিক সামঞ্জস্যপূর্ণ সাপোর্ট লাইব্রেরিতে আপডেট করার জন্য উৎসাহিত করি।

আপনার অ্যাপ পরীক্ষা করুন

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

  • আপনার অ্যাপটি যেন কোনো ত্রুটি বা সতর্কতা ছাড়াই এপিআই ২৯ (API 29)-এ কম্পাইল হয়।
  • ব্যবহারকারী অনুমতির অনুরোধ প্রত্যাখ্যান করলে, আপনার অ্যাপে যেন তার কাছে অনুমতির জন্য অনুরোধ করার একটি কৌশল থাকে। তা করতে:

    • আপনার অ্যাপের 'অ্যাপ ইনফো' স্ক্রিনে যান এবং প্রতিটি অনুমতি নিষ্ক্রিয় করুন।
    • অ্যাপটি খুলুন এবং নিশ্চিত করুন যেন কোনো ক্র্যাশ না হয়।
      • মূল ব্যবহারের ক্ষেত্রগুলো পরীক্ষা করুন এবং নিশ্চিত করুন যে প্রয়োজনীয় অনুমতিগুলো পুনরায় চাওয়া হচ্ছে।
  • Doze প্রক্রিয়াটি প্রত্যাশিত ফলাফল দেয় এবং কোনো ত্রুটি হয় না।

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

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

    • পরীক্ষা করে দেখুন কন্টেন্টটি অন্য অ্যাপে দেখা যাচ্ছে কিনা এবং এর কারণে অ্যাপটি ক্র্যাশ করছে কিনা।

আরও তথ্য

গুগল প্লে কনসোলে ইমেইলের জন্য সম্মতি দিন, যাতে আমরা আপনাকে অ্যান্ড্রয়েড এবং গুগল প্লে থেকে গুরুত্বপূর্ণ আপডেট ও ঘোষণা, আমাদের মাসিক পার্টনার নিউজলেটার সহ, পাঠাতে পারি।