Android 12 में डेवलपर के लिए, बेहतरीन नई सुविधाएं और एपीआई उपलब्ध कराए गए हैं. नीचे दिए गए सेक्शन, अपने ऐप्लिकेशन के लिए सुविधाओं के बारे में जानने और उन्हें इस्तेमाल करने में आपकी मदद करते हैं से संपर्क करें.
नए, बदले गए, और हटाए गए एपीआई की ज़्यादा जानकारी के लिए, एपीआई में अंतर पढ़ें रिपोर्ट. नए एपीआई के बारे में जानकारी के लिए, Android एपीआई के बारे में जानकारी — नए एपीआई को दिखाने के लिए हाइलाइट किया जाता है. साथ ही, उन इलाकों के बारे में जानें जहां प्लैटफ़ॉर्म में बदलाव होने से आपके ऐप्लिकेशन पर असर पड़ सकता है. इन मामलों को ज़रूर देखें टारगेट करने वाले ऐप्लिकेशन की Android 12 सेटिंग में हुए बदलाव Android 12 और सभी के लिए उपलब्ध है ऐप्लिकेशन के मामले में ऐसा कर सकते हैं.
उपयोगकर्ता अनुभव
खास आपके लिए
Android 12 को लॉन्च किया गया है एक नई डिज़ाइन लैंग्वेज जिसे Material का नाम है आप, अपनी साइट को आगे बढ़ाने में ज़्यादा मनमुताबिक, खूबसूरत ऐप्लिकेशन. सभी नवीनतम मटीरियल डिज़ाइन 3 लाने के लिए अपडेट करने के लिए, Material Design के ऐप्लिकेशन का ऐल्फ़ा वर्शन आज़माएं कॉम्पोनेंट.
विजेट में किए गए सुधार
Android 12, उपयोगकर्ता और डेवलपर को बेहतर बनाने के लिए, मौजूदा Widgets API में बदलाव करता है का अनुभव मिलता है. आपकी मदद के लिए हमने एक गाइड बनाई है पक्का करें कि आपका विजेट, Android 12 के साथ काम करता हो. साथ ही, इसे नए वर्शन के साथ रीफ़्रेश करें सुविधाएँ.
Android 12 के विजेट में किए गए सुधार देखें ज़्यादा जानकारी देखें.
रिच कॉन्टेंट डालें
Android 12 में एक नया यूनिफ़ाइड एपीआई जोड़ा गया है. इससे आपका ऐप्लिकेशन किसी भी उपलब्ध स्रोत से समृद्ध सामग्री पाएं: क्लिपबोर्ड, कीबोर्ड या खींचें और कम.
ज़्यादा जानकारी के लिए, रिच जानकारी पाएं कॉन्टेंट.
ऐप्लिकेशन स्प्लैश स्क्रीन एपीआई
Android 12 में लॉन्च होने वाला नया ऐनिमेशन उन सभी ऐप्लिकेशन के लिए लॉन्च किया गया है जिनमें लॉन्च के बाद से, इन-ऐप्लिकेशन मोशन, जिसमें ऐप्लिकेशन आइकॉन दिख रहा है. साथ ही, ऐप्लिकेशन में ट्रांज़िशन भी हो सकता है. स्प्लैश स्क्रीन डेवलपर के बारे में जानें गाइड पढ़ें.
राउंडेड कॉर्नर एपीआई
Android 12 के लिए पेश है RoundedCorner
और WindowInsets.getRoundedCorner(int
position)
,
इसकी मदद से, गोल किनारों के लिए रेडियस और सेंटर पॉइंट मिलते हैं.
ज़्यादा जानकारी के लिए, गोलाकार कोने देखें.
शानदार हैप्टिक अनुभव
Android 12 में, यूज़र इंटरफ़ेस (यूआई) के लिए जानकारी देने वाले हैप्टिक फ़ीडबैक बनाने के टूल शामिल किए गए हैं इवेंट, गेमिंग के लिए शानदार और दिलचस्प इफ़ेक्ट, और अटेंशनल हैप्टिक बेहतर ढंग से काम करते हैं.
एक्चुएटर इफ़ेक्ट
Android 12 में बेहतरीन इफ़ेक्ट दिए गए हैं. जैसे, कम अवधि के वीडियो टिक नए एक्चुएटर की ज़्यादा फ़्रीक्वेंसी बैंडविथ का फ़ायदा लें. गेम वाले ऐप्लिकेशन डेवलपर अब कई, अलग-अलग एक्चुएटर स्वतंत्र रूप से काम करते हैं कंट्रोलर, एक ही इफ़ेक्ट को सिंक्रोनस या अलग-अलग हैप्टिक इफ़ेक्ट डिलीवर करते हैं पर काम करता है. डेवलपर के लिए, हमारा सुझाव है कि कॉन्सटेंट और प्रिमिटिव शानदार हैप्टिक इफ़ेक्ट के लिए बिल्डिंग ब्लॉक - यूज़र इंटरफ़ेस (यूआई) इवेंट को बेहतर बनाने के लिए कॉन्सटेंट और क्रम में लगाने के लिए, हैप्टिक कंपोज़र अधिक जटिल प्रभावों के लिए प्रिमिटिव. Pixel 4 पर आज़माने के लिए ये एपीआई उपलब्ध हैं है. हम डिवाइस बनाने वाली कंपनी के पार्टनर के साथ लगातार काम कर रहे हैं, ताकि सभी के लिए हैप्टिक सहायता की सबसे नई सुविधा उपलब्ध कराई है.
ऑडियो-कपल्ड हैप्टिक इफ़ेक्ट
Android 12 वाले ऐप्लिकेशन, इनका इस्तेमाल करके किसी ऑडियो सेशन से हैप्टिक फ़ीडबैक जनरेट कर सकते हैं तो फ़ोन का वाइब्रेटर चालू कर सकते हैं. इससे आपको शानदार गेम खेलने का मौका मिलता है और ऑडियो अनुभव. उदाहरण के लिए, हैप्टिक-बेहतर रिंगटोन कॉलर या ड्राइविंग गेम किसी उथल-पुथल भरे इलाक़े की भावना जैसा अनुभव कर सकते हैं.
HapticGenerator
देखें
संदर्भ दस्तावेज़ पढ़ें.
ऐप्लिकेशन खोज
Android 12 में पेश है AppSearch, जो डिवाइस में इस्तेमाल करने के लिए बेहतर सर्च इंजन है. एक सिस्टम सेवा के रूप में. AppSearch, ऐप्लिकेशन को स्ट्रक्चर्ड डेटा इंडेक्स करने की अनुमति देता है और इसमें बिल्ट-इन फ़ुल-टेक्स्ट खोज की सुविधा का इस्तेमाल करें. इसके अलावा, AppSearch, पहले से मौजूद खोज की सुविधाओं के साथ काम करता है. जैसे, इंडेक्स करने की आसान सुविधा और कॉन्टेंट वापस पाना, कई भाषाओं में सहायता, और प्रासंगिकता के आधार पर रैंकिंग तय करना.
![AppSearch में इंडेक्स करने और खोजने की जानकारी देने वाला डायग्राम](https://developer.android.com/static/images/about/versions/12/appsearch.png?authuser=0000&hl=hi)
AppSearch के दो अलग-अलग वर्शन उपलब्ध हैं: ऐप्लिकेशन के इस्तेमाल के लिए लोकल इंडेक्स जो Android के पुराने वर्शन या सेंट्रल इंडेक्स के साथ काम करता हो Android 12 में पूरे सिस्टम के लिए मैनेज किया जाता था. सेंट्रल इंडेक्स का इस्तेमाल करके, ऐप्लिकेशन के द्वारा अपना डेटा सिस्टम के यूज़र इंटरफ़ेस (यूआई) प्लैटफ़ॉर्म पर दिखाने के लिए पहले से इंस्टॉल किया गया इंटेलिजेंस कॉम्पोनेंट होता है. असल में किस तरह का डेटा मिलता है यह OEM पर निर्भर करता है कि सिस्टम के यूज़र इंटरफ़ेस (यूआई) प्लैटफ़ॉर्म पर दिखाया जाएगा. इसके अलावा, ऐप्लिकेशन, दूसरे ऐप्लिकेशन के साथ सुरक्षित तरीके से डेटा शेयर कर सकता है, ताकि वे खोज के लिए भी इसका इस्तेमाल किया जा सकता है.
इसमें AppSearch के बारे में ज़्यादा जानें: डेवलपर गाइड पढ़ें और इसका इस्तेमाल AppSearch Jetpack लाइब्रेरी में, जो यह डेवलपर-फ़्रेंडली एपीआई प्लैटफ़ॉर्म के साथ-साथ, एनोटेशन प्रोसेसर उपलब्ध कराता है सहायता.
गेम मोड
गेम मोड एपीआई और गेम मोड इंटरवेंशन से आपको यह ऑप्टिमाइज़ करने में मदद मिलती है कि गेमप्ले में विशेषताओं को प्राथमिकता देकर, जैसे कि परफ़ॉर्मेंस या बैटरी लाइफ़ को प्राथमिकता दें जो उपयोगकर्ता की सेटिंग या गेम के हिसाब से कॉन्फ़िगरेशन के हिसाब से तय होते हैं.
ज़्यादा जानकारी के लिए, गेम मोड देखें.
पिक्चर में पिक्चर (पीआईपी) के सुझाव और सुधार
Android 12 में, पीआईपी मोड में ये सुधार किए गए हैं:
पीआईपी के नए जेस्चर (हाव-भाव) की सुविधा
Android 12 में अब स्लैश करने और ज़ूम करने के लिए पिंच करें” सुविधा काम करती है पीआईपी के लिए, हाथ के जेस्चर विंडो:
विंडो को छिपाने के लिए, उपयोगकर्ता विंडो को बाएं या दाएं खींच सकता है किनारे. विंडो को खोलने के लिए, उपयोगकर्ता या तो विंडो के दिखाई देने वाले हिस्से पर टैप कर सकता है दबाई गई विंडो या उसे बाहर खींचें.
उपयोगकर्ता अब पिंच करके ज़ूम करने की सुविधा का इस्तेमाल करके, पीआईपी विंडो का साइज़ बदल सकता है.
हमें ऐसी नई सुविधाओं के सुझाव दिए गए हैं जो पीआईपी ट्रांज़िशन के बेहतर अनुभव के साथ काम करती हैं
Android 12 में काफ़ी कॉस्मेटिक सुधार किए गए हैं ऐनिमेशन के लिए फ़ुलस्क्रीन और पीआईपी विंडो के बीच ट्रांज़िशन. हमारा सुझाव है कि आप: सभी लागू बदलावों को लागू करना; ऐसा करने के बाद, ये परिवर्तन डिवाइस, बड़ी स्क्रीन पर अपने-आप स्केल हो जाते हैं. जैसे, फ़ोल्ड किए जा सकने वाले डिवाइस और टैबलेट किसी अन्य आवश्यक काम को पूरा कर सकें.
इन सुविधाओं के बारे में यहां बताया गया है:
-
setAutoEnterEnabled
का इस्तेमाल करें फ़्लैग करें, ताकि होम पेज पर ऊपर की ओर स्वाइप करने पर, पीआईपी मोड में आसानी से ट्रांज़िशन किया जा सके जेस्चर वाला नेविगेशन मोड. इससे पहले, Android डिवाइस को घर तक स्वाइप करने की सुविधा का इंतज़ार करता था इस ऐनिमेशन को पीआईपी विंडो में फ़ेड होने से पहले पूरा करने के लिए सेट करें. पीआईपी मोड में जाने और उससे बाहर निकलने पर बेहतर ऐनिमेशन
SourceRectHint
अब फ़्लैग का फिर से इस्तेमाल किया जाता है, ताकि अंदर और बाहर निकलते समय बेहतर ऐनिमेशन लागू किया जा सके पीआईपी मोड.वीडियो के अलावा अन्य कॉन्टेंट का साइज़ आसानी से बदलने की सुविधा बंद करने के लिए नया एपीआई फ़्लैग
SeamlessResizeEnabled
फ़्लैग गैर-वीडियो का आकार बदलते समय क्रॉस-फ़ेडिंग ऐनिमेशन का बेहतर तरीके से इस्तेमाल करता है पीआईपी विंडो में मौजूद कॉन्टेंट को दिखाता है. पहले, पीआईपी में वीडियो के अलावा दूसरे कॉन्टेंट का साइज़ बदलना विंडो झंझट वाले विज़ुअल आर्टफ़ैक्ट बना सकती है.
आने वाले (इनकमिंग) कॉल की रैंकिंग के लिए, फ़ोन कॉल की नई सूचनाएं जोड़ी गई हैं
Android 12 में, सूचनाओं का नया स्टाइल जोड़ा गया है
Notification.CallStyle
फ़ोन कॉल के लिए. इस टेंप्लेट का इस्तेमाल करके, आपका ऐप्लिकेशन यह बता सकता है कि
सक्रिय कॉल की सुविधा चालू करने के लिए, एक अहम चिप दिखाया जाता है.
स्टेटस बार पर; कॉल पर वापस आने के लिए, उपयोगकर्ता इस चिप पर टैप कर सकता है.
इनकमिंग और जारी कॉल, उपयोगकर्ताओं के लिए सबसे अहम हैं, इसलिए ये सूचनाओं को शेड में शीर्ष रैंकिंग दी जाती है. इस रैंकिंग से आपको यह भी पता चलता है कि सिस्टम का इस्तेमाल कर सकता है, ताकि प्राथमिकता वाले इन कॉल को दूसरे डिवाइसों पर संभावित तौर पर फ़ॉरवर्ड किया जा सके.
सभी तरह के कॉल के लिए यह कोड लागू करें.
Kotlin
// Create a new call with the user as caller. val incoming_caller = Person.Builder() .setName("Jane Doe") .setImportant(true) .build()
Java
// Create a new call with the user as caller. Person incoming_caller = new Person.Builder() .setName("Jane Doe") .setImportant(true) .build();
forIncomingCall()
का इस्तेमाल करें
का इस्तेमाल करके, किसी इनकमिंग कॉल के लिए कॉल की स्टाइल वाली सूचना बना सकते हैं.
Kotlin
// 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)
Java
// 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()
का इस्तेमाल करें
पर क्लिक करें.
Kotlin
// 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)
Java
// 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()
का इस्तेमाल करें
ताकि कॉल की स्क्रीनिंग के लिए, कॉल की स्टाइल वाली सूचना बनाई जा सके.
Kotlin
// 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)
Java
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, स्टिकी डिवाइसों के लिए पुराने सिस्टम के साथ काम करने की सुविधा देता है इमर्सिव मोड है.
हाल ही में ऐक्सेस किए गए यूआरएल शेयर करना (सिर्फ़ Pixel फ़ोन के लिए)
Pixel डिवाइसों पर, अब उपयोगकर्ता हाल ही में देखे गए वेब कॉन्टेंट के लिंक शेयर कर सकते हैं सीधे हाल ही की स्क्रीन से. किसी ऐप्लिकेशन में कॉन्टेंट देखने के बाद, उपयोगकर्ता 'हाल ही की' स्क्रीन पर स्वाइप कर सकते हैं और उस ऐप्लिकेशन को ढूंढ सकते हैं जहां उन्होंने कॉन्टेंट देखा था, इसके बाद, यूआरएल को कॉपी या शेयर करने के लिए, लिंक बटन पर टैप करें.
ज़्यादा जानकारी के लिए, हाल ही के यूआरएल चालू करें देखें शेयर करना.
सुरक्षा और निजता
प्राइवसी डैशबोर्ड
Android 12 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों पर, निजता सिस्टम की सेटिंग में डैशबोर्ड स्क्रीन दिखेगी. इस स्क्रीन पर, उपयोगकर्ता ऐक्सेस कर सकते हैं अलग-अलग स्क्रीन, जो तब दिखती हैं, जब कोई ऐप्लिकेशन जगह की जानकारी, कैमरे, और माइक्रोफ़ोन को ऐक्सेस करता है जानकारी. हर स्क्रीन पर, एक टाइमलाइन दिखती है. इसमें यह जानकारी होती है कि अलग-अलग ऐप्लिकेशन ने खास तरह का डेटा. पहली इमेज में दिखाया गया है कि जगह की जानकारी के लिए, डेटा को ऐक्सेस करने की टाइमलाइन क्या है जानकारी.
आपका ऐप्लिकेशन इसकी वजह बता सकता है: उपयोगकर्ता ताकि उन्हें यह समझने में मदद मिल सके कि आपका ऐप्लिकेशन जगह की जानकारी, कैमरे या माइक्रोफ़ोन को क्यों ऐक्सेस करता है जानकारी. यह वजह, नए प्राइवसी डैशबोर्ड पर दिख सकती है, ऐप्लिकेशन की अनुमति स्क्रीन या फिर दोनों का इस्तेमाल करें.
ब्लूटूथ से जुड़ी अनुमतियां
Android 12 में पेश है
BLUETOOTH_SCAN
BLUETOOTH_ADVERTISE
,
और
BLUETOOTH_CONNECT
अनुमतियां दी हैं. इन अनुमतियों से, उन ऐप्लिकेशन के लिए काम करना आसान हो जाता है जो
Android 12, ब्लूटूथ से इंटरैक्ट करने के लिए
, खास तौर पर ऐसे ऐप्लिकेशन के लिए जो
डिवाइस की जगह की जानकारी का ऐक्सेस चाहिए.
अपने ऐप्लिकेशन के ब्लूटूथ की अनुमति के एलानों को अपडेट करें
Android 12 या इसके बाद वाले वर्शन को टारगेट करने के लिए, अपने डिवाइस को अपडेट करें के तर्क के बारे में बात करते हैं. ब्लूटूथ के लेगसी सेट का एलान करने के बजाय अनुमतियां हैं, ब्लूटूथ के ज़्यादा आधुनिक सेट की घोषणा करो अनुमतियां हैं.
अनुमति वाले ग्रुप को खोजें
Android 12 या उसके बाद वाले वर्शन पर, यह क्वेरी की जा सकती है कि सिस्टम, सिस्टम को कैसे व्यवस्थित करता है प्लैटफ़ॉर्म की तरफ़ से दी गई अनुमतियां अनुमतियों के ग्रुप:
- अनुमति का वह ग्रुप तय करने के लिए जिसमें सिस्टम ने
प्लैटफ़ॉर्म के हिसाब से अनुमति, कॉल
getGroupOfPlatformPermission()
. - प्लैटफ़ॉर्म की तय की गई उन अनुमतियों का पता लगाने के लिए जिन्हें सिस्टम ने तय किया है
अनुमति वाले किसी ग्रुप या ग्रुप को कॉल
getPlatformPermissionsForGroup()
.
ऐप्लिकेशन ओवरले विंडो छिपाएं
डेवलपर को इस बात पर ज़्यादा कंट्रोल देने के लिए कि जब उपयोगकर्ता,
Android 12 वर्शन में, डेवलपर के ऐप्लिकेशन में, कॉन्टेंट छिपाने की सुविधा दी गई है
वे ओवरले विंडो जिन्हें
SYSTEM_ALERT_WINDOW
अनुमति.
एलान करने के बाद
HIDE_OVERLAY_WINDOWS
अनुमति, ऐप्लिकेशन कॉल कर सकता है
setHideOverlayWindows()
ताकि यह पता चल सके कि सभी विंडो
TYPE_APPLICATION_OVERLAY
ऐप्लिकेशन की विंडो दिखने पर, उसे छिपा दिया जाना चाहिए. ऐप्लिकेशन ये काम कर सकते हैं
लेन-देन की पुष्टि करने वाली फ़्लो जैसी संवेदनशील स्क्रीन दिखाते समय
TYPE_APPLICATION_OVERLAY
टाइप की विंडो दिखाने वाले ऐप्लिकेशन को ध्यान में रखना चाहिए
उसके इस्तेमाल के हिसाब से सही विकल्प हो सकते हैं, जैसे कि
पिक्चर में पिक्चर या
बबल.
जाने-पहचाने हस्ताक्षर करने वालों की अनुमति से जुड़ा फ़्लैग
Android 12 से,
knownCerts
एट्रिब्यूट
हस्ताक्षर के लेवल पर अनुमतियां
आपको ज्ञात हस्ताक्षर की गतिविधि का ब्यौरा देखने की अनुमति देता है
सर्टिफ़िकेट के दौरान
समय.
आपका ऐप्लिकेशन इस एट्रिब्यूट के बारे में एलान कर सकता है और अनुमति देने के लिए knownSigner
फ़्लैग का इस्तेमाल कर सकता है
अन्य डिवाइसों और ऐप्लिकेशन को हस्ताक्षर करने की अनुमतियां देने के लिए
ऐप्लिकेशन, बिना
डिवाइस बनाते और शिपमेंट के समय, ऐप्लिकेशन को साइन करना ज़रूरी होता है.
डिवाइस की प्रॉपर्टी को प्रमाणित करने की सुविधा
Android 12 ऐसे ऐप्लिकेशन के सेट को बड़ा करता है जो डिवाइस की उन प्रॉपर्टी की पुष्टि कर सकते हैं जो प्रमाणित करने के लिए सर्टिफ़िकेट जब ये ऐप्लिकेशन कोई नया पासकोड जनरेट करते हैं.
Android 9 (एपीआई लेवल 28) के मुताबिक, डिवाइस से जुड़ी नीति
मालिक (डीपीओ) जो
KeyMaster 4.0 या उसके बाद के वर्शन
पुष्टि करने के इन सर्टिफ़िकेट में डिवाइस की प्रॉपर्टी की पुष्टि करें. इतने समय में शुरू होगा
Android 12. ऐसे ऐप्लिकेशन जो Android 12 (एपीआई लेवल 31) या उसके बाद के वर्शन को टारगेट करते हैं वे परफ़ॉर्मेंस दे सकते हैं
यह पुष्टि करने के लिए,
setDevicePropertiesAttestationIncluded()
तरीका.
जनरेट की गई डिवाइस प्रॉपर्टी में ये शामिल हैं
Build
फ़ील्ड:
BRAND
DEVICE
MANUFACTURER
MODEL
PRODUCT
लॉकस्क्रीन पर सुरक्षित तरीके से मिलने वाली सूचनाओं से जुड़ी कार्रवाइयां
Android 12 की शुरुआत में, Notification.Action.Builder
क्लास
का समर्थन करता है
setAuthenticationRequired()
तरीका है, जिससे आपके ऐप्लिकेशन को यह पक्का करने की अनुमति मिलती है कि डिवाइस
अनलॉक की गई
इससे पहले कि आपका ऐप्लिकेशन किसी सूचना पर की गई कार्रवाई को शुरू करे. यह तरीका अपनाने से,
लॉक किए गए डिवाइसों पर सूचनाओं के लिए सुरक्षा की अतिरिक्त लेयर जोड़ना.
बायोमेट्रिकप्रॉम्प्ट के लिए स्थानीय भाषा में बदली जा सकने वाली स्ट्रिंग
Android 12 में नए एपीआई जोड़े गए हैं, ताकि आपके ऐप्लिकेशन के बायोमेट्रिक को बेहतर बनाया जा सके
उपयोगकर्ता अनुभव. नया BiometricManager.Strings
नेस्ट की गई क्लास में getButtonLabel()
शामिल है,
getPromptMessage()
,
और getSettingName()
तरीकों की मदद से, आपका ऐप्लिकेशन उपयोगकर्ता को पढ़ने लायक और स्थानीय जगह के मुताबिक बटन लेबल वापस पाने में मदद करता है.
या ऐप्लिकेशन सेटिंग का नाम डालें. ज़्यादा सटीक जानकारी पाने के लिए, इन लेबल का इस्तेमाल करें
उपयोगकर्ताओं के लिए बायोमेट्रिक ऑथेंटिकेशन के लिए निर्देश
इस्तेमाल किए गए तरीके, जैसे कि “फ़ेस अनलॉक की सुविधा का इस्तेमाल करें” या “जारी रखने के लिए अपने फ़िंगरप्रिंट का इस्तेमाल करें”.
मैसेजिंग ऐप्लिकेशन में फ़िशिंग का पता लगाना (सिर्फ़ Pixel फ़ोन के लिए)
![](https://developer.android.com/static/images/about/versions/12/phishing-detection.png?authuser=0000&hl=hi)
Android 12 उन Pixel डिवाइसों पर मैसेज का पता लगाता है जिन पर यह सुविधा काम करती है लोकप्रिय मैसेजिंग ऐप्लिकेशन पर मिले. सिस्टम, ऑन-डिवाइस मशीन लर्निंग का इस्तेमाल करता है ताकि संदिग्ध गतिविधियों का पता लगाया जा सके. पता चलने पर, सिस्टम सुरक्षा की जानकारी दिखाता है ओवरले को मैसेज करने वाले ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) के सबसे ऊपर लगाया गया है. उदाहरण के लिए, फ़िशिंग का पता लगाने से, उपयोगकर्ताओं को नीचे दिए संभावित जोखिमों के बारे में चेतावनी मिल सकती है:
- संदिग्ध अनुरोध, जैसे कि कोड, पैसे या इसी तरह का कोई अनुरोध भेजना
- गैर-भरोसेमंद यूआरएल
- नुकसान पहुंचाने वाले अटैचमेंट
- नुकसान पहुंचाने वाले ऐप्लिकेशन के लिंक
उपयोगकर्ता को चेतावनी देने के अलावा, ओवरले की मदद से उपयोगकर्ता देने के लिए बनाया गया है.
डेवलपर इस सुविधा से ऑप्ट-आउट कर सकते हैं. इसके लिए, उन्हें नया मेटाडेटा टैग जोड़ना होगा, जिसमें यह शामिल है
ऐप्लिकेशन मेनिफ़ेस्ट में 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>
मीडिया
इस सुविधा के साथ काम करने वाली मीडिया ट्रांसकोडिंग
Android 12 (एपीआई लेवल 31) के नए वर्शन के लिए, सिस्टम अपने-आप ट्रांसकोड हो सकता है HEVC(H.265) और HDR (HDR10 और HDR10+) डिवाइस पर वीडियो को AVC (H.264) पर रिकॉर्ड किया जाता है. यह एक ऐसा फ़ॉर्मैट है जो आम तौर पर स्टैंडर्ड प्लेयर के साथ काम कर सकता है. यह ऐसे आधुनिक कोडेक का इस्तेमाल करता है जो वे पुराने ऐप्लिकेशन के साथ काम करने की क्षमता से समझौता किए बिना उपलब्ध हो जाते हैं.
ज़्यादा जानकारी के लिए, इस सुविधा के साथ काम करने वाली मीडिया ट्रांसकोडिंग देखें.
परफ़ॉर्मेंस क्लास
Android 12 में एक स्टैंडर्ड लॉन्च किया गया है, जिसे परफ़ॉर्मेंस क्लास कहते हैं. ऐप्लिकेशन परफ़ॉर्मेंस क्लास, Android की बेसलाइन के साथ-साथ अन्य हार्डवेयर क्षमताओं की जानकारी देती है ज़रूरतें. हर Android डिवाइस, परफ़ॉर्मेंस क्लास का एलान करता है इस्तेमाल किया जा सकता है. डेवलपर, रनटाइम के दौरान डिवाइस की परफ़ॉर्मेंस क्लास देख सकते हैं और अनुभव को अपग्रेड करें, जो डिवाइस की सभी सुविधाओं सुविधाएं.
परफ़ॉर्मेंस क्लास देखें देखें.
वीडियो एन्कोडिंग में सुधार
Android 12 में कई कुंजियों के बारे में जानकारी दी जाती है. इनका इस्तेमाल, वीडियो एन्कोडिंग के लिए क्वांटाइज़ेशन पैरामीटर (QP) मान, जिसकी सहायता से डेवलपर वेंडर के लिए कोड का इस्तेमाल न करें.
नई कुंजियां यहां उपलब्ध हैं:
MediaFormat
एपीआई
साथ ही,
NDK मीडिया लाइब्रेरी.
Android 12 वीडियो एन्कोडर इस्तेमाल करने पर, वीडियो के लिए तय की गई कम से कम क्वालिटी की ज़रूरत लागू होती है थ्रेशोल्ड. इससे यह गारंटी मिलती है कि लोगों को बहुत खराब क्वालिटी का अनुभव नहीं मिलेगा मुश्किल विज़ुअल वाले वीडियो को कोड में बदलते समय.
ऑडियो फ़ोकस
यह सुविधा, Android 12 (एपीआई लेवल 31) के साथ शुरू होती है. यह तब शुरू होती है, जब कोई ऐप्लिकेशन ऑडियो फ़ोकस का अनुरोध करता है किसी दूसरे ऐप्लिकेशन पर फ़ोकस है और वह चल रहा है, तो सिस्टम चल रहे ऐप्लिकेशन को फ़ेड कर देता है.
Android 12 और उसके बाद वाले वर्शन में ऑडियो फ़ोकस की सुविधा लेख पढ़ें देखें.
MediaDrm अपडेट
यह पता करने के लिए कि
मौजूदा MediaDrm
API के लिए, आपको यह तरीका अपनाना होगा:
MediaDrm
बनाएं.- सेशन आईडी पाने के लिए, सेशन खोलें.
- सेशन आईडी का इस्तेमाल करके
MediaCrypto
बनाएं. MediaCrypto.requiresSecureDecoderComponent(mimeType)
पर कॉल करें.
नए तरीकों requiresSecureDecoder(@NonNull String mime)
और
requiresSecureDecoder(@NonNull String mime, @SecurityLevel int level)
MediaDrm
बनाते ही इसे तय किया जा सकता है.
कैमरा
Camera2 के वेंडर एक्सटेंशन
हमारे कई डिवाइस निर्माता पार्टनरों ने कस्टम कैमरा एक्सटेंशन बनाए हैं—जैसे जैसे, बोकेह, एचडीआर, नाइट मोड वगैरह को ऐक्सेस किया जा सकता है. खास अनुभव देने के लिए किया जा सकता है. CameraX लाइब्रेरी पहले से ही काम करती है ये कस्टम वेंडर एक्सटेंशन. Android 12 में, ये वेंडर एक्सटेंशन अब सीधे तौर पर प्लैटफ़ॉर्म में दिखाए जाते हैं.
इससे उन ऐप्लिकेशन को मदद मिलती है जिनका इस्तेमाल करना मुश्किल होता है
Camera2
लागू करने की सुविधा, बिना किसी परेशानी के वेंडर एक्सटेंशन का इस्तेमाल करके
लेगसी कोड में अहम बदलाव किए गए हैं. Camera2 एक्सटेंशन एपीआई,
का वही सेट
एक्सटेंशन:
और वे पहले से ही कई अलग-अलग
, ताकि आप बिना किसी रुकावट के उनका इस्तेमाल कर सकें
अतिरिक्त कॉन्फ़िगरेशन.
ज़्यादा जानकारी के लिए, यह देखें
CameraExtensionCharacteristics
.
क्वाड बेयर कैमरा सेंसर सपोर्ट
आज-कल कई Android डिवाइस में अल्ट्रा हाई-रिज़ॉल्यूशन वाले कैमरे सेंसर इस्तेमाल किए जाते हैं. आम तौर पर, क्वाड या नोना बेयर पैटर्न के साथ होते हैं. ये अपने-आप में बहुत ज़्यादा सहूलियत देते हैं और कम रोशनी में भी काम कर सकता है. Android 12 के लिए पेश है नया ऐसे प्लैटफ़ॉर्म एपीआई जो तीसरे पक्ष के ऐप्लिकेशन को इन सुविधाओं का पूरा फ़ायदा लेने देते हैं सेंसर. नए एपीआई इन सेंसर के खास व्यवहार को बढ़ावा देती हैं और इस बात को ध्यान में रखती हैं कि ओएस को अलग-अलग स्ट्रीम कॉन्फ़िगरेशन और एक साथ इस्तेमाल करने की सुविधा देता है. फ़ुल रिज़ॉल्यूशन या ‘ज़्यादा से ज़्यादा रिज़ॉल्यूशन’ मोड बनाम ‘डिफ़ॉल्ट’ मोड.
ग्राफ़िक और इमेज
ऐप्लिकेशन को टूंबस्टोन ट्रेस का सीधे ऐक्सेस दें
Android 12 से, अपने ऐप्लिकेशन के क्रैश टूमस्टोन को
प्रोटोकॉल बफ़र को
ApplicationExitInfo.getTraceInputStream()
तरीका. प्रोटोकॉल बफ़र को इस स्कीमा का इस्तेमाल करके क्रम से लगाया जाता है.
पहले, इस जानकारी तक पहुंचने का एकमात्र तरीका यह था
Android डीबग ब्रिज (adb).
ज़्यादा जानकारी के लिए, टूंबस्टोन के ट्रेस का सीधे ऐक्सेस पाने के लिए ऐप्लिकेशन को देखें
AVIF इमेज से जुड़ी सहायता
Android 12 में, AV1 इमेज फ़ाइल फ़ॉर्मैट का इस्तेमाल करने वाली इमेज इस्तेमाल की जा सकती हैं (एवीएफ़). AVIF, कोड में बदली गई इमेज और क्रम के लिए एक कंटेनर फ़ॉर्मैट है AV1 का इस्तेमाल करके. AVIF, वीडियो से इंट्रा-फ़्रेम कोड में बदले गए कॉन्टेंट का फ़ायदा लेता है कंप्रेशन. इससे फ़ाइल के एक ही साइज़ के लिए, इमेज क्वालिटी बहुत अच्छी हो जाती है जब इमेज की तुलना JPEG जैसे पुराने इमेज फ़ॉर्मैट से की जाए. ज़्यादा जानकारी के लिए, देखने के लिए, जेक आर्चिबाल्ड का ब्लॉग देखें पोस्ट.
आसानी से धुंधला करने, कलर फ़िल्टर, और अन्य इफ़ेक्ट आज़माएं
Android 12 में, नया RenderEffect
जोड़ा गया
यह टूल, सामान्य ग्राफ़िक्स इफ़ेक्ट लागू करता है. जैसे, धुंधला करना, कलर फ़िल्टर, Android शेडर
View
के लिए इफ़ेक्ट वगैरह
और उन्हें रेंडर करने में लगने वाले समय को शामिल करते हैं. इफ़ेक्ट को किसी एक चेन इफ़ेक्ट के तौर पर जोड़ा जा सकता है
(इसकी मदद से, अंदरूनी और बाहरी इफ़ेक्ट को अलग-अलग किया जा सकता है) या कई तरह के ब्लेंड किए गए इफ़ेक्ट इस्तेमाल किए जा सकते हैं. अलग Android
सीमित प्रोसेसिंग पावर की वजह से, यह सुविधा किसी डिवाइस पर काम कर भी सकती है और नहीं भी.
दिए गए RenderNode
पर भी इफ़ेक्ट लागू किए जा सकते हैं
View
के लिए View.setRenderEffect(RenderEffect)
पर कॉल करें.
RenderEffect
लागू करने के लिए:
view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))
ऐनिमेशन वाली नेटिव इमेज को डिकोड करना
Android 12 में, NDK
ImageDecoder
एपीआई को बड़ा किया गया
इमेज से सभी फ़्रेम और टाइमिंग डेटा को डिकोड करने के लिए
जो ऐनिमेटेड GIF का इस्तेमाल करते हैं और
WebP फ़ाइल फ़ॉर्मैट का ऐनिमेशन. जब यह
को Android 11 में पेश किया गया था. हालांकि, इस एपीआई ने सिर्फ़ पहली इमेज को ही डिकोड किया था
ऐनिमेशन का इस्तेमाल करें.
APK को और घटाने के लिए तीसरे पक्ष की लाइब्रेरी के बजाय ImageDecoder
का इस्तेमाल करें
साइज़
और सुरक्षा और परफ़ॉर्मेंस से जुड़े अपडेट का फ़ायदा मिल सकता है.
एपीआई के बारे में ज़्यादा जानकारी के लिए, एपीआई का रेफ़रंस और GitHub पर सैंपल देखें.
कनेक्टिविटी
साथी ऐप्लिकेशन को चालू रखना
डिवाइस को मैनेज करने के लिए, साथी ऐप्लिकेशन का इस्तेमाल जारी रखने के लिए, Android 12 में ऐसे एपीआई उपलब्ध कराए गए हैं जो ये काम करते हैं:
- साथी डिवाइस सीमा में होने पर, आपको ऐप्लिकेशन की स्क्रीन चालू करने की सुविधा मिलती है.
- इस बात की गारंटी है कि डिवाइस के अंदर रहने तक प्रोसेस चलती रहेगी रेंज.
एपीआई इस्तेमाल करने के लिए, आपके डिवाइसों को कंपैनियन डिवाइस की मदद से कनेक्ट करना ज़रूरी है
मैनेजर. ज़्यादा के लिए
जानकारी, देखें
CompanionDeviceManager.startObservingDevicePresence()
और
CompanionDeviceService.onDeviceAppeared()
.
कंपैनियन डिवाइस मैनेजर की प्रोफ़ाइलें
![](https://developer.android.com/static/images/about/versions/12/companion-device-profile.png?authuser=0000&hl=hi)
Android 12 (एपीआई लेवल 31) और इसके बाद के वर्शन पर काम करने वाले पार्टनर ऐप्लिकेशन, साथी डिवाइस का इस्तेमाल कर सकते हैं प्रोफ़ाइल. प्रोफ़ाइल का इस्तेमाल करने पर, रजिस्ट्रेशन करना आसान हो जाता है डिवाइस-टाइप के हिसाब से अनुमतियों के सेट को इकट्ठा करके प्रोसेस किया जाता है एक चरण में पूरा किया जा सकता है.
डिवाइस होने के बाद, साथी ऐप्लिकेशन को बंडल की गई अनुमतियां मिल जाती हैं कनेक्ट होता है और सिर्फ़ तब ही चलता है, जब डिवाइस जुड़ा हो. ऐप्लिकेशन को मिटाया जा सकता है या असोसिएशन को हटाने से अनुमतियां हट जाती हैं.
ज़्यादा जानकारी के लिए, यह देखें
AssociationRequest.Builder.setDeviceProfile()
.
बैंडविथ के अनुमान में सुधार
Android 12 में, बैंडविथ का अनुमान लगाने की सुविधाएं
getLinkDownstreamBandwidthKbps()
और
getLinkUpstreamBandwidthKbps()
वे वाई-फ़ाई और सेल्युलर कनेक्टिविटी, दोनों के लिए बेहतर होते हैं. अब वैल्यू दिखाई गई हैं
इससे, हर मोबाइल और इंटरनेट सेवा देने वाली हर कंपनी या वाई-फ़ाई के हिसाब से, उपयोगकर्ता के औसत थ्रूपुट की जानकारी मिलती है
डिवाइस पर सभी ऐप्लिकेशन के लिए SSID, नेटवर्क टाइप, और सिग्नल लेवल.
इससे प्रॉडक्ट की अनुमानित संख्या का ज़्यादा सटीक और सही अनुमान लगाया जा सकता है.
आपके आवेदन की कोल्ड स्टार्ट की जानकारी देते हैं. साथ ही, इसमें कम साइकल की ज़रूरत होती है
थ्रूपुट अनुमान के अन्य तरीकों की तुलना में.
वाई-फ़ाई अवेयर (एनएएन) की बेहतर सुविधा
Android 12 में, वाई-फ़ाई अवेयर की सुविधा में कुछ बदलाव किए गए हैं:
- Android 12 (एपीआई लेवल 31) और उसके बाद के वर्शन वाले डिवाइसों पर,
onServiceLost()
कॉलबैक करके तब सूचना दें, जब सेवा को रोकना या सीमा से बाहर जाना. - कई डेटा-पाथ (एनएएन डेटा पाथ) को सेट अप करने का तरीका बदलकर ऐसा हो रहा है ज़्यादा आसान हो जाता है. पहले के वर्शन में, मिलते-जुलते ऐप्लिकेशन का लेन-देन करने के लिए L2 मैसेज सेवा का इस्तेमाल किया जाता था शुरू करने वालों की जानकारी की वजह से इंतज़ार का समय बढ़ा. चल रहे डिवाइसों पर Android 12 और उसके बाद वाले वर्शन के लिए, रिस्पॉन्सर (सर्वर) को कॉन्फ़िगर किया जा सकता है किसी भी साथी का इस्तेमाल करने के लिए, एआई का इस्तेमाल करने वाले कर लें. इसकी मदद से, डेटा पाथ को तेज़ी से लाया जा सकता है और कई सिर्फ़ एक नेटवर्क अनुरोध वाले पॉइंट-टू-पॉइंट लिंक.
- फ़्रेमवर्क को, डिस्कवरी या कनेक्शन के अनुरोधों को अस्वीकार करने से रोका जा सकता है
और Android 12 वर्शन वाले डिवाइसों पर रिसॉर्स खत्म होने की वजह से,
उच्च, आप कॉल कर सकते हैं
WifiAwareManager.getAvailableAwareResources()
. इस तरीके की रिटर्न वैल्यू से आपको उपलब्ध डेटा की संख्या का पता चलता है पाथ, पब्लिश होने वाले उपलब्ध सेशन की संख्या, और उपलब्ध पब्लिशिंग सेशन की संख्या सेशन की सदस्यता लें.
समवर्ती पीयर-टू-पीयर और इंटरनेट कनेक्शन
जब Android 12 (एपीआई लेवल 31) और उसके बाद के वर्शन को टारगेट करने वाले डिवाइस, उन डिवाइसों पर चलते हैं जिनमें
हार्डवेयर सहायता, पीयर-टू-पीयर की सुविधा का इस्तेमाल करना
कनेक्शन
मिलते-जुलते डिवाइस से कनेक्शन बनाते समय, मौजूदा वाई-फ़ाई कनेक्शन का इस्तेमाल करें. यहां की यात्रा पर हूं
इस सुविधा के लिए सहायता चाहिए, तो इसका इस्तेमाल करें
WifiManager.isMultiStaConcurrencySupported()
.
एनएफ़सी से पेमेंट करने के लिए, स्क्रीन बंद होने की सुविधा चालू करें
Android 12 और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन में, एनएफ़सी को चालू किया जा सकता है
डिवाइस की स्क्रीन चालू न होने पर पेमेंट करने के लिए सेट करें.
requireDeviceScreenOn
से
false
. स्क्रीन बंद होने या लॉक होने पर भी एनएफ़सी से पेमेंट करने के बारे में ज़्यादा जानकारी के लिए, देखें
स्क्रीन बंद करना और लॉक स्क्रीन
व्यवहार.
डिवाइस का स्टोरेज
Android 12 में ये सुविधाएं दी गई हैं: क्षमताएं:
MediaDocumentsProvider
के लिए मीडिया स्टोर सहायता तब उपलब्ध होती है, जब आपका ऐप्लिकेशन मीडिया यूआरआई, जो दस्तावेज़ देने वाले किसी दिए गए डोमेन के बराबर है यूआरआई.- वॉइस सर्च की डायरेक्ट्री रिकॉर्डिंग.
MANAGE_MEDIA
अनुमति मिलती है, जिसकी मदद से ऐप्लिकेशन मीडिया मैनेजमेंट कार्रवाइयां हर कार्रवाई के लिए, उपयोगकर्ता को पुष्टि करने वाला डायलॉग दिखाए बिना.- ऐसे ऐप्लिकेशन जिनमें ये दोनों
MANAGE_EXTERNAL_STORAGE
अनुमति औरQUERY_ALL_PACKAGES
अनुमति—जैसे फ़ाइल प्रबंधन ऐप्लिकेशन— गतिविधि किसी अन्य ऐप्लिकेशन के स्टोरेज की जगह को मैनेज करने के लिए, बशर्ते कि दूसरा ऐप्लिकेशन बनाएं गतिविधि में बदल सकते हैं.
मुख्य फ़ंक्शन
ऐप्लिकेशन अपने-आप अपडेट होने की सुविधा
Android 12 में पेश है
setRequireUserAction()
उन ऐप्लिकेशन के लिए है जो
PackageInstaller
एपीआई.
इस तरीके से, इंस्टॉलर ऐप्लिकेशन को बिना अनुमति के अपडेट करने की अनुमति मिलती है
कार्रवाई की पुष्टि करें.
डिवाइस के चिपसेट की जानकारी
Android 12, android.os.Build
में दो कॉन्सटेंट जोड़ता है, जो
SDK टूल के ज़रिए, SoC चिपसेट के वेंडर और मॉडल की जानकारी. आप इसे फिर से पा सकते हैं
Build.SOC_MANUFACTURER
और Build.SOC_MODEL
पर कॉल करके जानकारी
क्रम से.
मुख्य Java 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
|