বৈশিষ্ট্য এবং APIs ওভারভিউ

অ্যান্ড্রয়েড 12 ডেভেলপারদের জন্য দুর্দান্ত নতুন বৈশিষ্ট্য এবং এপিআই প্রবর্তন করে। নীচের বিভাগগুলি আপনাকে আপনার অ্যাপগুলির বৈশিষ্ট্যগুলি সম্পর্কে জানতে এবং সম্পর্কিত APIগুলির সাথে শুরু করতে সহায়তা করে৷

নতুন, পরিবর্তিত এবং সরানো API-এর বিস্তারিত তালিকার জন্য, API ডিফ রিপোর্ট পড়ুন। নতুন এপিআই সম্পর্কে বিস্তারিত জানার জন্য অ্যান্ড্রয়েড এপিআই রেফারেন্স দেখুন — নতুন এপিআইগুলি দৃশ্যমানতার জন্য হাইলাইট করা হয়েছে। এছাড়াও, প্ল্যাটফর্মের পরিবর্তনগুলি আপনার অ্যাপ্লিকেশানগুলিকে প্রভাবিত করতে পারে এমন অঞ্চলগুলি সম্পর্কে জানতে, Android 12 এবং সমস্ত অ্যাপ্লিকেশানের জন্য লক্ষ্য করা অ্যাপগুলির জন্য Android 12 আচরণের পরিবর্তনগুলি পরীক্ষা করে দেখুন৷

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

উপাদান আপনি

Android 12 Material You নামে একটি নতুন ডিজাইনের ভাষা প্রবর্তন করেছে, যা আপনাকে আরও ব্যক্তিগতকৃত, সুন্দর অ্যাপ তৈরি করতে সাহায্য করে। আপনার অ্যাপ্লিকেশানগুলিতে সাম্প্রতিক সমস্ত উপাদান ডিজাইন 3 আপডেট আনতে, উপাদান ডিজাইন উপাদানগুলির একটি আলফা সংস্করণ চেষ্টা করুন৷

উপাদান আপনি

উইজেট উন্নতি

অ্যান্ড্রয়েড 12 প্ল্যাটফর্ম এবং লঞ্চারগুলিতে ব্যবহারকারী এবং বিকাশকারীর অভিজ্ঞতা উন্নত করতে বিদ্যমান উইজেট এপিআইকে পুনর্গঠন করে। আপনার উইজেটটি Android 12-এর সাথে সামঞ্জস্যপূর্ণ কিনা তা নিশ্চিত করতে এবং নতুন বৈশিষ্ট্যগুলির সাথে এটিকে রিফ্রেশ করতে আমরা একটি গাইড তৈরি করেছি।

আরও তথ্যের জন্য Android 12 উইজেটগুলির উন্নতিগুলি দেখুন৷

সমৃদ্ধ বিষয়বস্তু সন্নিবেশ

অ্যান্ড্রয়েড 12 একটি নতুন ইউনিফাইড এপিআই প্রবর্তন করেছে যা আপনার অ্যাপকে যেকোনো উপলব্ধ উৎস থেকে সমৃদ্ধ সামগ্রী পেতে দেয়: ক্লিপবোর্ড, কীবোর্ড, বা টেনে আনুন এবং ড্রপ করুন।

আরও তথ্যের জন্য, সমৃদ্ধ সামগ্রী পান দেখুন।

অ্যাপ স্প্ল্যাশ স্ক্রিন API

অ্যান্ড্রয়েড 12 সমস্ত অ্যাপের জন্য একটি নতুন অ্যাপ লঞ্চ অ্যানিমেশন প্রবর্তন করেছে যাতে লঞ্চের স্থান থেকে একটি ইন-অ্যাপ মোশন, অ্যাপ আইকন দেখানো একটি স্প্ল্যাশ স্ক্রীন এবং অ্যাপটিতেই একটি রূপান্তর অন্তর্ভুক্ত থাকে। আরও বিশদ বিবরণের জন্য স্প্ল্যাশ স্ক্রিন বিকাশকারী নির্দেশিকা দেখুন।

বৃত্তাকার কোণ APIs

Android 12 RoundedCorner এবং WindowInsets.getRoundedCorner(int position) প্রবর্তন করে, যা গোলাকার কোণগুলির জন্য ব্যাসার্ধ এবং কেন্দ্র বিন্দু প্রদান করে।

আরও তথ্যের জন্য, গোলাকার কোণগুলি দেখুন।

সমৃদ্ধ হ্যাপটিক অভিজ্ঞতা

Android 12 UI ইভেন্টগুলির জন্য তথ্যপূর্ণ হ্যাপটিক প্রতিক্রিয়া, গেমিংয়ের জন্য নিমগ্ন এবং আনন্দদায়ক প্রভাব এবং উত্পাদনশীলতার জন্য মনোযোগী হ্যাপটিক্স তৈরি করার সরঞ্জামগুলিকে প্রসারিত করে।

অ্যাকচুয়েটর প্রভাব

অ্যান্ড্রয়েড 12 কম টিক-এর মতো অভিব্যক্তিপূর্ণ প্রভাব যুক্ত করে যা সাম্প্রতিক অ্যাকুয়েটরগুলির বিস্তৃত ফ্রিকোয়েন্সি ব্যান্ডউইথের সুবিধা নেয়। গেম ডেভেলপাররা এখন গেম কন্ট্রোলারে একাধিক, বিভিন্ন অ্যাকচুয়েটরকে স্বাধীনভাবে অ্যাক্সেস করতে পারে যাতে একই প্রভাব সিঙ্ক্রোনাসভাবে বা একাধিক অ্যাকচুয়েটরগুলিতে বিভিন্ন হ্যাপটিক প্রভাব সরবরাহ করতে পারে। বিকাশকারীদের জন্য, আমরা ধ্রুবক এবং প্রাইমিটিভগুলিকে সমৃদ্ধ হ্যাপটিক প্রভাবগুলির জন্য বিল্ডিং ব্লক হিসাবে ব্যবহার করার পরামর্শ দিই - UI ইভেন্টগুলিকে উন্নত করতে ধ্রুবক এবং আরও জটিল প্রভাবগুলির জন্য আদিমগুলিকে ক্রমানুসারে হ্যাপটিক কম্পোজার ৷ এই APIsগুলি Pixel 4 ডিভাইসে চেষ্টা করার জন্য উপলব্ধ, এবং আমরা ইকোসিস্টেম জুড়ে ব্যবহারকারীদের জন্য হ্যাপটিক্স সমর্থনের সাম্প্রতিকতম সুবিধা আনতে আমাদের ডিভাইস নির্মাতা অংশীদারদের সাথে কাজ চালিয়ে যাচ্ছি।

অডিও-কাপলড হ্যাপটিক প্রভাব

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

আরও তথ্যের জন্য HapticGenerator রেফারেন্স ডকুমেন্টেশন দেখুন।

অ্যাপসার্চ

Android 12 একটি সিস্টেম পরিষেবা হিসাবে অ্যাপসার্চ, একটি উচ্চ-পারফরম্যান্স অন-ডিভাইস সার্চ ইঞ্জিন প্রবর্তন করেছে। AppSearch অ্যাপ্লিকেশানগুলিকে স্ট্রাকচার্ড ডেটা ইন্ডেক্স করতে এবং বিল্ট-ইন পূর্ণ-টেক্সট অনুসন্ধান ক্ষমতা সহ এটি অনুসন্ধান করার অনুমতি দেয়। উপরন্তু, AppSearch নেটিভ সার্চ বৈশিষ্ট্যগুলিকে সমর্থন করে, যেমন উচ্চ-দক্ষ সূচক এবং পুনরুদ্ধার, বহু-ভাষা সমর্থন এবং প্রাসঙ্গিকতা র‌্যাঙ্কিং।

অ্যাপসার্চের মধ্যে সূচীকরণ এবং অনুসন্ধানের চিত্র তুলে ধরা হয়েছে

AppSearch দুটি স্বাদে আসে: আপনার অ্যাপ্লিকেশানের জন্য একটি স্থানীয় সূচক যা ব্যবহার করার জন্য Android এর পুরানো সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ, বা Android 12-এর পুরো সিস্টেমের জন্য রক্ষণাবেক্ষণ করা একটি কেন্দ্রীয় সূচী৷ কেন্দ্রীয় সূচী ব্যবহার করে, আপনার অ্যাপ্লিকেশনটি এর ডেটা প্রদর্শনের অনুমতি দিতে পারে৷ সিস্টেমের পূর্বে ইনস্টল করা বুদ্ধিমত্তা উপাদান দ্বারা সিস্টেম UI পৃষ্ঠতল। ঠিক কোন ডেটা সিস্টেম UI পৃষ্ঠে প্রদর্শিত হয় তা OEM-এর উপর নির্ভর করে। উপরন্তু, আপনার অ্যাপ্লিকেশন নিরাপদে অন্যান্য অ্যাপ্লিকেশনের সাথে ডেটা ভাগ করতে পারে, যাতে তারা সেই ডেটাও অনুসন্ধান করতে পারে৷

ডেভেলপার গাইডে AppSearch সম্পর্কে আরও জানুন, এবং AppSearch Jetpack লাইব্রেরির সাথে এটি ব্যবহার শুরু করুন, যা একটি ডেভেলপার-বান্ধব API পৃষ্ঠের পাশাপাশি টীকা প্রসেসর সমর্থন প্রদান করে।

গেম মোড

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

আরও তথ্যের জন্য, গেম মোড দেখুন।

পিকচার-ইন-পিকচার (পিআইপি) সুপারিশ এবং উন্নতি

Android 12 PiP মোডের জন্য নিম্নলিখিত উন্নতিগুলি প্রবর্তন করে:

নতুন PiP অঙ্গভঙ্গি জন্য সমর্থন

Android 12 এখন PiP উইন্ডোর জন্য স্ট্যাশিং এবং পিঞ্চ-টু-জুম অঙ্গভঙ্গি সমর্থন করে:

  • উইন্ডোটি আটকানোর জন্য, ব্যবহারকারী উইন্ডোটিকে বাম বা ডান প্রান্তে টেনে আনতে পারেন। উইন্ডোটি আনস্ট্যাশ করতে, ব্যবহারকারী হয় লুকিয়ে রাখা উইন্ডোর দৃশ্যমান অংশে ট্যাপ করতে পারেন বা এটি টেনে আনতে পারেন।

  • ব্যবহারকারী এখন পিঞ্চ-টু-জুম ব্যবহার করে পিআইপি উইন্ডোর আকার পরিবর্তন করতে পারেন।

অ্যান্ড্রয়েড 12 ফুলস্ক্রিন এবং পিআইপি উইন্ডোর মধ্যে অ্যানিমেটেড ট্রানজিশনে উল্লেখযোগ্য প্রসাধনী উন্নতি যোগ করেছে। আমরা দৃঢ়ভাবে সমস্ত প্রযোজ্য পরিবর্তন বাস্তবায়নের সুপারিশ করি; একবার আপনি এটি করে ফেললে, এই পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে বড় স্ক্রিনে যেমন ফোল্ডেবল এবং ট্যাবলেটে আর কোনো প্রয়োজনীয় কাজ ছাড়াই স্কেল হবে।

এই বৈশিষ্ট্যগুলি নিম্নরূপ:

নতুন ফোন কল বিজ্ঞপ্তিগুলি ইনকামিং কলগুলির র‌্যাঙ্কিং গুরুত্বের জন্য অনুমতি দেয়

Android 12 ফোন কলের জন্য নতুন বিজ্ঞপ্তি শৈলী Notification.CallStyle যোগ করেছে। এই টেমপ্লেটটি ব্যবহার করে আপনার অ্যাপটিকে একটি বিশিষ্ট চিপ প্রদর্শন করে সক্রিয় কলের গুরুত্ব নির্দেশ করতে দেয় যা স্ট্যাটাস বারে কলের সময় দেখায়; ব্যবহারকারী তাদের কলে ফিরে যেতে এই চিপটি ট্যাপ করতে পারেন।

যেহেতু ইনকামিং এবং চলমান কলগুলি ব্যবহারকারীদের জন্য সবচেয়ে গুরুত্বপূর্ণ, এই বিজ্ঞপ্তিগুলিকে ছায়ায় শীর্ষ র‌্যাঙ্কিং দেওয়া হয়৷ এই র‌্যাঙ্কিং সিস্টেমটিকে সম্ভাব্যভাবে এই অগ্রাধিকারযুক্ত কলগুলিকে অন্যান্য ডিভাইসে ফরোয়ার্ড করার অনুমতি দেয়।

সব ধরনের কলের জন্য নিচের কোডটি প্রয়োগ করুন।

কোটলিন

// Create a new call with the user as caller.
val incoming_caller = Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build()

জাভা

// Create a new call with the user as caller.
Person incoming_caller = new Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build();

একটি ইনকামিং কলের জন্য একটি কল শৈলী বিজ্ঞপ্তি তৈরি করতে forIncomingCall() ব্যবহার করুন৷

কোটলিন

// Create a call style notification for an incoming call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller)

জাভা

// Create a call style notification for an incoming call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller);

একটি চলমান কলের জন্য একটি কল স্টাইল বিজ্ঞপ্তি তৈরি করতে forOngoingCall() ব্যবহার করুন৷

কোটলিন

// Create a call style notification for an ongoing call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller)

জাভা

// Create a call style notification for an ongoing call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller);

একটি কল স্ক্রীন করার জন্য একটি কল স্টাইল বিজ্ঞপ্তি তৈরি করতে forScreeningCall() ব্যবহার করুন৷

কোটলিন

// Create a call style notification for screening a call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller)

জাভা

Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller);

বিজ্ঞপ্তির জন্য সমৃদ্ধ ইমেজ সমর্থন

Android 12-এ, আপনি এখন MessagingStyle() এবং BigPictureStyle() বিজ্ঞপ্তিতে অ্যানিমেটেড ছবি প্রদান করে আপনার অ্যাপের বিজ্ঞপ্তির অভিজ্ঞতাকে সমৃদ্ধ করতে পারেন। এছাড়াও, আপনার অ্যাপ এখন ব্যবহারকারীরা যখন নোটিফিকেশন শেড থেকে বার্তার উত্তর দেয় তখন ইমেজ মেসেজ পাঠাতে সক্ষম করে।

