आपके ऐप्लिकेशन को जगह की जानकारी, माइक्रोफ़ोन, और कैमरे से जुड़ी अनुमतियां मिलती हैं लोगों के बारे में खास तौर पर संवेदनशील जानकारी का ऐक्सेस देती है. इस प्लैटफ़ॉर्म में ये शामिल हैं इस पेज पर कई तरीकों के बारे में बताया गया है. इनसे लोगों को अप-टू-डेट रहने और कंट्रोल करें कि कौनसे ऐप्लिकेशन जगह की जानकारी, माइक्रोफ़ोन, और कैमरे को ऐक्सेस कर सकते हैं.
निजता बनाए रखने वाले सिस्टम की इन सुविधाओं का आपके ऐप्लिकेशन के रखरखाव पर कोई असर नहीं पड़ेगा को जगह की जानकारी, माइक्रोफ़ोन, और कैमरे की अनुमतियाँ तब तक देनी होंगी, निजता से जुड़े सबसे सही तरीकों का पालन करें.
खास तौर पर, अपने ऐप्लिकेशन में ये काम करें:
- उपयोगकर्ता के डिवाइस का कैमरा ऐक्सेस करने के लिए,
CAMERA
की अनुमति मिलने तक इंतज़ार करें को अनुमति दें. - डिवाइस का माइक्रोफ़ोन ऐक्सेस करने के लिए तब तक इंतज़ार करें, जब तक उपयोगकर्ता
RECORD_AUDIO
आपके ऐप्लिकेशन को ऐक्सेस करने की अनुमति. - उपयोगकर्ता के आपके ऐप्लिकेशन की उस सुविधा से इंटरैक्ट करने तक इंतज़ार करें जिसके लिए
आपके द्वारा अनुरोध करने से पहले
ACCESS_COARSE_LOCATION
अनुमति याACCESS_FINE_LOCATION
अनुमति, जैसा कि जगह का अनुरोध करने के तरीके वाली गाइड में बताया गया है अनुमतियां दी हैं. - उपयोगकर्ता की ओर से आपके ऐप्लिकेशन को
ACCESS_COARSE_LOCATION
की अनुमति मिलने तक इंतज़ार करें अनुमति याACCESS_FINE_LOCATION
अनुमति का अनुरोध करने से पहलेACCESS_BACKGROUND_LOCATION
अनुमति.
प्राइवसी डैशबोर्ड
Android 12 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों पर, निजता सिस्टम की सेटिंग में डैशबोर्ड की स्क्रीन दिखेगी. इस स्क्रीन पर, उपयोगकर्ता ऐक्सेस कर सकते हैं अलग-अलग स्क्रीन, जो तब दिखती हैं, जब कोई ऐप्लिकेशन जगह की जानकारी, कैमरे, और माइक्रोफ़ोन को ऐक्सेस करता है जानकारी. हर स्क्रीन पर, एक टाइमलाइन दिखती है. इसमें यह जानकारी होती है कि अलग-अलग ऐप्लिकेशन ने खास तरह का डेटा. पहली इमेज में दिखाया गया है कि जगह की जानकारी के लिए, डेटा को ऐक्सेस करने की टाइमलाइन क्या है जानकारी.
डेटा ऐक्सेस करने की वजह बताएं
आपका ऐप्लिकेशन, लोगों को इसकी वजह बता सकता है. इससे उन्हें यह समझने में मदद मिलती है कि आपका ऐप्लिकेशन क्यों काम करता है जगह, कैमरे या माइक्रोफ़ोन की जानकारी ऐक्सेस करता है. इस वजह से, आपके ऐप्लिकेशन की अनुमतियां स्क्रीन पर या दोनों पर.
यह समझाने के लिए कि आपका ऐप्लिकेशन जगह की जानकारी, कैमरे, और माइक्रोफ़ोन की जानकारी को क्यों ऐक्सेस करता है, इन चरणों को पूरा करें:
कोई ऐसी गतिविधि जोड़ें जो शुरू करने पर, आपके ऐप्लिकेशन के पीछे की वजह बताती हो डेटा के ऐक्सेस से जुड़ी खास तरह की कार्रवाई करता है. इस गतिविधि में,
android:permission
एट्रिब्यूटSTART_VIEW_PERMISSION_USAGE
तक.अगर आपका ऐप्लिकेशन Android 12 या उसके बाद वाले वर्शन को टारगेट करता है, तो आपको साफ़ तौर पर
android:exported
के लिए कोई वैल्यू तय करें एट्रिब्यूट के बारे में ज़्यादा जानें.हाल ही में जोड़ी गई गतिविधि में, यह इंटेंट फ़िल्टर जोड़ें:
<!-- android:exported required if you target Android 12. --> <activity android:name=".DataAccessRationaleActivity" android:permission="android.permission.START_VIEW_PERMISSION_USAGE" android:exported="true"> <!-- VIEW_PERMISSION_USAGE shows a selectable information icon on your app permission's page in system settings. VIEW_PERMISSION_USAGE_FOR_PERIOD shows a selectable information icon on the Privacy Dashboard screen. --> <intent-filter> <action android:name="android.intent.action.VIEW_PERMISSION_USAGE" /> <action android:name="android.intent.action.VIEW_PERMISSION_USAGE_FOR_PERIOD" /> <category android:name="android.intent.category.DEFAULT" /> ... </intent-filter> </activity>
तय करें कि आपके डेटा ऐक्सेस की वजह बताने वाली गतिविधि में क्या दिखना चाहिए. उदाहरण के लिए, आपके आपके ऐप्लिकेशन की वेबसाइट या सहायता केंद्र का लेख दिख सकता है. ज़्यादा जानकारी देने के लिए आपका ऐप्लिकेशन किस तरह के डेटा को ऐक्सेस करता है, इस बारे में पूरी जानकारी ऐक्सेस होने के बाद, उन अतिरिक्त चीज़ों को मैनेज करें जिन्हें सिस्टम शामिल करता है अनुमति के इस्तेमाल के इंटेंट को शुरू करता है:
- अगर सिस्टम
ACTION_VIEW_PERMISSION_USAGE
शुरू करता है, तो आपका ऐप्लिकेशन ये काम कर सकता है इसके लिए मान फिर से पाएंEXTRA_PERMISSION_GROUP_NAME
. - अगर सिस्टम
ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD
शुरू करता है, तो आपका ऐप्लिकेशनEXTRA_PERMISSION_GROUP_NAME
के लिए मान वापस पा सकता है,EXTRA_ATTRIBUTION_TAGS
,EXTRA_START_TIME
, औरEXTRA_END_TIME
.
- अगर सिस्टम
आपने जो इंटेंट फ़िल्टर जोड़े हैं उनके आधार पर, लोगों को जानकारी का आइकॉन दिखता है कुछ स्क्रीन पर अपने ऐप्लिकेशन के नाम के बगल में:
- अगर
VIEW_PERMISSION_USAGE
वाला इंटेंट फ़िल्टर जोड़ा जाता है, तो कार्रवाई करते हैं, तो उपयोगकर्ताओं को सिस्टम सेटिंग में आपके ऐप्लिकेशन के अनुमति पेज पर यह आइकॉन दिखता है. आपने लोगों तक पहुंचाया मुफ़्त में इस कार्रवाई को, रनटाइम की सभी अनुमतियों पर लागू कर सकता है. - अगर यह इंटेंट फ़िल्टर जोड़ा जाता है, जिसमें
VIEW_PERMISSION_USAGE_FOR_PERIOD
कार्रवाई, उपयोगकर्ताओं को आपके ऐप्लिकेशन का नाम सबमिट करना होगा.
जब लोग उस आइकॉन को चुनते हैं, तब आपके ऐप्लिकेशन की वजह बताने की गतिविधि शुरू हो जाती है.
इंडिकेटर
Android 12 या इसके बाद के वर्शन वाले डिवाइसों पर. ऐसा तब होता है, जब कोई ऐप्लिकेशन ऐक्सेस करता है तो माइक्रोफ़ोन या कैमरा चालू करने के लिए, स्टेटस बार में एक आइकॉन दिखेगा. अगर ऐप्लिकेशन इमर्सिव मोड, आइकॉन ऊपर दाईं ओर. उपयोगकर्ता क्विक सेटिंग खोल सकते हैं और यह देखने के लिए कि कौन से ऐप्लिकेशन वर्तमान में माइक्रोफ़ोन या कैमरे का उपयोग कर रहे हैं, आइकन. दूसरी इमेज में, उदाहरण के तौर पर एक ऐसा स्क्रीनशॉट दिखाया गया है जिसमें आइकॉन शामिल हैं.
इंडिकेटर की स्क्रीन पर जगह की जानकारी का पता लगाएं
अगर आपके ऐप्लिकेशन में इमर्सिव मोड या फ़ुल-स्क्रीन यूज़र इंटरफ़ेस (यूआई) काम करता है, तो
आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) को कुछ समय के लिए ओवरलैप करता है. अपने यूज़र इंटरफ़ेस (यूआई) को इन इंडिकेटर के मुताबिक बनाने के लिए,
तो यह सिस्टम
getPrivacyIndicatorBounds()
तरीका है, जिसे नीचे दिया गया कोड स्निपेट दिखाता है. इस एपीआई का इस्तेमाल करके, ये काम किए जा सकते हैं
उन सीमाओं का पता लगाएं जहां इंडिकेटर दिख सकते हैं. इसके बाद, हो सकता है कि
अपने स्क्रीन के यूज़र इंटरफ़ेस (यूआई) को अलग तरह से व्यवस्थित कर सकते हैं.
Kotlin
view.setOnApplyWindowInsetsListener { view, windowInsets -> val indicatorBounds = windowInsets.getPrivacyIndicatorBounds() // change your UI to avoid overlapping windowInsets }
टॉगल
जिन डिवाइसों पर यह सुविधा काम करती है उन पर Android 12 या इसके बाद के वर्शन का इस्तेमाल करने वाले लोग, डिवाइस के कैमरे और एक टॉगल बटन दबाकर डिवाइस पर मौजूद सभी ऐप्लिकेशन को माइक्रोफ़ोन ऐक्सेस करने की अनुमति दें का विकल्प शामिल है. उपयोगकर्ता क्विक पेज से, टॉगल किए जा सकने वाले विकल्पों को ऐक्सेस कर सकते हैं सेटिंग, जैसा कि यहां दिखाया गया है इमेज 3 या सिस्टम की सेटिंग में, निजता स्क्रीन से
कैमरा और माइक्रोफ़ोन टॉगल, डिवाइस के सभी ऐप्लिकेशन पर असर डालते हैं:
- जब उपयोगकर्ता कैमरा ऐक्सेस बंद कर देता है, तो आपके ऐप्लिकेशन को एक खाली कैमरा फ़ीड मिलता है.
जब उपयोगकर्ता माइक्रोफ़ोन का ऐक्सेस बंद कर देता है, तब आपके ऐप्लिकेशन को साइलेंट ऑडियो मिलता है. इसके अलावा, मोशन सेंसर सीमित दर, भले ही आप
HIGH_SAMPLING_RATE_SENSORS
अनुमति.
जब उपयोगकर्ता, कैमरे या माइक्रोफ़ोन का ऐक्सेस बंद कर देता है, तब कोई ऐसा ऐप्लिकेशन लॉन्च करता है जिसे कैमरे या माइक्रोफ़ोन की जानकारी का ऐक्सेस चाहिए, सिस्टम, उपयोगकर्ता को याद दिलाता है कि पूरे डिवाइस के लिए टॉगल बंद है.
डिवाइस सहायता देखें
यह देखने के लिए कि किसी डिवाइस में माइक्रोफ़ोन और कैमरा टॉगल करने की सुविधा है या नहीं, लॉजिक जोड़ें जो इस कोड स्निपेट में दिखेगा:
Kotlin
val sensorPrivacyManager = applicationContext .getSystemService(SensorPrivacyManager::class.java) as SensorPrivacyManager val supportsMicrophoneToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.MICROPHONE) val supportsCameraToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.CAMERA)
Java
SensorPrivacyManager sensorPrivacyManager = getApplicationContext() .getSystemService(SensorPrivacyManager.class); boolean supportsMicrophoneToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.MICROPHONE); boolean supportsCameraToggle = sensorPrivacyManager .supportsSensorToggle(Sensors.CAMERA);