অঙ্গভঙ্গি নেভিগেশন জন্য ইমারসিভ মোড উন্নতি

Android 12 বিদ্যমান আচরণকে একীভূত করে যাতে ব্যবহারকারীদের ইমারসিভ মোডে থাকাকালীন জেসচার নেভিগেশন কমান্ডগুলি সম্পাদন করা সহজ হয়৷ এছাড়াও, Android 12 স্টিকি ইমারসিভ মোডের জন্য পশ্চাদগামী সামঞ্জস্যপূর্ণ আচরণ প্রদান করে।

সাম্প্রতিক ইউআরএল শেয়ারিং (শুধুমাত্র পিক্সেল)

পিক্সেল ডিভাইসে, ব্যবহারকারীরা এখন সাম্প্রতিক স্ক্রীন থেকে সরাসরি সম্প্রতি দেখা ওয়েব সামগ্রীর লিঙ্কগুলি ভাগ করতে পারেন৷ একটি অ্যাপে বিষয়বস্তু দেখার পরে, ব্যবহারকারী সাম্প্রতিক স্ক্রিনে সোয়াইপ করতে পারেন এবং অ্যাপটি খুঁজে পেতে পারেন যেখানে তারা সামগ্রীটি দেখেছেন, তারপর URL টি অনুলিপি বা ভাগ করতে লিঙ্ক বোতামে আলতো চাপুন৷

আরও তথ্যের জন্য, সাম্প্রতিক URL শেয়ারিং সক্ষম করুন দেখুন।

নিরাপত্তা এবং গোপনীয়তা

গোপনীয়তা ড্যাশবোর্ড

একটি উল্লম্ব টাইমলাইন বিভিন্ন অ্যাপ দেখায় যেগুলি অবস্থানের তথ্য অ্যাক্সেস করেছে এবং কোন সময়ে অ্যাক্সেসগুলি ঘটেছে
চিত্র 1. অবস্থান ব্যবহার স্ক্রীন, গোপনীয়তা ড্যাশবোর্ডের অংশ।

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

আপনার অ্যাপ কেন আপনার অ্যাপ লোকেশন, ক্যামেরা বা মাইক্রোফোনের তথ্য অ্যাক্সেস করে তা বুঝতে ব্যবহারকারীদের সাহায্য করার জন্য একটি যুক্তি প্রদান করতে পারে। এই যুক্তিটি নতুন গোপনীয়তা ড্যাশবোর্ড স্ক্রীনে, আপনার অ্যাপের অনুমতি স্ক্রীনে বা উভয়েই প্রদর্শিত হতে পারে।

ব্লুটুথ অনুমতি

Android 12 BLUETOOTH_SCAN , BLUETOOTH_ADVERTISE , এবং BLUETOOTH_CONNECT অনুমতিগুলি প্রবর্তন করে৷ এই অনুমতিগুলি Android 12 কে লক্ষ্য করে এমন অ্যাপ্লিকেশানগুলিকে ব্লুটুথ ডিভাইসের সাথে ইন্টারঅ্যাক্ট করা সহজ করে তোলে, বিশেষ করে এমন অ্যাপগুলির জন্য যেগুলির ডিভাইসের অবস্থানে অ্যাক্সেসের প্রয়োজন নেই৷

আপনার অ্যাপের ব্লুটুথ অনুমতি ঘোষণা আপডেট করুন

অ্যান্ড্রয়েড 12 বা উচ্চতরকে টার্গেট করার জন্য আপনার ডিভাইস প্রস্তুত করতে, আপনার অ্যাপের যুক্তি আপডেট করুন। ব্লুটুথ অনুমতিগুলির একটি উত্তরাধিকার সেট ঘোষণা করার পরিবর্তে, ব্লুটুথ অনুমতিগুলির আরও আধুনিক সেট ঘোষণা করুন৷

অনুমতি গ্রুপ লুকআপ

অ্যান্ড্রয়েড 12 বা উচ্চতর সংস্করণে, আপনি প্রশ্ন করতে পারেন কীভাবে সিস্টেমটি প্ল্যাটফর্ম-প্রদত্ত অনুমতিগুলিকে অনুমতি গোষ্ঠীতে সংগঠিত করে:

  • সিস্টেমটি একটি প্ল্যাটফর্ম-সংজ্ঞায়িত অনুমতি স্থাপন করেছে এমন অনুমতি গোষ্ঠী নির্ধারণ করতে, getGroupOfPlatformPermission() কল করুন।
  • প্ল্যাটফর্ম-সংজ্ঞায়িত অনুমতিগুলি নির্ধারণ করতে যা সিস্টেম একটি নির্দিষ্ট অনুমতি গোষ্ঠীতে রেখেছে, getPlatformPermissionsForGroup() কল করুন।

অ্যাপ্লিকেশন ওভারলে উইন্ডো লুকান

ব্যবহারকারীরা যখন ডেভেলপারের অ্যাপের সাথে ইন্টারঅ্যাক্ট করেন তখন তারা কী দেখেন তার উপর ডেভেলপারদের আরও নিয়ন্ত্রণ দিতে, Android 12 SYSTEM_ALERT_WINDOW অনুমতি আছে এমন অ্যাপগুলির দ্বারা আঁকা ওভারলে উইন্ডোগুলি লুকানোর ক্ষমতা চালু করে৷

HIDE_OVERLAY_WINDOWS অনুমতি ঘোষণা করার পরে, অ্যাপের নিজস্ব উইন্ডো দৃশ্যমান হলে TYPE_APPLICATION_OVERLAY ধরনের সমস্ত উইন্ডো লুকানো উচিত তা নির্দেশ করার জন্য একটি অ্যাপ setHideOverlayWindows() এ কল করতে পারে। লেনদেন নিশ্চিতকরণ প্রবাহের মতো সংবেদনশীল স্ক্রিনগুলি প্রদর্শন করার সময় অ্যাপগুলি এটি করতে বেছে নিতে পারে।

যে অ্যাপগুলি TYPE_APPLICATION_OVERLAY প্রকারের উইন্ডোগুলি দেখায় তাদের বিকল্পগুলি বিবেচনা করা উচিত যা তাদের ব্যবহারের ক্ষেত্রে আরও উপযুক্ত হতে পারে, যেমন পিকচার-ইন-পিকচার বা বুদবুদ

পরিচিত স্বাক্ষরকারীদের অনুমতি সুরক্ষা পতাকা

অ্যান্ড্রয়েড 12 থেকে শুরু করে, স্বাক্ষর-স্তরের অনুমতিগুলির জন্য knownCerts অ্যাট্রিবিউট আপনাকে ঘোষণার সময় পরিচিত স্বাক্ষর শংসাপত্রগুলির ডাইজেস্টগুলি উল্লেখ করতে দেয়।

আপনার অ্যাপ এই বৈশিষ্ট্যটি ঘোষণা করতে পারে এবং ডিভাইস এবং অ্যাপগুলিকে অন্য অ্যাপগুলিতে স্বাক্ষর করার অনুমতি দেওয়ার জন্য knownSigner পতাকা ব্যবহার করতে পারে, ডিভাইস উত্পাদন এবং চালানের সময় অ্যাপগুলিতে স্বাক্ষর না করেই৷

ডিভাইস বৈশিষ্ট্য প্রত্যয়ন

অ্যান্ড্রয়েড 12 অ্যাপ্লিকেশানগুলির সেটকে প্রসারিত করে যা এই অ্যাপগুলি একটি নতুন কী তৈরি করার সময় একটি প্রমাণীকরণ শংসাপত্রে থাকা ডিভাইসের বৈশিষ্ট্যগুলি যাচাই করতে পারে৷

Android 9 (API স্তর 28) অনুসারে, ডিভাইস নীতির মালিকরা (DPOs) যারা Keymaster 4.0 বা উচ্চতর ব্যবহার করেন তারা এই প্রত্যয়ন শংসাপত্রগুলিতে ডিভাইসের বৈশিষ্ট্যগুলি যাচাই করতে পারেন৷ Android 12 থেকে শুরু করে, Android 12 (API স্তর 31) বা উচ্চতরকে লক্ষ্য করে এমন যেকোনো অ্যাপ setDevicePropertiesAttestationIncluded() পদ্ধতি ব্যবহার করে এই যাচাইকরণ করতে পারে।

জেনারেট করা ডিভাইসের বৈশিষ্ট্যগুলির মধ্যে নিম্নলিখিত Build ক্ষেত্রগুলি অন্তর্ভুক্ত রয়েছে:

  • BRAND
  • DEVICE
  • MANUFACTURER
  • MODEL
  • PRODUCT

সুরক্ষিত লকস্ক্রিন বিজ্ঞপ্তি কর্ম

Android 12 থেকে শুরু করে, Notification.Action.Builder ক্লাস setAuthenticationRequired() পদ্ধতিকে সমর্থন করে, যা আপনার অ্যাপকে একটি প্রদত্ত বিজ্ঞপ্তি অ্যাকশন শুরু করার আগে একটি ডিভাইস আনলক করতে হবে । এই পদ্ধতিটি লক করা ডিভাইসগুলিতে বিজ্ঞপ্তিগুলিতে নিরাপত্তার একটি অতিরিক্ত স্তর যোগ করতে সাহায্য করে৷

বায়োমেট্রিক প্রম্পটের জন্য স্থানীয়করণযোগ্য স্ট্রিং

Android 12 আপনাকে আপনার অ্যাপের বায়োমেট্রিক প্রমাণীকরণ ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সাহায্য করার জন্য নতুন APIs প্রবর্তন করেছে। নতুন BiometricManager.Strings নেস্টেড ক্লাসে getButtonLabel() , getPromptMessage() , এবং getSettingName() পদ্ধতি অন্তর্ভুক্ত রয়েছে, যা আপনার অ্যাপটিকে একটি ব্যবহারকারী-পঠনযোগ্য এবং স্থানীয় বোতাম লেবেল, প্রম্পট বার্তা বা অ্যাপ সেটিং নাম পুনরুদ্ধার করতে দেয়। ব্যবহার করা বায়োমেট্রিক প্রমাণীকরণ পদ্ধতির জন্য সুনির্দিষ্ট আরও সুনির্দিষ্ট ব্যবহারকারী-মুখী নির্দেশাবলী তৈরি করতে এই লেবেলগুলি ব্যবহার করুন, যেমন "ফেস আনলক ব্যবহার করুন" বা "চালিয়ে যেতে আপনার আঙুলের ছাপ ব্যবহার করুন"।

মেসেজিং অ্যাপে ফিশিং শনাক্তকরণ (শুধুমাত্র পিক্সেল)

সন্দেহজনক বার্তা শনাক্ত হলে একজন ব্যবহারকারী এই ধরনের একটি বার্তা দেখেন।

সমর্থিত Pixel ডিভাইসে, Android 12 জনপ্রিয় মেসেজিং অ্যাপে প্রাপ্ত বার্তাগুলিতে ফিশিং সনাক্তকরণ চালায়। সিস্টেমটি সন্দেহজনক কার্যকলাপ সনাক্ত করতে ডিভাইসে মেশিন লার্নিং ব্যবহার করে। সনাক্ত করা হলে, ব্যবহারকারীদের সতর্ক করার জন্য সিস্টেমটি মেসেজিং অ্যাপের UI এর উপরে একটি নিরাপত্তা ওভারলে প্রদর্শন করে। উদাহরণস্বরূপ, ফিশিং সনাক্তকরণ নিম্নলিখিত সম্ভাব্য ঝুঁকি সম্পর্কে ব্যবহারকারীদের সতর্ক করতে পারে:

  • সন্দেহজনক অনুরোধ, যেমন একটি কোড, অর্থ, বা অনুরূপ পাঠানোর জন্য
  • অবিশ্বস্ত ইউআরএল
  • দূষিত সংযুক্তি
  • ক্ষতিকারক অ্যাপের লিঙ্ক

ব্যবহারকারীকে সতর্ক করার পাশাপাশি, ওভারলে ব্যবহারকারীকে একটি সন্দেহজনক বার্তা রিপোর্ট করতে এবং সিস্টেম দ্বারা জারি করা সতর্কতা সম্পর্কে প্রতিক্রিয়া প্রদান করতে দেয়।

বিকাশকারীরা তাদের অ্যাপ ম্যানিফেস্ট ফাইলগুলিতে com.google.android.ALLOW_PHISHING_DETECTION স্ট্রিং সহ একটি নতুন মেটাডেটা ট্যাগ যুক্ত করে এই বৈশিষ্ট্যটি থেকে অপ্ট-আউট করতে পারেন৷ যেমন:

<manifest>
    <application android:name="com.messagingapp">
        <meta-data android:name="com.google.android.ALLOW_PHISHING_DETECTION" android:value="false" />

    </application>
</manifest>

মিডিয়া

সামঞ্জস্যপূর্ণ মিডিয়া ট্রান্সকোডিং

অ্যান্ড্রয়েড 12 (এপিআই লেভেল 31) থেকে শুরু করে, সিস্টেমটি স্বয়ংক্রিয়ভাবে ডিভাইসে রেকর্ড করা HEVC(H.265) এবং HDR (HDR10 এবং HDR10+) ভিডিওগুলিকে AVC (H.264) এ ট্রান্সকোড করতে পারে, একটি ফর্ম্যাট যা স্ট্যান্ডার্ড প্লেয়ারের সাথে ব্যাপকভাবে সামঞ্জস্যপূর্ণ। . এটি আধুনিক কোডেকগুলির সুবিধা গ্রহণ করে যখন সেগুলি পুরানো অ্যাপ্লিকেশনগুলির সাথে সামঞ্জস্যের ত্যাগ ছাড়াই উপলব্ধ থাকে৷

আরও বিস্তারিত জানার জন্য সামঞ্জস্যপূর্ণ মিডিয়া ট্রান্সকোডিং দেখুন।

পারফরম্যান্স ক্লাস

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

আরো বিস্তারিত জানার জন্য কর্মক্ষমতা ক্লাস দেখুন.

ভিডিও এনকোডিং উন্নতি

Android 12 ভিডিও এনকোডিংয়ের জন্য কোয়ান্টাইজেশন প্যারামিটার (QP) মান নিয়ন্ত্রণের জন্য কীগুলির একটি মানক সেট সংজ্ঞায়িত করে, যা বিকাশকারীদের বিক্রেতা-নির্দিষ্ট কোড এড়াতে অনুমতি দেয়।

নতুন কীগুলি MediaFormat API এবং NDK মিডিয়া লাইব্রেরিতে পাওয়া যায়।

অ্যান্ড্রয়েড 12 ভিডিও এনকোডার দিয়ে শুরু করে একটি ন্যূনতম মানের থ্রেশহোল্ড প্রয়োগ করে৷ এটি গ্যারান্টি দেয় যে উচ্চ দৃশ্য জটিলতার সাথে ভিডিও এনকোড করার সময় ব্যবহারকারীরা অত্যন্ত নিম্ন মানের অভিজ্ঞতা পাবেন না।

অডিও ফোকাস

অ্যান্ড্রয়েড 12 (API লেভেল 31) দিয়ে শুরু করে, যখন একটি অ্যাপ অডিও ফোকাসের অনুরোধ করে যখন অন্য অ্যাপের ফোকাস থাকে এবং প্লে হচ্ছে, সিস্টেমটি প্লেয়িং অ্যাপকে বিবর্ণ করে দেয়।

আরও বিশদ বিবরণের জন্য Android 12 এবং উচ্চতর সংস্করণে অডিও ফোকাস দেখুন।

MediaDrm আপডেট

বর্তমান MediaDrm APIগুলির সাথে একটি সুরক্ষিত ডিকোডার উপাদান প্রয়োজন কিনা তা নির্ধারণ করতে, আপনাকে অবশ্যই এই পদক্ষেপগুলি অনুসরণ করতে হবে:

  1. একটি MediaDrm তৈরি করুন।
  2. একটি সেশন আইডি পেতে একটি সেশন খুলুন।
  3. সেশন আইডি ব্যবহার করে একটি MediaCrypto তৈরি করুন।
  4. MediaCrypto.requiresSecureDecoderComponent(mimeType) কল করুন।

নতুন পদ্ধতির সাথে requiresSecureDecoder(@NonNull String mime) এবং requiresSecureDecoder(@NonNull String mime, @SecurityLevel int level) আপনি একটি MediaDrm তৈরি করার সাথে সাথে এটি নির্ধারণ করতে পারেন।

ক্যামেরা

Camera2 বিক্রেতা এক্সটেনশন

আমাদের অনেক ডিভাইস প্রস্তুতকারক অংশীদার কাস্টম ক্যামেরা এক্সটেনশন তৈরি করেছেন—যেমন Bokeh, HDR, নাইট মোড এবং অন্যান্য—যা তারা চান যে অ্যাপগুলি তাদের ডিভাইসে আলাদা অভিজ্ঞতা তৈরি করতে ব্যবহার করুক। CameraX লাইব্রেরি ইতিমধ্যেই এই কাস্টম ভেন্ডর এক্সটেনশনগুলিকে সমর্থন করে৷ অ্যান্ড্রয়েড 12-এ, এই বিক্রেতা এক্সটেনশনগুলি এখন সরাসরি প্ল্যাটফর্মে উন্মুক্ত করা হয়েছে।

এই সংযোজনটি জটিল Camera2 বাস্তবায়নে রয়েছে এমন অ্যাপগুলিকে লিগ্যাসি কোডে উল্লেখযোগ্য পরিবর্তন না করেই বিক্রেতা এক্সটেনশনের সুবিধা নিতে সাহায্য করে৷ Camera2 এক্সটেনশন APIগুলি CameraX-এর মতো এক্সটেনশনগুলির ঠিক একই সেট প্রকাশ করে এবং সেগুলি ইতিমধ্যেই অনেকগুলি বিভিন্ন ডিভাইসে সমর্থিত, তাই আপনি কোনও অতিরিক্ত কনফিগারেশন ছাড়াই সেগুলি ব্যবহার করতে পারেন৷

আরও তথ্যের জন্য, CameraExtensionCharacteristics দেখুন।

Quad bayer ক্যামেরা সেন্সর সমর্থন

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

গ্রাফিক্স এবং ইমেজ

অ্যাপগুলিকে সমাধির পাথরের চিহ্নগুলিতে সরাসরি অ্যাক্সেস প্রদান করুন

Android 12 থেকে শুরু করে, আপনি ApplicationExitInfo.getTraceInputStream() পদ্ধতির মাধ্যমে প্রোটোকল বাফার হিসাবে আপনার অ্যাপের নেটিভ ক্র্যাশ সমাধির পাথর অ্যাক্সেস করতে পারেন। প্রোটোকল বাফার এই স্কিমা ব্যবহার করে সিরিয়াল করা হয়। পূর্বে, এই তথ্যে অ্যাক্সেস পাওয়ার একমাত্র উপায় ছিল অ্যান্ড্রয়েড ডিবাগ ব্রিজ (এডিবি)।

আরও তথ্যের জন্য, সমাধির পাথরের চিহ্নগুলিতে অ্যাপগুলিকে সরাসরি অ্যাক্সেস দিন দেখুন৷

AVIF ইমেজ সমর্থন

Android 12 AV1 ইমেজ ফাইল ফরম্যাট (AVIF) ব্যবহার করে এমন ছবিগুলির জন্য সমর্থন প্রবর্তন করে। AVIF হল AV1 ব্যবহার করে এনকোড করা ছবি এবং সিকোয়েন্সের জন্য একটি ধারক বিন্যাস। AVIF ভিডিও কম্প্রেশন থেকে ইন্ট্রা-ফ্রেম এনকোডেড সামগ্রীর সুবিধা নেয়। পুরানো ইমেজ ফরম্যাট যেমন JPEG এর সাথে তুলনা করলে এটি একই ফাইল সাইজের জন্য ইমেজ কোয়ালিটি নাটকীয়ভাবে উন্নত করে। এই বিন্যাসের সুবিধাগুলি গভীরভাবে দেখার জন্য, জেক আর্চিবল্ডের ব্লগ পোস্টটি দেখুন।

সহজ ব্লার, কালার ফিল্টার এবং অন্যান্য ইফেক্ট

অ্যান্ড্রয়েড 12 নতুন RenderEffect যোগ করে যা সাধারণ গ্রাফিক্স প্রভাব যেমন ব্লার, কালার ফিল্টার, অ্যান্ড্রয়েড শেডার ইফেক্ট এবং আরও অনেক কিছু View এবং রেন্ডারিং হায়ারার্কিতে প্রয়োগ করে। প্রভাবগুলি হয় চেইন প্রভাব (যা একটি অভ্যন্তরীণ এবং বাইরের প্রভাব রচনা করে) বা মিশ্র প্রভাব হিসাবে একত্রিত হতে পারে। বিভিন্ন Android ডিভাইস সীমিত প্রক্রিয়াকরণ ক্ষমতার কারণে বৈশিষ্ট্যটিকে সমর্থন করতে পারে বা নাও করতে পারে।

View.setRenderEffect(RenderEffect) কল করে View এর জন্য অন্তর্নিহিত RenderNode এও প্রভাব প্রয়োগ করা যেতে পারে।

একটি RenderEffect বাস্তবায়ন করতে:

view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))

নেটিভ অ্যানিমেটেড ইমেজ ডিকোডিং

অ্যান্ড্রয়েড 12-এ, অ্যানিমেটেড GIF এবং অ্যানিমেটেড ওয়েবপি ফাইল ফর্ম্যাটগুলি ব্যবহার করে এমন চিত্রগুলি থেকে সমস্ত ফ্রেম এবং টাইমিং ডেটা ডিকোড করতে NDK ImageDecoder API প্রসারিত করা হয়েছে। যখন এটি অ্যান্ড্রয়েড 11 এ প্রবর্তন করা হয়েছিল, তখন এই এপিআই এই বিন্যাসে অ্যানিমেশন থেকে শুধুমাত্র প্রথম চিত্রটিকে ডিকোড করেছিল।

APK আকার আরও কমাতে এবং নিরাপত্তা ও কর্মক্ষমতা সম্পর্কিত ভবিষ্যতের আপডেটগুলি থেকে উপকৃত হতে তৃতীয় পক্ষের লাইব্রেরির পরিবর্তে ImageDecoder ব্যবহার করুন।

API সম্পর্কে আরও বিশদের জন্য, API রেফারেন্স এবং GitHub-এর নমুনা পড়ুন।

সংযোগ

সহচর অ্যাপসকে জাগ্রত রাখা

ডিভাইস পরিচালনা করার জন্য চলমান থাকার জন্য সহচর অ্যাপ্লিকেশনগুলির প্রয়োজনকে সমর্থন করার জন্য, Android 12 এপিআইগুলি প্রবর্তন করে যা নিম্নলিখিতগুলি করে:

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

API ব্যবহার করতে, আপনার ডিভাইসগুলি অবশ্যই কম্প্যানিয়ন ডিভাইস ম্যানেজার ব্যবহার করে সংযুক্ত থাকতে হবে। আরও তথ্যের জন্য, CompanionDeviceManager.startObservingDevicePresence() এবং CompanionDeviceService.onDeviceAppeared() দেখুন।

কম্প্যানিয়ন ডিভাইস ম্যানেজার প্রোফাইল

একটি অনুমতি ডায়ালগ যা একটি একক অনুরোধে একাধিক অনুমতির অনুরোধ করতে একটি সহচর ডিভাইস প্রোফাইল ব্যবহার করে৷

Android 12 (API লেভেল 31) এবং উচ্চতর পার্টনার অ্যাপগুলি ঘড়ির সাথে কানেক্ট করার সময় সঙ্গী ডিভাইস প্রোফাইল ব্যবহার করতে পারে। একটি প্রোফাইল ব্যবহার করে এক ধাপে একটি ডিভাইস-টাইপ-নির্দিষ্ট সেটের অনুমতিগুলিকে একত্রিত করে তালিকাভুক্তি প্রক্রিয়াটিকে সহজ করে।

বান্ডেল করা অনুমতিগুলি কম্প্যানিয়ন অ্যাপকে একবার ডিভাইসটি কানেক্ট করার পরে মঞ্জুর করা হয় এবং শুধুমাত্র ডিভাইসটি সংযুক্ত থাকাকালীন স্থায়ী হয়। অ্যাপটি মুছে ফেলা বা অ্যাসোসিয়েশন সরানো অনুমতিগুলি সরিয়ে দেয়।

আরও তথ্যের জন্য, AssociationRequest.Builder.setDeviceProfile() দেখুন।

ব্যান্ডউইথ অনুমান উন্নতি

Android 12-এ, getLinkDownstreamBandwidthKbps() এবং getLinkUpstreamBandwidthKbps() দ্বারা প্রদত্ত ব্যান্ডউইথ অনুমান ক্ষমতাগুলি Wi-Fi এবং সেলুলার সংযোগ উভয়ের জন্য উন্নত করা হয়েছে। এখন প্রত্যাবর্তিত মানগুলি ডিভাইসের সমস্ত অ্যাপ্লিকেশন জুড়ে ব্যবহারকারীর সর্বকালের ওজনযুক্ত গড় থ্রুপুট প্রতি ক্যারিয়ার বা ওয়াইফাই SSID, নেটওয়ার্কের ধরন এবং সংকেত স্তরের প্রতিনিধিত্ব করে। এটি প্রত্যাশিত থ্রুপুটের আরও সঠিক এবং বাস্তবসম্মত অনুমান ফিরিয়ে দিতে পারে, আপনার অ্যাপ্লিকেশনের ঠান্ডা শুরুতে অনুমান সরবরাহ করতে পারে এবং অন্যান্য থ্রুপুট অনুমান পদ্ধতি ব্যবহার করার তুলনায় কম চক্রের প্রয়োজন হয়।

Wi-Fi Aware (NAN) বর্ধিতকরণ

অ্যান্ড্রয়েড 12 Wi-Fi সচেতনতায় কিছু বর্ধন যোগ করে:

  • Android 12 (API লেভেল 31) এবং উচ্চতর চলমান ডিভাইসগুলিতে, পরিষেবা বন্ধ হয়ে যাওয়ার বা পরিসীমার বাইরে চলে যাওয়ার কারণে আপনার অ্যাপ যখন একটি আবিষ্কৃত পরিষেবা হারিয়েছে তখন সতর্ক করার জন্য আপনি onServiceLost() কলব্যাক ব্যবহার করতে পারেন৷
  • যেভাবে একাধিক ডেটা-পাথ (NAN ডেটা পাথ) সেট আপ করা হয় তা আরও দক্ষ হতে পরিবর্তিত হচ্ছে। পূর্ববর্তী সংস্করণগুলি সূচনাকারীদের সহকর্মী তথ্য আদান-প্রদানের জন্য L2 মেসেজিং ব্যবহার করত, যা লেটেন্সি চালু করেছিল। অ্যান্ড্রয়েড 12 এবং উচ্চতর ডিভাইসে চলমান ডিভাইসগুলিতে, উত্তরদাতা (সার্ভার) যেকোন পিয়ারকে গ্রহণ করার জন্য কনফিগার করা যেতে পারে—অর্থাৎ, এটিকে ইনিশিয়েটর তথ্য আগে থেকে জানার প্রয়োজন নেই৷ এটি ডেটাপথ আনার গতি বাড়ায় এবং শুধুমাত্র একটি নেটওয়ার্ক অনুরোধের সাথে একাধিক পয়েন্ট-টু-পয়েন্ট লিঙ্ক সক্ষম করে।
  • রিসোর্স ফুরিয়ে যাওয়ার কারণে ফ্রেমওয়ার্কটিকে আবিষ্কার বা সংযোগের অনুরোধ প্রত্যাখ্যান করা থেকে আটকাতে, Android 12 এবং উচ্চতর সংস্করণে চলমান ডিভাইসগুলিতে, আপনি WifiAwareManager.getAvailableAwareResources() কল করতে পারেন। এই পদ্ধতির রিটার্ন মান আপনাকে উপলব্ধ ডেটা পাথের সংখ্যা, উপলব্ধ প্রকাশের সেশনের সংখ্যা এবং উপলব্ধ সাবস্ক্রাইব সেশনের সংখ্যা পেতে দেয়।

সমবর্তী পিয়ার-টু-পিয়ার + ইন্টারনেট সংযোগ

হার্ডওয়্যার সমর্থন সহ ডিভাইসগুলিতে Android 12 (API লেভেল 31) এবং উচ্চতর টার্গেট করা ডিভাইসগুলি যখন পিয়ার-টু-পিয়ার সংযোগগুলি ব্যবহার করে পিয়ার ডিভাইসে সংযোগ তৈরি করার সময় আপনার বিদ্যমান Wi-Fi সংযোগ বিচ্ছিন্ন করবে না। এই বৈশিষ্ট্যটির জন্য সমর্থন পরীক্ষা করতে, WifiManager.isMultiStaConcurrencySupported() ব্যবহার করুন।

NFC পেমেন্টের জন্য স্ক্রিন বন্ধ চালু করুন

যে অ্যাপগুলি Android 12 এবং উচ্চতরকে টার্গেট করে, আপনি requireDeviceScreenOn কে false সেট করে ডিভাইসের স্ক্রীন চালু ছাড়াই NFC অর্থপ্রদান সক্ষম করতে পারেন৷ স্ক্রীন অফ বা লক থাকা NFC পেমেন্ট সম্পর্কে আরও তথ্যের জন্য, স্ক্রীন অফ এবং লক-স্ক্রীন আচরণ দেখুন৷

স্টোরেজ

অ্যান্ড্রয়েড 12 নিম্নলিখিত স্টোরেজ পরিচালনার ক্ষমতাগুলি প্রবর্তন করে:

মূল কার্যকারিতা

স্বয়ংক্রিয় অ্যাপ আপডেট

Android 12 PackageInstaller API ব্যবহার করে এমন অ্যাপগুলির জন্য setRequireUserAction() পদ্ধতি প্রবর্তন করে। এই পদ্ধতিটি ইনস্টলার অ্যাপগুলিকে ব্যবহারকারীকে অ্যাকশন নিশ্চিত করার প্রয়োজন ছাড়াই অ্যাপ আপডেটগুলি সম্পাদন করার অনুমতি দেয়৷

ডিভাইস চিপসেট তথ্য

Android 12 android.os.Build এ দুটি ধ্রুবক যোগ করে যা SDK-এর মাধ্যমে SoC চিপসেট বিক্রেতা এবং মডেলের তথ্য প্রকাশ করে। আপনি যথাক্রমে Build.SOC_MANUFACTURER এবং Build.SOC_MODEL কল করে এই তথ্য পুনরুদ্ধার করতে পারেন।

মূল জাভা API-তে আপডেট

অনুরোধ এবং বিকাশকারীদের সাথে সহযোগিতার ভিত্তিতে, আমরা Android 12-এ নিম্নলিখিত মূল লাইব্রেরিগুলি যুক্ত করেছি:

ক্লাস এপিআই
java.lang.Deprecated
java.lang.Byte
java.lang.Short
java.lang.Math
java.lang.StrictMath
java.util.Set copyOf()
java.util.Map copyOf()
java.util.List copyOf()
java.time.Duration
java.time.LocalTime
,

অ্যান্ড্রয়েড 12 ডেভেলপারদের জন্য দুর্দান্ত নতুন বৈশিষ্ট্য এবং এপিআই প্রবর্তন করে। নীচের বিভাগগুলি আপনাকে আপনার অ্যাপগুলির বৈশিষ্ট্যগুলি সম্পর্কে জানতে এবং সম্পর্কিত APIগুলির সাথে শুরু করতে সহায়তা করে৷

নতুন, পরিবর্তিত এবং সরানো API-এর বিস্তারিত তালিকার জন্য, API ডিফ রিপোর্ট পড়ুন। নতুন এপিআই সম্পর্কে বিস্তারিত জানার জন্য অ্যান্ড্রয়েড এপিআই রেফারেন্স দেখুন — নতুন এপিআইগুলি দৃশ্যমানতার জন্য হাইলাইট করা হয়েছে। এছাড়াও, প্ল্যাটফর্মের পরিবর্তনগুলি আপনার অ্যাপ্লিকেশানগুলিকে প্রভাবিত করতে পারে এমন অঞ্চলগুলি সম্পর্কে জানতে, Android 12 এবং সমস্ত অ্যাপ্লিকেশানের জন্য লক্ষ্য করা অ্যাপগুলির জন্য Android 12 আচরণের পরিবর্তনগুলি পরীক্ষা করে দেখুন৷

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

উপাদান আপনি

Android 12 Material You নামে একটি নতুন ডিজাইনের ভাষা প্রবর্তন করেছে, যা আপনাকে আরও ব্যক্তিগতকৃত, সুন্দর অ্যাপ তৈরি করতে সাহায্য করে। আপনার অ্যাপ্লিকেশানগুলিতে সাম্প্রতিক সমস্ত উপাদান ডিজাইন 3 আপডেট আনতে, উপাদান ডিজাইন উপাদানগুলির একটি আলফা সংস্করণ চেষ্টা করুন৷

উপাদান আপনি

উইজেট উন্নতি

অ্যান্ড্রয়েড 12 প্ল্যাটফর্ম এবং লঞ্চারগুলিতে ব্যবহারকারী এবং বিকাশকারীর অভিজ্ঞতা উন্নত করতে বিদ্যমান উইজেট এপিআইকে পুনর্গঠন করে। আপনার উইজেটটি Android 12-এর সাথে সামঞ্জস্যপূর্ণ কিনা তা নিশ্চিত করতে এবং নতুন বৈশিষ্ট্যগুলির সাথে এটিকে রিফ্রেশ করতে আমরা একটি গাইড তৈরি করেছি।

আরও তথ্যের জন্য Android 12 উইজেটগুলির উন্নতিগুলি দেখুন৷

সমৃদ্ধ বিষয়বস্তু সন্নিবেশ

অ্যান্ড্রয়েড 12 একটি নতুন ইউনিফাইড এপিআই প্রবর্তন করেছে যা আপনার অ্যাপকে যেকোনো উপলব্ধ উৎস থেকে সমৃদ্ধ সামগ্রী পেতে দেয়: ক্লিপবোর্ড, কীবোর্ড, বা টেনে আনুন এবং ড্রপ করুন।

আরও তথ্যের জন্য, সমৃদ্ধ সামগ্রী পান দেখুন।

অ্যাপ স্প্ল্যাশ স্ক্রিন API

অ্যান্ড্রয়েড 12 সমস্ত অ্যাপের জন্য একটি নতুন অ্যাপ লঞ্চ অ্যানিমেশন প্রবর্তন করেছে যাতে লঞ্চের স্থান থেকে একটি ইন-অ্যাপ মোশন, অ্যাপ আইকন দেখানো একটি স্প্ল্যাশ স্ক্রীন এবং অ্যাপটিতেই একটি রূপান্তর অন্তর্ভুক্ত থাকে। আরও বিশদ বিবরণের জন্য স্প্ল্যাশ স্ক্রিন বিকাশকারী নির্দেশিকা দেখুন।

বৃত্তাকার কোণ APIs

Android 12 RoundedCorner এবং WindowInsets.getRoundedCorner(int position) প্রবর্তন করে, যা গোলাকার কোণগুলির জন্য ব্যাসার্ধ এবং কেন্দ্র বিন্দু প্রদান করে।

আরও তথ্যের জন্য, গোলাকার কোণগুলি দেখুন।

সমৃদ্ধ হ্যাপটিক অভিজ্ঞতা

Android 12 UI ইভেন্টগুলির জন্য তথ্যপূর্ণ হ্যাপটিক প্রতিক্রিয়া, গেমিংয়ের জন্য নিমগ্ন এবং আনন্দদায়ক প্রভাব এবং উত্পাদনশীলতার জন্য মনোযোগী হ্যাপটিক্স তৈরি করার সরঞ্জামগুলিকে প্রসারিত করে।

অ্যাকচুয়েটর প্রভাব

অ্যান্ড্রয়েড 12 কম টিক-এর মতো অভিব্যক্তিপূর্ণ প্রভাব যুক্ত করে যা সাম্প্রতিক অ্যাকুয়েটরগুলির বিস্তৃত ফ্রিকোয়েন্সি ব্যান্ডউইথের সুবিধা নেয়। গেম ডেভেলপাররা এখন গেম কন্ট্রোলারে একাধিক, বিভিন্ন অ্যাকচুয়েটরকে স্বাধীনভাবে অ্যাক্সেস করতে পারে যাতে একই প্রভাব সিঙ্ক্রোনাসভাবে বা একাধিক অ্যাকচুয়েটরগুলিতে বিভিন্ন হ্যাপটিক প্রভাব সরবরাহ করতে পারে। বিকাশকারীদের জন্য, আমরা ধ্রুবক এবং প্রাইমিটিভগুলিকে সমৃদ্ধ হ্যাপটিক প্রভাবগুলির জন্য বিল্ডিং ব্লক হিসাবে ব্যবহার করার পরামর্শ দিই - UI ইভেন্টগুলিকে উন্নত করতে ধ্রুবক এবং আরও জটিল প্রভাবগুলির জন্য আদিমগুলিকে ক্রমানুসারে হ্যাপটিক কম্পোজার ৷ এই APIsগুলি Pixel 4 ডিভাইসে চেষ্টা করার জন্য উপলব্ধ, এবং আমরা ইকোসিস্টেম জুড়ে ব্যবহারকারীদের জন্য হ্যাপটিক্স সমর্থনের সাম্প্রতিকতম সুবিধা আনতে আমাদের ডিভাইস নির্মাতা অংশীদারদের সাথে কাজ চালিয়ে যাচ্ছি।

অডিও-কাপলড হ্যাপটিক প্রভাব

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

আরও তথ্যের জন্য HapticGenerator রেফারেন্স ডকুমেন্টেশন দেখুন।

অ্যাপসার্চ

Android 12 একটি সিস্টেম পরিষেবা হিসাবে অ্যাপসার্চ, একটি উচ্চ-পারফরম্যান্স অন-ডিভাইস সার্চ ইঞ্জিন প্রবর্তন করেছে। AppSearch অ্যাপ্লিকেশানগুলিকে স্ট্রাকচার্ড ডেটা ইন্ডেক্স করতে এবং বিল্ট-ইন পূর্ণ-টেক্সট অনুসন্ধান ক্ষমতা সহ এটি অনুসন্ধান করার অনুমতি দেয়। উপরন্তু, AppSearch নেটিভ সার্চ বৈশিষ্ট্যগুলিকে সমর্থন করে, যেমন উচ্চ-দক্ষ সূচক এবং পুনরুদ্ধার, বহু-ভাষা সমর্থন এবং প্রাসঙ্গিকতা র‌্যাঙ্কিং।

অ্যাপসার্চের মধ্যে সূচীকরণ এবং অনুসন্ধানের চিত্র তুলে ধরা হয়েছে

AppSearch দুটি স্বাদে আসে: আপনার অ্যাপ্লিকেশানের জন্য একটি স্থানীয় সূচক যা ব্যবহার করার জন্য Android এর পুরানো সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ, বা Android 12-এর পুরো সিস্টেমের জন্য রক্ষণাবেক্ষণ করা একটি কেন্দ্রীয় সূচী৷ কেন্দ্রীয় সূচী ব্যবহার করে, আপনার অ্যাপ্লিকেশনটি এর ডেটা প্রদর্শনের অনুমতি দিতে পারে৷ সিস্টেমের পূর্বে ইনস্টল করা বুদ্ধিমত্তা উপাদান দ্বারা সিস্টেম UI পৃষ্ঠতল। ঠিক কোন ডেটা সিস্টেম UI পৃষ্ঠে প্রদর্শিত হয় তা OEM-এর উপর নির্ভর করে। উপরন্তু, আপনার অ্যাপ্লিকেশন নিরাপদে অন্যান্য অ্যাপ্লিকেশনের সাথে ডেটা ভাগ করতে পারে, যাতে তারা সেই ডেটাও অনুসন্ধান করতে পারে৷

ডেভেলপার গাইডে AppSearch সম্পর্কে আরও জানুন, এবং AppSearch Jetpack লাইব্রেরির সাথে এটি ব্যবহার শুরু করুন, যা একটি ডেভেলপার-বান্ধব API পৃষ্ঠের পাশাপাশি টীকা প্রসেসর সমর্থন প্রদান করে।

গেম মোড

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

আরও তথ্যের জন্য, গেম মোড দেখুন।

পিকচার-ইন-পিকচার (পিআইপি) সুপারিশ এবং উন্নতি

Android 12 PiP মোডের জন্য নিম্নলিখিত উন্নতিগুলি প্রবর্তন করে:

নতুন PiP অঙ্গভঙ্গি জন্য সমর্থন

Android 12 এখন PiP উইন্ডোর জন্য স্ট্যাশিং এবং পিঞ্চ-টু-জুম অঙ্গভঙ্গি সমর্থন করে:

  • উইন্ডোটি আটকানোর জন্য, ব্যবহারকারী উইন্ডোটিকে বাম বা ডান প্রান্তে টেনে আনতে পারেন। উইন্ডোটি আনস্ট্যাশ করতে, ব্যবহারকারী হয় লুকিয়ে রাখা উইন্ডোর দৃশ্যমান অংশে ট্যাপ করতে পারেন বা টেনে আনতে পারেন।

  • ব্যবহারকারী এখন পিঞ্চ-টু-জুম ব্যবহার করে পিআইপি উইন্ডোর আকার পরিবর্তন করতে পারেন।

অ্যান্ড্রয়েড 12 ফুলস্ক্রিন এবং পিআইপি উইন্ডোর মধ্যে অ্যানিমেটেড ট্রানজিশনে উল্লেখযোগ্য প্রসাধনী উন্নতি যোগ করেছে। আমরা দৃঢ়ভাবে সমস্ত প্রযোজ্য পরিবর্তন বাস্তবায়নের সুপারিশ করি; একবার আপনি এটি করে ফেললে, এই পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে বড় স্ক্রিনে যেমন ফোল্ডেবল এবং ট্যাবলেটে আর কোনো প্রয়োজনীয় কাজ ছাড়াই স্কেল হবে।

এই বৈশিষ্ট্যগুলি নিম্নরূপ:

নতুন ফোন কল বিজ্ঞপ্তিগুলি ইনকামিং কলগুলির র‌্যাঙ্কিং গুরুত্বের জন্য অনুমতি দেয়

Android 12 ফোন কলের জন্য নতুন বিজ্ঞপ্তি শৈলী Notification.CallStyle যোগ করেছে। এই টেমপ্লেটটি ব্যবহার করে আপনার অ্যাপটিকে একটি বিশিষ্ট চিপ প্রদর্শন করে সক্রিয় কলের গুরুত্ব নির্দেশ করতে দেয় যা স্ট্যাটাস বারে কলের সময় দেখায়; ব্যবহারকারী তাদের কলে ফিরে যেতে এই চিপটি ট্যাপ করতে পারেন।

যেহেতু ইনকামিং এবং চলমান কলগুলি ব্যবহারকারীদের জন্য সবচেয়ে গুরুত্বপূর্ণ, এই বিজ্ঞপ্তিগুলিকে ছায়ায় শীর্ষ র‌্যাঙ্কিং দেওয়া হয়৷ এই র‌্যাঙ্কিং সিস্টেমটিকে সম্ভাব্যভাবে এই অগ্রাধিকারযুক্ত কলগুলিকে অন্যান্য ডিভাইসে ফরোয়ার্ড করার অনুমতি দেয়।

সব ধরনের কলের জন্য নিচের কোডটি প্রয়োগ করুন।

কোটলিন

// Create a new call with the user as caller.
val incoming_caller = Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build()

জাভা

// Create a new call with the user as caller.
Person incoming_caller = new Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build();

একটি ইনকামিং কলের জন্য একটি কল শৈলী বিজ্ঞপ্তি তৈরি করতে forIncomingCall() ব্যবহার করুন৷

কোটলিন

// Create a call style notification for an incoming call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller)

জাভা

// Create a call style notification for an incoming call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller);

একটি চলমান কলের জন্য একটি কল স্টাইল বিজ্ঞপ্তি তৈরি করতে forOngoingCall() ব্যবহার করুন৷

কোটলিন

// Create a call style notification for an ongoing call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller)

জাভা

// Create a call style notification for an ongoing call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller);

একটি কল স্ক্রীন করার জন্য একটি কল স্টাইল বিজ্ঞপ্তি তৈরি করতে forScreeningCall() ব্যবহার করুন৷

কোটলিন

// Create a call style notification for screening a call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller)

জাভা

Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller);

বিজ্ঞপ্তির জন্য সমৃদ্ধ ইমেজ সমর্থন

অ্যান্ড্রয়েড 12 -এ, আপনি এখন MessagingStyle() এবং BigPictureStyle() বিজ্ঞপ্তিগুলিতে অ্যানিমেটেড চিত্র সরবরাহ করে আপনার অ্যাপের বিজ্ঞপ্তি অভিজ্ঞতাটি সমৃদ্ধ করতে পারেন। এছাড়াও, আপনার অ্যাপ্লিকেশনটি এখন ব্যবহারকারীদের বিজ্ঞপ্তি ছায়া থেকে বার্তাগুলির জবাব দেওয়ার সময় চিত্র বার্তা প্রেরণ করতে সক্ষম করতে পারে।

অঙ্গভঙ্গি নেভিগেশনের জন্য নিমজ্জনিত মোডের উন্নতি

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

URL ভাগ করে নেওয়ার পুনরুদ্ধার (কেবল পিক্সেল)

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

আরও তথ্যের জন্য, দেখুন URL ভাগ করে নেওয়ার জন্য পুনরায় সক্ষম করুন

নিরাপত্তা এবং গোপনীয়তা

গোপনীয়তা ড্যাশবোর্ড

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

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

আপনার অ্যাপ্লিকেশনটি কেন আপনার অ্যাপ্লিকেশন অবস্থান, ক্যামেরা বা মাইক্রোফোন তথ্য অ্যাক্সেস করে তা বুঝতে তাদের সহায়তা করার জন্য আপনার অ্যাপ্লিকেশন একটি যুক্তি সরবরাহ করতে পারে। এই যুক্তিটি নতুন গোপনীয়তা ড্যাশবোর্ড স্ক্রিন, আপনার অ্যাপের অনুমতি স্ক্রিন বা উভয়ই উপস্থিত হতে পারে।

ব্লুটুথ অনুমতি

অ্যান্ড্রয়েড 12 BLUETOOTH_SCAN , BLUETOOTH_ADVERTISE এবং BLUETOOTH_CONNECT অনুমতিগুলির সাথে পরিচয় করিয়ে দেয়। এই অনুমতিগুলি এমন অ্যাপ্লিকেশনগুলির জন্য এটি আরও সহজ করে তোলে যা অ্যান্ড্রয়েড 12 কে ব্লুটুথ ডিভাইসের সাথে ইন্টারঅ্যাক্ট করা , বিশেষত এমন অ্যাপ্লিকেশনগুলির জন্য যা ডিভাইসের অবস্থানের অ্যাক্সেসের প্রয়োজন হয় না।

আপনার অ্যাপ্লিকেশনটির ব্লুটুথ অনুমতি ঘোষণা আপডেট করুন

অ্যান্ড্রয়েড 12 বা উচ্চতর লক্ষ্য করার জন্য আপনার ডিভাইস প্রস্তুত করতে, আপনার অ্যাপ্লিকেশনটির যুক্তি আপডেট করুন। ব্লুটুথ অনুমতিগুলির একটি উত্তরাধিকার সেট ঘোষণা করার পরিবর্তে ব্লুটুথ অনুমতিগুলির আরও একটি আধুনিক সেট ঘোষণা করুন।

অনুমতি গোষ্ঠী চেহারা

অ্যান্ড্রয়েড 12 বা ততোধিক, আপনি কীভাবে সিস্টেমটি অনুমতি গ্রুপগুলিতে প্ল্যাটফর্ম সরবরাহিত অনুমতিগুলি সংগঠিত করে তা জিজ্ঞাসা করতে পারেন:

  • সিস্টেমটি প্ল্যাটফর্ম-সংজ্ঞায়িত অনুমতি দিয়েছে এমন অনুমতি গোষ্ঠী নির্ধারণের জন্য, getGroupOfPlatformPermission() কল করুন।
  • সিস্টেমটি একটি নির্দিষ্ট অনুমতি গোষ্ঠীতে যে প্ল্যাটফর্ম-সংজ্ঞায়িত অনুমতিগুলি রেখেছিল তা নির্ধারণ করতে, getPlatformPermissionsForGroup() কল করুন।

অ্যাপ্লিকেশন ওভারলে উইন্ডোজ লুকান

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

HIDE_OVERLAY_WINDOWS অনুমতি ঘোষণার পরে, একটি অ্যাপ্লিকেশন setHideOverlayWindows() কল করতে পারে যে অ্যাপ্লিকেশনটির নিজস্ব উইন্ডোটি দৃশ্যমান হলে টাইপ TYPE_APPLICATION_OVERLAY সমস্ত উইন্ডো লুকানো উচিত। সংবেদনশীল স্ক্রিনগুলি যেমন লেনদেন নিশ্চিতকরণ প্রবাহ প্রদর্শন করার সময় অ্যাপ্লিকেশনগুলি এটি করতে বেছে নিতে পারে।

টাইপ TYPE_APPLICATION_OVERLAY উইন্ডোজ দেখায় এমন অ্যাপ্লিকেশনগুলিতে এমন বিকল্পগুলি বিবেচনা করা উচিত যা তাদের ব্যবহারের ক্ষেত্রে যেমন চিত্র-ইন-চিত্র বা বুদবুদগুলির জন্য আরও উপযুক্ত হতে পারে।

পরিচিত স্বাক্ষরকারীদের অনুমতি সুরক্ষা পতাকা

অ্যান্ড্রয়েড 12 থেকে শুরু করে, স্বাক্ষর-স্তরের অনুমতিগুলির জন্য knownCerts বৈশিষ্ট্যগুলি আপনাকে ঘোষণার সময় পরিচিত স্বাক্ষর শংসাপত্রগুলির হজমগুলি উল্লেখ করতে দেয়।

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

ডিভাইস বৈশিষ্ট্য সত্যতা

অ্যান্ড্রয়েড 12 অ্যাপ্লিকেশনগুলির সেটটি প্রসারিত করে যা এই অ্যাপ্লিকেশনগুলি একটি নতুন কী উত্পন্ন করার সময় প্রমাণীকরণ শংসাপত্রে থাকা ডিভাইস বৈশিষ্ট্যগুলি যাচাই করতে পারে।

অ্যান্ড্রয়েড 9 (এপিআই স্তর 28) হিসাবে, ডিভাইস নীতি মালিকরা (ডিপিও) যা কিমাস্টার 4.0 বা উচ্চতর ব্যবহার করে তারা এই সত্যতা শংসাপত্রগুলিতে ডিভাইসের বৈশিষ্ট্যগুলি যাচাই করতে পারে। অ্যান্ড্রয়েড 12 এ শুরু করে, অ্যান্ড্রয়েড 12 (এপিআই স্তর 31) বা উচ্চতর লক্ষ্য করে এমন কোনও অ্যাপ্লিকেশন setDevicePropertiesAttestationIncluded() পদ্ধতিটি ব্যবহার করে এই যাচাইকরণটি সম্পাদন করতে পারে।

উত্পন্ন ডিভাইসের বৈশিষ্ট্যগুলিতে নিম্নলিখিত Build ক্ষেত্রগুলি অন্তর্ভুক্ত রয়েছে:

  • BRAND
  • DEVICE
  • MANUFACTURER
  • MODEL
  • PRODUCT

সুরক্ষিত লকস্ক্রিন বিজ্ঞপ্তি ক্রিয়া

অ্যান্ড্রয়েড 12 থেকে শুরু করে, Notification.Action.Builder ক্লাসটি setAuthenticationRequired() পদ্ধতিটিকে সমর্থন করে, যা আপনার অ্যাপ্লিকেশনটিকে প্রদত্ত বিজ্ঞপ্তি ক্রিয়া করার আগে কোনও ডিভাইসটি আনলক করা দরকার বলে আপনার অ্যাপ্লিকেশনটির প্রয়োজন হয় । এই পদ্ধতিটি লক করা ডিভাইসে বিজ্ঞপ্তিগুলিতে সুরক্ষার অতিরিক্ত স্তর যুক্ত করতে সহায়তা করে।

বায়োমেট্রিকপ্রম্পট এর জন্য স্থানীয়করণযোগ্য স্ট্রিং

অ্যান্ড্রয়েড 12 আপনাকে আপনার অ্যাপ্লিকেশনটির বায়োমেট্রিক প্রমাণীকরণ ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সহায়তা করার জন্য নতুন এপিআইগুলির সাথে পরিচয় করিয়ে দেয়। নতুন BiometricManager.Strings নেস্টেড ক্লাসে getButtonLabel() , getPromptMessage() , এবং getSettingName() পদ্ধতি অন্তর্ভুক্ত রয়েছে, যা আপনার অ্যাপ্লিকেশনটিকে একটি ব্যবহারকারী-পঠনযোগ্য এবং স্থানীয়ভাবে বাটন লেবেল, প্রম্পট বার্তা বা অ্যাপ সেটিংয়ের নাম পুনরুদ্ধার করতে দেয়। "ফেস আনলক ব্যবহার করুন" বা "চালিয়ে যাওয়ার জন্য আপনার ফিঙ্গারপ্রিন্টটি ব্যবহার করুন" এর মতো আরও সুনির্দিষ্ট ব্যবহারকারী-মুখোমুখি নির্দেশাবলী তৈরি করতে এই লেবেলগুলি আরও সুনির্দিষ্ট ব্যবহারকারী-মুখী নির্দেশাবলী তৈরি করতে ব্যবহার করুন।

মেসেজিং অ্যাপ্লিকেশনগুলিতে ফিশিং সনাক্তকরণ (কেবল পিক্সেল)

সন্দেহজনক বার্তা সনাক্ত করা হলে কোনও ব্যবহারকারী এই জাতীয় বার্তা দেখেন।

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

  • সন্দেহজনক অনুরোধ, যেমন একটি কোড, অর্থ বা অনুরূপ প্রেরণ
  • অবিশ্বস্ত urls
  • দূষিত সংযুক্তি
  • দূষিত অ্যাপ্লিকেশনগুলির লিঙ্কগুলি

ব্যবহারকারীকে সতর্ক করার পাশাপাশি, ওভারলে ব্যবহারকারীকে একটি সন্দেহজনক বার্তা রিপোর্ট করতে এবং সিস্টেম দ্বারা জারি করা সতর্কতা সম্পর্কে প্রতিক্রিয়া সরবরাহ করতে দেয়।

বিকাশকারীরা তাদের অ্যাপ্লিকেশন ম্যানিফেস্ট ফাইলগুলিতে স্ট্রিং com.google.android.ALLOW_PHISHING_DETECTION সহ একটি নতুন মেটাডেটা ট্যাগ যুক্ত করে এই বৈশিষ্ট্যটি বেছে নিতে পারেন। যেমন:

<manifest>
    <application android:name="com.messagingapp">
        <meta-data android:name="com.google.android.ALLOW_PHISHING_DETECTION" android:value="false" />

    </application>
</manifest>

মিডিয়া

সামঞ্জস্যপূর্ণ মিডিয়া ট্রান্সকোডিং

অ্যান্ড্রয়েড 12 (এপিআই স্তর 31) থেকে শুরু করে, সিস্টেমটি স্বয়ংক্রিয়ভাবে এইচইভিসি (এইচ .265) এবং এইচডিআর (এইচডিআর 10 এবং এইচডিআর 10+) ভিডিওগুলি এভিসি (এইচ .264) এ রেকর্ড করা ভিডিওগুলি ট্রান্সকোড করতে পারে, একটি ফর্ম্যাট যা স্ট্যান্ডার্ড প্লেয়ারগুলির সাথে ব্যাপকভাবে সামঞ্জস্যপূর্ণ যা স্ট্যান্ডার্ড প্লেয়ারদের সাথে ব্যাপকভাবে সামঞ্জস্যপূর্ণ . এটি পুরানো অ্যাপ্লিকেশনগুলির সাথে সামঞ্জস্যতা ত্যাগ না করে যখন তারা উপলব্ধ থাকে তখন এটি আধুনিক কোডেকগুলির সুবিধা গ্রহণ করে।

আরও তথ্যের জন্য সামঞ্জস্যপূর্ণ মিডিয়া ট্রান্সকোডিং দেখুন।

পারফরম্যান্স ক্লাস

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

আরও তথ্যের জন্য পারফরম্যান্স ক্লাস দেখুন।

ভিডিও এনকোডিং উন্নতি

অ্যান্ড্রয়েড 12 ভিডিও এনকোডিংয়ের জন্য কোয়ান্টাইজেশন প্যারামিটার (কিউপি) মান নিয়ন্ত্রণের জন্য কীগুলির একটি স্ট্যান্ডার্ড সেটকে সংজ্ঞায়িত করে, বিকাশকারীদের বিক্রেতার নির্দিষ্ট কোড এড়াতে দেয়।

নতুন কীগুলি MediaFormat এপিআই এবং এনডিকে মিডিয়া লাইব্রেরিতেও উপলব্ধ।

অ্যান্ড্রয়েড 12 ভিডিও এনকোডার দিয়ে শুরু করে ন্যূনতম মানের প্রান্তিক প্রয়োগ করে। এটি গ্যারান্টি দেয় যে উচ্চ দৃশ্যের জটিলতার সাথে ভিডিওগুলি এনকোড করার সময় ব্যবহারকারীরা অত্যন্ত নিম্নমানের অভিজ্ঞতা অর্জন করেন না।

অডিও ফোকাস

অ্যান্ড্রয়েড 12 (এপিআই স্তর 31) দিয়ে শুরু করে, যখন কোনও অ্যাপ্লিকেশন অডিও ফোকাসের জন্য অনুরোধ করে যখন অন্য অ্যাপ্লিকেশনটির ফোকাস থাকে এবং খেলছে, সিস্টেমটি প্লে অ্যাপ্লিকেশনটি বিবর্ণ হয়ে যায়।

আরও তথ্যের জন্য অ্যান্ড্রয়েড 12 এবং উচ্চতর অডিও ফোকাস দেখুন।

মিডিয়াড্রেম আপডেট

বর্তমান MediaDrm এপিআইগুলির সাথে কোনও সুরক্ষিত ডিকোডার উপাদান প্রয়োজন কিনা তা নির্ধারণ করার জন্য আপনাকে অবশ্যই এই পদক্ষেপগুলি অনুসরণ করতে হবে:

  1. একটি MediaDrm তৈরি করুন।
  2. একটি সেশন আইডি পেতে একটি সেশন খুলুন।
  3. সেশন আইডি ব্যবহার করে একটি MediaCrypto তৈরি করুন।
  4. কল করুন MediaCrypto.requiresSecureDecoderComponent(mimeType)

নতুন পদ্ধতিগুলির সাথে requiresSecureDecoder(@NonNull String mime) এবং requiresSecureDecoder(@NonNull String mime, @SecurityLevel int level) সাথে আপনি MediaDrm তৈরি করার সাথে সাথেই এটি নির্ধারণ করতে পারেন।

ক্যামেরা

ক্যামেরা 2 বিক্রেতা এক্সটেনশন

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

এই সংযোজনটি জটিল Camera2 বাস্তবায়ন রয়েছে এমন অ্যাপ্লিকেশনগুলিকে লিগ্যাসি কোডে উল্লেখযোগ্য পরিবর্তন না করে বিক্রেতার এক্সটেনশনের সুবিধা নিতে সহায়তা করে। ক্যামেরা 2 এক্সটেনশন এপিআইগুলি ক্যামেরাক্সের মতো এক্সটেনশনের ঠিক একই সেটটি প্রকাশ করে এবং সেগুলি ইতিমধ্যে অনেকগুলি বিভিন্ন ডিভাইসে সমর্থিত, যাতে আপনি কোনও অতিরিক্ত কনফিগারেশন ছাড়াই সেগুলি ব্যবহার করতে পারেন।

আরও তথ্যের জন্য, CameraExtensionCharacteristics দেখুন।

কোয়াড বায়ার ক্যামেরা সেন্সর সমর্থন

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

গ্রাফিক্স এবং চিত্র

টম্বস্টোন ট্রেসগুলিতে অ্যাপস সরাসরি অ্যাক্সেস সরবরাহ করুন

অ্যান্ড্রয়েড 12 থেকে শুরু করে, আপনি ApplicationExitInfo.getTraceInputStream() পদ্ধতির মাধ্যমে প্রোটোকল বাফার হিসাবে আপনার অ্যাপ্লিকেশনটির নেটিভ ক্র্যাশ টম্বস্টোনটি অ্যাক্সেস করতে পারেন। প্রোটোকল বাফার এই স্কিমা ব্যবহার করে সিরিয়ালাইজ করা হয়। পূর্বে, এই তথ্যে অ্যাক্সেস পাওয়ার একমাত্র উপায় ছিল অ্যান্ড্রয়েড ডিবাগ ব্রিজ (এডিবি) এর মাধ্যমে।

আরও তথ্যের জন্য, অ্যাপ্লিকেশনগুলি টম্বস্টোন ট্রেসগুলিতে সরাসরি অ্যাক্সেস সরবরাহ করুন

আভিফ ইমেজ সমর্থন

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

সহজ ব্লারস, রঙ ফিল্টার এবং অন্যান্য প্রভাব

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

প্রভাবগুলি কল করে View এর জন্য অন্তর্নিহিত RenderNode প্রভাবগুলিও প্রয়োগ করা যেতে পারে View.setRenderEffect(RenderEffect)

একটি RenderEffect বাস্তবায়নের জন্য:

view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))

নেটিভ অ্যানিমেটেড ইমেজ ডিকোডিং

অ্যান্ড্রয়েড 12 -এ, এনডিকে ImageDecoder এপিআইকে অ্যানিমেটেড জিআইএফ এবং অ্যানিমেটেড ওয়েব ফাইল ফর্ম্যাটগুলি ব্যবহার করে এমন চিত্রগুলি থেকে সমস্ত ফ্রেম এবং টাইমিং ডেটা ডিকোড করার জন্য প্রসারিত করা হয়েছে। যখন এটি অ্যান্ড্রয়েড 11 এ চালু হয়েছিল, এই এপিআই এই ফর্ম্যাটগুলির অ্যানিমেশনগুলি থেকে কেবল প্রথম চিত্রটি ডিকোড করেছে।

সুরক্ষা এবং কর্মক্ষমতা সম্পর্কিত ভবিষ্যতের আপডেটগুলি থেকে এপিকে আকার আরও হ্রাস করতে এবং তৃতীয় পক্ষের লাইব্রেরির পরিবর্তে ImageDecoder ব্যবহার করুন।

এপিআই সম্পর্কিত আরও তথ্যের জন্য, এপিআই রেফারেন্স এবং গিটহাবের নমুনাটি দেখুন।

সংযোগ

সঙ্গী অ্যাপ্লিকেশন জাগ্রত রাখা

ডিভাইসটি পরিচালনা করতে দৌড়ানোর জন্য সহচর অ্যাপ্লিকেশনগুলির প্রয়োজনীয়তা সমর্থন করার জন্য, অ্যান্ড্রয়েড 12 এপিআইগুলির সাথে পরিচয় করিয়ে দেয় যা নিম্নলিখিতগুলি করে:

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

এপিআইগুলি ব্যবহার করতে, আপনার ডিভাইসগুলি অবশ্যই সহযোগী ডিভাইস ম্যানেজার ব্যবহার করে সংযুক্ত থাকতে হবে। আরও তথ্যের জন্য, CompanionDeviceManager.startObservingDevicePresence() এবং CompanionDeviceService.onDeviceAppeared() দেখুন।

সঙ্গী ডিভাইস ম্যানেজার প্রোফাইল

একটি অনুমতি সংলাপ যা একক অনুরোধে একাধিক অনুমতি অনুরোধ করতে একটি সহযোগী ডিভাইস প্রোফাইল ব্যবহার করে।

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

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

আরও তথ্যের জন্য, AssociationRequest.Builder.setDeviceProfile() দেখুন।

ব্যান্ডউইথ অনুমানের উন্নতি

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

ওয়াই-ফাই সচেতন (এনএএন) বর্ধন

অ্যান্ড্রয়েড 12 ওয়াই-ফাই সচেতনতে কিছু বর্ধন যুক্ত করেছে:

  • অ্যান্ড্রয়েড 12 (এপিআই স্তর 31) এবং উচ্চতর চালিত ডিভাইসগুলিতে আপনি যখন পরিষেবা বন্ধ হয়ে যাওয়ার কারণে বা পরিসীমা থেকে সরে যাওয়ার কারণে আপনার অ্যাপটি আবিষ্কার করা পরিষেবা হারিয়ে ফেলেছে তখন আপনি যখন onServiceLost() কলব্যাকটি সতর্ক করতে ব্যবহার করতে পারেন।
  • একাধিক ডেটা-পাথ (ন্যান ডেটা পাথ) যেভাবে সেট আপ করা হয়েছে তা আরও দক্ষ হতে পরিবর্তিত হচ্ছে। পূর্ববর্তী সংস্করণগুলি উদ্যোগীদের পিয়ার তথ্য বিনিময় করতে এল 2 মেসেজিং ব্যবহার করেছিল, যা বিলম্বের প্রবর্তন করেছিল। অ্যান্ড্রয়েড 12 এবং উচ্চতর চলমান ডিভাইসগুলিতে, প্রতিক্রিয়াশীল (সার্ভার) যে কোনও পিয়ার গ্রহণ করার জন্য কনফিগার করা যেতে পারে - এটি হ'ল এটি ইনিশিয়েটারের তথ্য অগ্রিম সম্পর্কে জানার দরকার নেই। এটি ডেটাপ্যাথ আনয়নকে গতি দেয় এবং কেবলমাত্র একটি নেটওয়ার্ক অনুরোধের সাথে একাধিক পয়েন্ট-টু-পয়েন্ট লিঙ্কগুলি সক্ষম করে।
  • অ্যান্ড্রয়েড 12 এবং উচ্চতর চলমান ডিভাইসগুলিতে সংস্থানগুলি শেষ হওয়ার কারণে আবিষ্কার বা সংযোগের অনুরোধগুলি প্রত্যাখ্যান করা থেকে কাঠামোটি রোধ করতে আপনি WifiAwareManager.getAvailableAwareResources() কল করতে পারেন get এই পদ্ধতির রিটার্ন মান আপনাকে উপলভ্য ডেটা পাথের সংখ্যা, উপলব্ধ প্রকাশের সেশনের সংখ্যা এবং উপলব্ধ সাবস্ক্রাইব সেশনের সংখ্যা পেতে দেয়।

একযোগে পিয়ার-টু-পিয়ার + ইন্টারনেট সংযোগ

যখন অ্যান্ড্রয়েড 12 (এপিআই স্তর 31) লক্ষ্য করে ডিভাইসগুলি এবং হার্ডওয়্যার সমর্থন সহ ডিভাইসগুলিতে উচ্চতর রান করে, পিয়ার-টু-পিয়ার সংযোগগুলি ব্যবহার করে পিয়ার ডিভাইসের সাথে সংযোগ তৈরি করার সময় আপনার বিদ্যমান ওয়াই-ফাই সংযোগটি সংযোগ বিচ্ছিন্ন করবে না। এই বৈশিষ্ট্যটির জন্য সমর্থন পরীক্ষা করতে, WifiManager.isMultiStaConcurrencySupported() ব্যবহার করুন।

এনএফসি প্রদানের জন্য স্ক্রিন বন্ধ সক্ষম করুন

অ্যান্ড্রয়েড 12 এবং উচ্চতর লক্ষ্য করে এমন অ্যাপ্লিকেশনগুলিতে, আপনি requireDeviceScreenOn false হিসাবে সেট করে ডিভাইসের স্ক্রিন ছাড়াই এনএফসি অর্থ প্রদান সক্ষম করতে পারেন। স্ক্রিন বন্ধ বা লকযুক্ত এনএফসি অর্থ প্রদানের বিষয়ে আরও তথ্যের জন্য, স্ক্রিন অফ এবং লক-স্ক্রিন আচরণ দেখুন।

স্টোরেজ

অ্যান্ড্রয়েড 12 নিম্নলিখিত স্টোরেজ পরিচালনার ক্ষমতাগুলি প্রবর্তন করে:

মূল কার্যকারিতা

স্বয়ংক্রিয় অ্যাপ আপডেট

অ্যান্ড্রয়েড 12 PackageInstaller এপিআই ব্যবহার করে এমন অ্যাপ্লিকেশনগুলির জন্য setRequireUserAction() পদ্ধতিটি প্রবর্তন করে। এই পদ্ধতিটি ইনস্টলার অ্যাপ্লিকেশনগুলিকে ক্রিয়াটি নিশ্চিত করার জন্য ব্যবহার না করে অ্যাপ্লিকেশন আপডেটগুলি সম্পাদন করতে দেয়।

ডিভাইস চিপসেট তথ্য

অ্যান্ড্রয়েড 12 android.os.Build দুটি ধ্রুবক যুক্ত করে যা এসওসি চিপসেট বিক্রেতা এবং এসডিকে -র মাধ্যমে মডেল তথ্য প্রকাশ করে। আপনি যথাক্রমে Build.SOC_MANUFACTURER এবং Build.SOC_MODEL কল করে এই তথ্যটি পুনরুদ্ধার করতে পারেন।

কোর জাভা এপিআইএস আপডেট

বিকাশকারীদের সাথে অনুরোধ এবং সহযোগিতার ভিত্তিতে, আমরা অ্যান্ড্রয়েড 12 এ নিম্নলিখিত মূল গ্রন্থাগারগুলি যুক্ত করেছি:

ক্লাস এপিআই
java.lang.Deprecated
java.lang.Byte
java.lang.Short
java.lang.Math
java.lang.StrictMath
java.util.Set copyOf()
java.util.Map copyOf()
java.util.List copyOf()
java.time.Duration
java.time.LocalTime
,

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

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

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

উপাদান আপনি

অ্যান্ড্রয়েড 12 আপনাকে আরও ব্যক্তিগতকৃত, সুন্দর অ্যাপ্লিকেশনগুলি তৈরি করতে সহায়তা করে এমন একটি নতুন ডিজাইনের ভাষা পরিচয় করিয়ে দেয়। আপনার অ্যাপ্লিকেশনগুলিতে সর্বশেষতম উপাদান ডিজাইন 3 আপডেটগুলি আনতে, উপাদান ডিজাইনের উপাদানগুলির একটি আলফা সংস্করণ ব্যবহার করে দেখুন।

উপাদান আপনি

উইজেট উন্নতি

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

আরও তথ্যের জন্য অ্যান্ড্রয়েড 12 উইজেট উন্নতি দেখুন।

সমৃদ্ধ সামগ্রী সন্নিবেশ

অ্যান্ড্রয়েড 12 একটি নতুন ইউনিফাইড এপিআই প্রবর্তন করে যা আপনার অ্যাপ্লিকেশনটিকে যে কোনও উপলভ্য উত্স থেকে সমৃদ্ধ সামগ্রী পেতে দেয়: ক্লিপবোর্ড, কীবোর্ড, বা ড্র্যাগ এবং ড্রপ।

আরও তথ্যের জন্য, সমৃদ্ধ সামগ্রী গ্রহণ দেখুন।

অ্যাপ্লিকেশন স্প্ল্যাশ স্ক্রিন এপিআই

অ্যান্ড্রয়েড 12 সমস্ত অ্যাপ্লিকেশনগুলির জন্য একটি নতুন অ্যাপ্লিকেশন লঞ্চ অ্যানিমেশন প্রবর্তন করে যা লঞ্চের পয়েন্ট থেকে একটি অ্যাপ্লিকেশন গতি, অ্যাপ্লিকেশন আইকনটি দেখায় একটি স্প্ল্যাশ স্ক্রিন এবং অ্যাপ্লিকেশনটিতে একটি রূপান্তর অন্তর্ভুক্ত করে। আরও তথ্যের জন্য স্প্ল্যাশ স্ক্রিন বিকাশকারী গাইড দেখুন।

বৃত্তাকার কর্নার এপিআই

অ্যান্ড্রয়েড 12 RoundedCorner এবং WindowInsets.getRoundedCorner(int position) পরিচয় করিয়ে দেয়, যা বৃত্তাকার কোণগুলির জন্য ব্যাসার্ধ এবং কেন্দ্র পয়েন্ট সরবরাহ করে।

আরও তথ্যের জন্য, বৃত্তাকার কোণগুলি দেখুন।

সমৃদ্ধ হ্যাপটিক অভিজ্ঞতা

অ্যান্ড্রয়েড 12 ইউআই ইভেন্টগুলির জন্য তথ্যবহুল হ্যাপটিক প্রতিক্রিয়া, গেমিংয়ের জন্য নিমজ্জনিত এবং আনন্দদায়ক প্রভাব এবং উত্পাদনশীলতার জন্য মনোনিবেশমূলক হ্যাপটিক্স তৈরির সরঞ্জামগুলি প্রসারিত করে।

অ্যাকুয়েটর প্রভাব

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

অডিও-কাপলড হ্যাপটিক প্রভাব

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

আরও তথ্যের জন্য HapticGenerator রেফারেন্স ডকুমেন্টেশন দেখুন।

অ্যাপসার্চ

অ্যান্ড্রয়েড 12 সিস্টেম পরিষেবা হিসাবে অ্যাপসার্চ, একটি উচ্চ-সম্পাদন অন-ডিভাইস অনুসন্ধান ইঞ্জিনকে পরিচয় করিয়ে দেয়। অ্যাপসার্চ অ্যাপ্লিকেশনগুলিকে কাঠামোগত ডেটা সূচক করতে এবং অন্তর্নির্মিত পূর্ণ-পাঠ্য অনুসন্ধানের ক্ষমতা সহ এটি অনুসন্ধান করতে দেয়। তদ্ব্যতীত, অ্যাপসার্চ উচ্চ-দক্ষ সূচক এবং পুনরুদ্ধার, বহু ভাষার সমর্থন এবং প্রাসঙ্গিকতার র‌্যাঙ্কিংয়ের মতো দেশীয় অনুসন্ধান বৈশিষ্ট্যগুলিকে সমর্থন করে।

ডায়াগ্রামটি ইনডেক্সিং এবং অ্যাপসার্চের মধ্যে অনুসন্ধান চিত্রিত করে

অ্যাপসার্চ দুটি স্বাদে আসে: আপনার অ্যাপ্লিকেশনটির জন্য একটি স্থানীয় সূচক যা অ্যান্ড্রয়েডের পুরানো সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ, বা অ্যান্ড্রয়েড 12 এ পুরো সিস্টেমের জন্য রক্ষণাবেক্ষণ করা একটি কেন্দ্রীয় সূচক। কেন্দ্রীয় সূচকটি ব্যবহার করে, আপনার অ্যাপ্লিকেশনটি তার ডেটা প্রদর্শিত হতে পারে সিস্টেমের প্রাক-ইনস্টল করা গোয়েন্দা উপাদান দ্বারা সিস্টেম ইউআই পৃষ্ঠতল। সিস্টেম ইউআই পৃষ্ঠগুলিতে কোন ডেটা প্রদর্শিত হয় তা ঠিক OEM এর উপর নির্ভরশীল। অতিরিক্তভাবে, আপনার অ্যাপ্লিকেশনটি অন্য অ্যাপ্লিকেশনগুলির সাথে নিরাপদে ডেটা ভাগ করতে পারে, যাতে তাদের সেই ডেটাও অনুসন্ধান করার অনুমতি দেয়।

বিকাশকারী গাইডে অ্যাপসার্চ সম্পর্কে আরও জানুন এবং অ্যাপসার্চ জেটপ্যাক লাইব্রেরির সাথে এটি ব্যবহার শুরু করুন, যা একটি বিকাশকারী-বান্ধব এপিআই পৃষ্ঠের পাশাপাশি টীকাগুলি প্রসেসর সমর্থন সরবরাহ করে।

গেম মোড

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

আরও তথ্যের জন্য, গেম মোড দেখুন।

চিত্র-ইন-পিকচার (পিআইপি) সুপারিশ এবং উন্নতি

অ্যান্ড্রয়েড 12 পিআইপি মোডের জন্য নিম্নলিখিত উন্নতিগুলি প্রবর্তন করে:

নতুন পিআইপি অঙ্গভঙ্গির জন্য সমর্থন

অ্যান্ড্রয়েড 12 এখন পিআইপি উইন্ডোর জন্য স্ট্যাশিং এবং চিমটি থেকে জুম অঙ্গভঙ্গি সমর্থন করে:

  • উইন্ডোটি স্ট্যাশ করতে, ব্যবহারকারী উইন্ডোটি বাম বা ডান প্রান্তে টেনে আনতে পারে। উইন্ডোটি আনস্ট্যাশ করতে, ব্যবহারকারী হয় স্ট্যাশড উইন্ডোর দৃশ্যমান অংশটি ট্যাপ করতে বা এটি টেনে আনতে পারে।

  • ব্যবহারকারী এখন চিমটি-টু-জুম ব্যবহার করে পিআইপি উইন্ডোটি পুনরায় আকার দিতে পারে।

অ্যান্ড্রয়েড 12 ফুলস্ক্রিন এবং পিআইপি উইন্ডোগুলির মধ্যে অ্যানিমেটেড ট্রানজিশনে উল্লেখযোগ্য কসমেটিক উন্নতি যুক্ত করেছে। আমরা সমস্ত প্রযোজ্য পরিবর্তনগুলি বাস্তবায়নের দৃ strongly ়ভাবে সুপারিশ করি; একবার আপনি এটি সম্পন্ন করার পরে, এই পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে কোনও প্রয়োজনীয় কাজ ছাড়াই বড় স্ক্রিনগুলিতে যেমন ফোল্ডেবল এবং ট্যাবলেটগুলিতে স্কেল করে।

এই বৈশিষ্ট্যগুলি নিম্নরূপ:

নতুন ফোন কল বিজ্ঞপ্তিগুলি আগত কলগুলির র‌্যাঙ্কিংয়ের গুরুত্বের জন্য অনুমতি দেয়

অ্যান্ড্রয়েড 12 নতুন বিজ্ঞপ্তি শৈলী Notification.CallStyle যুক্ত করে। ফোন কলগুলির জন্য কলস্টাইল। এই টেম্পলেটটি ব্যবহার করে আপনার অ্যাপ্লিকেশনটি একটি বিশিষ্ট চিপ প্রদর্শন করে সক্রিয় কলগুলির গুরুত্ব নির্দেশ করতে দেয় যা স্ট্যাটাস বারে কলটির সময় দেখায়; ব্যবহারকারী তাদের কলটিতে ফিরে আসতে এই চিপটি ট্যাপ করতে পারেন।

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

সমস্ত ধরণের কলগুলির জন্য নিম্নলিখিত কোডটি প্রয়োগ করুন।

কোটলিন

// Create a new call with the user as caller.
val incoming_caller = Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build()

জাভা

// Create a new call with the user as caller.
Person incoming_caller = new Person.Builder()
    .setName("Jane Doe")
    .setImportant(true)
    .build();

আগত কলের জন্য একটি কল স্টাইল বিজ্ঞপ্তি তৈরি করতে forIncomingCall() ব্যবহার করুন।

কোটলিন

// Create a call style notification for an incoming call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller)

জাভা

// Create a call style notification for an incoming call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent))
    .addPerson(incoming_caller);

চলমান কলের জন্য একটি কল স্টাইল বিজ্ঞপ্তি তৈরি করতে forOngoingCall() ব্যবহার করুন।

কোটলিন

// Create a call style notification for an ongoing call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller)

জাভা

// Create a call style notification for an ongoing call.
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forOnGoingCall(caller, hangupIntent))
    .addPerson(second_caller);

কল স্ক্রিনিংয়ের জন্য একটি কল স্টাইল বিজ্ঞপ্তি তৈরি forScreeningCall() জন্য ব্যবহার করুন।

কোটলিন

// Create a call style notification for screening a call.
val builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
         Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller)

জাভা

Notification.Builder builder = Notification.Builder(context, CHANNEL_ID)
    .setContentIntent(contentIntent)
    .setSmallIcon(smallIcon)
    .setStyle(
        Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent))
    .addPerson(second_caller);

বিজ্ঞপ্তিগুলির জন্য সমৃদ্ধ চিত্র সমর্থন

অ্যান্ড্রয়েড 12 -এ, আপনি এখন MessagingStyle() এবং BigPictureStyle() বিজ্ঞপ্তিগুলিতে অ্যানিমেটেড চিত্র সরবরাহ করে আপনার অ্যাপের বিজ্ঞপ্তি অভিজ্ঞতাটি সমৃদ্ধ করতে পারেন। এছাড়াও, আপনার অ্যাপ্লিকেশনটি এখন ব্যবহারকারীদের বিজ্ঞপ্তি ছায়া থেকে বার্তাগুলির জবাব দেওয়ার সময় চিত্র বার্তা প্রেরণ করতে সক্ষম করতে পারে।

অঙ্গভঙ্গি নেভিগেশনের জন্য নিমজ্জনিত মোডের উন্নতি

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

URL ভাগ করে নেওয়ার পুনরুদ্ধার (কেবল পিক্সেল)

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

আরও তথ্যের জন্য, দেখুন URL ভাগ করে নেওয়ার জন্য পুনরায় সক্ষম করুন

নিরাপত্তা এবং গোপনীয়তা

গোপনীয়তা ড্যাশবোর্ড

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

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

আপনার অ্যাপ্লিকেশনটি কেন আপনার অ্যাপ্লিকেশন অবস্থান, ক্যামেরা বা মাইক্রোফোন তথ্য অ্যাক্সেস করে তা বুঝতে তাদের সহায়তা করার জন্য আপনার অ্যাপ্লিকেশন একটি যুক্তি সরবরাহ করতে পারে। এই যুক্তিটি নতুন গোপনীয়তা ড্যাশবোর্ড স্ক্রিন, আপনার অ্যাপের অনুমতি স্ক্রিন বা উভয়ই উপস্থিত হতে পারে।

ব্লুটুথ অনুমতি

অ্যান্ড্রয়েড 12 BLUETOOTH_SCAN , BLUETOOTH_ADVERTISE এবং BLUETOOTH_CONNECT অনুমতিগুলির সাথে পরিচয় করিয়ে দেয়। এই অনুমতিগুলি এমন অ্যাপ্লিকেশনগুলির জন্য এটি আরও সহজ করে তোলে যা অ্যান্ড্রয়েড 12 কে ব্লুটুথ ডিভাইসের সাথে ইন্টারঅ্যাক্ট করা , বিশেষত এমন অ্যাপ্লিকেশনগুলির জন্য যা ডিভাইসের অবস্থানের অ্যাক্সেসের প্রয়োজন হয় না।

আপনার অ্যাপ্লিকেশনটির ব্লুটুথ অনুমতি ঘোষণা আপডেট করুন

অ্যান্ড্রয়েড 12 বা উচ্চতর লক্ষ্য করার জন্য আপনার ডিভাইস প্রস্তুত করতে, আপনার অ্যাপ্লিকেশনটির যুক্তি আপডেট করুন। ব্লুটুথ অনুমতিগুলির একটি উত্তরাধিকার সেট ঘোষণা করার পরিবর্তে ব্লুটুথ অনুমতিগুলির আরও একটি আধুনিক সেট ঘোষণা করুন।

অনুমতি গোষ্ঠী চেহারা

অ্যান্ড্রয়েড 12 বা ততোধিক, আপনি কীভাবে সিস্টেমটি অনুমতি গ্রুপগুলিতে প্ল্যাটফর্ম সরবরাহিত অনুমতিগুলি সংগঠিত করে তা জিজ্ঞাসা করতে পারেন:

  • সিস্টেমটি প্ল্যাটফর্ম-সংজ্ঞায়িত অনুমতি দিয়েছে এমন অনুমতি গোষ্ঠী নির্ধারণের জন্য, getGroupOfPlatformPermission() কল করুন।
  • সিস্টেমটি একটি নির্দিষ্ট অনুমতি গোষ্ঠীতে যে প্ল্যাটফর্ম-সংজ্ঞায়িত অনুমতিগুলি রেখেছিল তা নির্ধারণ করতে, getPlatformPermissionsForGroup() কল করুন।

অ্যাপ্লিকেশন ওভারলে উইন্ডোজ লুকান

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

HIDE_OVERLAY_WINDOWS অনুমতি ঘোষণার পরে, একটি অ্যাপ্লিকেশন setHideOverlayWindows() কল করতে পারে যে অ্যাপ্লিকেশনটির নিজস্ব উইন্ডোটি দৃশ্যমান হলে টাইপ TYPE_APPLICATION_OVERLAY সমস্ত উইন্ডো লুকানো উচিত। সংবেদনশীল স্ক্রিনগুলি যেমন লেনদেন নিশ্চিতকরণ প্রবাহ প্রদর্শন করার সময় অ্যাপ্লিকেশনগুলি এটি করতে বেছে নিতে পারে।

টাইপ TYPE_APPLICATION_OVERLAY উইন্ডোজ দেখায় এমন অ্যাপ্লিকেশনগুলিতে এমন বিকল্পগুলি বিবেচনা করা উচিত যা তাদের ব্যবহারের ক্ষেত্রে যেমন চিত্র-ইন-চিত্র বা বুদবুদগুলির জন্য আরও উপযুক্ত হতে পারে।

পরিচিত স্বাক্ষরকারীদের অনুমতি সুরক্ষা পতাকা

অ্যান্ড্রয়েড 12 থেকে শুরু করে, স্বাক্ষর-স্তরের অনুমতিগুলির জন্য knownCerts বৈশিষ্ট্যগুলি আপনাকে ঘোষণার সময় পরিচিত স্বাক্ষর শংসাপত্রগুলির হজমগুলি উল্লেখ করতে দেয়।

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

ডিভাইস বৈশিষ্ট্য সত্যতা

অ্যান্ড্রয়েড 12 অ্যাপ্লিকেশনগুলির সেটটি প্রসারিত করে যা এই অ্যাপ্লিকেশনগুলি একটি নতুন কী উত্পন্ন করার সময় প্রমাণীকরণ শংসাপত্রে থাকা ডিভাইস বৈশিষ্ট্যগুলি যাচাই করতে পারে।

অ্যান্ড্রয়েড 9 (এপিআই স্তর 28) হিসাবে, ডিভাইস নীতি মালিকরা (ডিপিও) যা কিমাস্টার 4.0 বা উচ্চতর ব্যবহার করে তারা এই সত্যতা শংসাপত্রগুলিতে ডিভাইসের বৈশিষ্ট্যগুলি যাচাই করতে পারে। অ্যান্ড্রয়েড 12 এ শুরু করে, অ্যান্ড্রয়েড 12 (এপিআই স্তর 31) বা উচ্চতর লক্ষ্য করে এমন কোনও অ্যাপ্লিকেশন setDevicePropertiesAttestationIncluded() পদ্ধতিটি ব্যবহার করে এই যাচাইকরণটি সম্পাদন করতে পারে।

উত্পন্ন ডিভাইসের বৈশিষ্ট্যগুলিতে নিম্নলিখিত Build ক্ষেত্রগুলি অন্তর্ভুক্ত রয়েছে:

  • BRAND
  • DEVICE
  • MANUFACTURER
  • MODEL
  • PRODUCT

সুরক্ষিত লকস্ক্রিন বিজ্ঞপ্তি ক্রিয়া

অ্যান্ড্রয়েড 12 থেকে শুরু করে, Notification.Action.Builder ক্লাসটি setAuthenticationRequired() পদ্ধতিটিকে সমর্থন করে, যা আপনার অ্যাপ্লিকেশনটিকে প্রদত্ত বিজ্ঞপ্তি ক্রিয়া করার আগে কোনও ডিভাইসটি আনলক করা দরকার বলে আপনার অ্যাপ্লিকেশনটির প্রয়োজন হয় । এই পদ্ধতিটি লক করা ডিভাইসে বিজ্ঞপ্তিগুলিতে সুরক্ষার অতিরিক্ত স্তর যুক্ত করতে সহায়তা করে।

বায়োমেট্রিকপ্রম্পট এর জন্য স্থানীয়করণযোগ্য স্ট্রিং

অ্যান্ড্রয়েড 12 আপনাকে আপনার অ্যাপ্লিকেশনটির বায়োমেট্রিক প্রমাণীকরণ ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সহায়তা করার জন্য নতুন এপিআইগুলির সাথে পরিচয় করিয়ে দেয়। নতুন BiometricManager.Strings নেস্টেড ক্লাসে getButtonLabel() , getPromptMessage() , এবং getSettingName() পদ্ধতি অন্তর্ভুক্ত রয়েছে, যা আপনার অ্যাপ্লিকেশনটিকে একটি ব্যবহারকারী-পঠনযোগ্য এবং স্থানীয়ভাবে বাটন লেবেল, প্রম্পট বার্তা বা অ্যাপ সেটিংয়ের নাম পুনরুদ্ধার করতে দেয়। "ফেস আনলক ব্যবহার করুন" বা "চালিয়ে যেতে আপনার আঙুলের ছাপ ব্যবহার করুন" এর মতো ব্যবহৃত বায়োমেট্রিক প্রমাণীকরণ পদ্ধতির সাথে সুনির্দিষ্ট আরও সুনির্দিষ্ট ব্যবহারকারী-মুখোমুখি নির্দেশাবলী তৈরি করতে এই লেবেলগুলি ব্যবহার করুন।

মেসেজিং অ্যাপ্লিকেশনগুলিতে ফিশিং সনাক্তকরণ (কেবল পিক্সেল)

সন্দেহজনক বার্তা সনাক্ত করা হলে কোনও ব্যবহারকারী এই জাতীয় বার্তা দেখেন।

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

  • সন্দেহজনক অনুরোধ, যেমন একটি কোড, অর্থ বা অনুরূপ প্রেরণ
  • অবিশ্বস্ত urls
  • দূষিত সংযুক্তি
  • দূষিত অ্যাপ্লিকেশনগুলির লিঙ্কগুলি

ব্যবহারকারীকে সতর্ক করার পাশাপাশি, ওভারলে ব্যবহারকারীকে একটি সন্দেহজনক বার্তা রিপোর্ট করতে এবং সিস্টেম দ্বারা জারি করা সতর্কতা সম্পর্কে প্রতিক্রিয়া সরবরাহ করতে দেয়।

বিকাশকারীরা তাদের অ্যাপ্লিকেশন ম্যানিফেস্ট ফাইলগুলিতে স্ট্রিং com.google.android.ALLOW_PHISHING_DETECTION সহ একটি নতুন মেটাডেটা ট্যাগ যুক্ত করে এই বৈশিষ্ট্যটি বেছে নিতে পারেন। যেমন:

<manifest>
    <application android:name="com.messagingapp">
        <meta-data android:name="com.google.android.ALLOW_PHISHING_DETECTION" android:value="false" />

    </application>
</manifest>

মিডিয়া

সামঞ্জস্যপূর্ণ মিডিয়া ট্রান্সকোডিং

Starting in Android 12 (API level 31), the system can automatically transcode HEVC(H.265) and HDR (HDR10 and HDR10+) videos recorded on the device to AVC (H.264), a format which is widely compatible with standard players . This takes advantage of modern codecs when they are available without sacrificing compatibility with older applications.

See compatible media transcoding for more details.

Performance class

Android 12 introduces a standard called performance class . A performance class specifies hardware capabilities beyond Android's baseline requirements. Each Android device declares the performance class that it supports. Developers can check the device's performance class at runtime and provide upgraded experiences that take full advantage of the device's capabilities.

See Performance class for more details.

Video encoding improvements

Android 12 defines a standard set of keys for controlling the quantization parameter (QP) value for video encoding, allowing developers to avoid vendor-specific code.

The new keys are available in the MediaFormat API and also in the NDK Media library .

Starting with Android 12 video encoders enforce a minimum quality threshold. This guarantees that users don't experience extremely low quality when encoding videos with high scene complexity.

Audio focus

Starting with Android 12 (API level 31), when an app requests audio focus while another app has the focus and is playing, the system fades out the playing app.

See Audio focus in Android 12 and higher for more details.

MediaDrm updates

In order to determine whether a secure decoder component is required with the current MediaDrm APIs, you must follow these steps:

  1. Create a MediaDrm .
  2. Open a session to obtain a session id.
  3. Create a MediaCrypto using the session id.
  4. Call MediaCrypto.requiresSecureDecoderComponent(mimeType) .

With the new methods requiresSecureDecoder(@NonNull String mime) and requiresSecureDecoder(@NonNull String mime, @SecurityLevel int level) you can determine this as soon as you create a MediaDrm .

ক্যামেরা

Camera2 vendor extensions

Many of our device manufacturer partners have built custom camera extensions—such as Bokeh, HDR, Night mode, and others—that they want apps to use to create differentiated experiences on their devices. The CameraX library already supports these custom vendor extensions. In Android 12, these vendor extensions are now exposed directly in the platform.

This addition helps apps that have complex Camera2 implementations take advantage of vendor extensions without having to make significant changes to legacy code. The Camera2 Extension APIs expose exactly the same set of extensions as in CameraX, and those are already supported on many different devices , so you can use them without any additional configuration.

For more information, see CameraExtensionCharacteristics .

Quad bayer camera sensor support

Many Android devices today ship with ultra high-resolution camera sensors, typically with Quad or Nona Bayer patterns, and these offer great flexibility in terms of image quality and low-light performance. Android 12 introduces new platform APIs that let third-party apps take full advantage of these versatile sensors. The new APIs support the unique behavior of these sensors and take into account that they might support different stream configurations and combinations when operating in full resolution or 'maximum resolution' mode vs 'default' mode.

Graphics and images

Provide apps direct access to tombstone traces

Starting in Android 12, you can access your app's native crash tombstone as a protocol buffer through the ApplicationExitInfo.getTraceInputStream() method. The protocol buffer is serialized using this schema . Previously, the only way to get access to this information was through the Android Debug Bridge (adb).

For more information, see Provide apps direct access to tombstone traces

AVIF image support

Android 12 introduces support for images that use the AV1 Image File Format (AVIF). AVIF is a container format for images and sequences of images encoded using AV1. AVIF takes advantage of the intra-frame encoded content from video compression. This dramatically improves image quality for the same file size when compared to older image formats, such as JPEG. For an in-depth look at the advantages of this format, see Jake Archibald's blog post .

Easier blurs, color filters, and other effects

Android 12 adds the new RenderEffect that applies common graphics effects such as blurs, color filters, Android shader effects, and more to View s and rendering hierarchies. Effects can be combined as either chain effects (which compose an inner and outer effect) or blended effects. Different Android devices may or may not support the feature due to limited processing power.

Effects can also be applied to the underlying RenderNode for View s by calling View.setRenderEffect(RenderEffect) .

To implement a RenderEffect :

view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))

Native animated image decoding

In Android 12, the NDK ImageDecoder API has been expanded to decode all frames and timing data from images that use the animated GIF and animated WebP file formats. When it was introduced in Android 11, this API decoded only the first image from animations in these formats.

Use ImageDecoder instead of third-party libraries to further decrease APK size and benefit from future updates related to security and performance.

For more details on the API, refer to the API reference and the sample on GitHub .

সংযোগ

Keeping companion apps awake

To support the need of companion apps to stay running to manage the device, Android 12 introduces APIs that do the following:

  • Enable you to wake an app when a companion device is within range.
  • Guarantee that the process will continue running while the device stays within range.

To use the APIs, your devices must be connected using Companion Device Manager . For more information, see CompanionDeviceManager.startObservingDevicePresence() and CompanionDeviceService.onDeviceAppeared() .

Companion Device Manager profiles

A permissions dialog that uses a companion device profile to request multiple permissions in a single request.

Partner apps on Android 12 (API level 31) and higher can use companion device profiles when connecting to a watch. Using a profile simplifies the enrollment process by bundling the granting of a device-type-specific set of permissions into one step.

The bundled permissions are granted to the companion app once the device connects, and last only while the device is associated. Deleting the app or removing the association removes the permissions.

For more information, see AssociationRequest.Builder.setDeviceProfile() .

Bandwidth estimation improvements

In Android 12, the bandwidth estimation capabilities provided by getLinkDownstreamBandwidthKbps() and getLinkUpstreamBandwidthKbps() are improved for both Wi-Fi and cellular connectivity. The values returned now represent the user's all-time weighted average throughput per carrier or WiFi SSID, network type, and signal level, across all applications on the device. This can return a more-accurate and realistic estimate of expected throughput, provide estimates on a cold start of your application, and requires fewer cycles when compared to using other throughput estimation methods.

Wi-Fi Aware (NAN) enhancements

Android 12 adds some enhancements to Wi-Fi Aware:

  • On devices running Android 12 (API level 31) and higher, you can use the onServiceLost() callback to be alerted when your app has lost a discovered service due to the service stopping or moving out of range.
  • The way that multiple data-paths (NAN Data Paths) are set up is changing to be more efficient. Earlier versions used L2 messaging to exchange peer information of the initiators, which introduced latency. On devices running Android 12 and higher, the responder (server) can be configured to accept any peer—that is, it doesn't need to know the initiator information upfront. This speeds up datapath bringup and enables multiple point-to-point links with only one network request.
  • To prevent the framework from rejecting discovery or connection requests due to running out of resources, on devices running Android 12 and higher, you can call WifiAwareManager.getAvailableAwareResources() . This method's return value lets you get the number of available data paths, the number of available publish sessions, and the number of available subscribe sessions.

Concurrent Peer-to-Peer + Internet Connection

When devices targeting Android 12 (API level 31) and higher run on devices with hardware support, using Peer-to-peer connections will not disconnect your existing Wi-Fi connection when creating the connection to the peer device. To check for support for this feature, use WifiManager.isMultiStaConcurrencySupported() .

Enable screen off for NFC payments

In apps that target Android 12 and higher, you can enable NFC payments without the device's screen on by setting requireDeviceScreenOn to false . For more information about NFC payments with screen off or locked, see Screen off and lock-screen behavior .

স্টোরেজ

Android 12 introduces the following storage management capabilities:

মূল কার্যকারিতা

স্বয়ংক্রিয় অ্যাপ আপডেট

Android 12 introduces the setRequireUserAction() method for apps that use the PackageInstaller API. This method allows installer apps to perform app updates without requiring the user to confirm the action.

Device chipset information

Android 12 adds two constants to android.os.Build that expose the SoC chipset vendor and model information via the SDK. You can retrieve this information by calling Build.SOC_MANUFACTURER and Build.SOC_MODEL respectively.

Updates to core Java APIs

Based on requests and collaboration with developers, we've added the following core libraries in Android 12:

ক্লাস এপিআই
java.lang.Deprecated
java.lang.Byte
java.lang.Short
java.lang.Math
java.lang.StrictMath
java.util.Set copyOf()
java.util.Map copyOf()
java.util.List copyOf()
java.time.Duration
java.time.LocalTime