ज़्यादा संवेदनशील जानकारी के ऐक्सेस के बारे में बताना

जगह की जानकारी, माइक्रोफ़ोन, और कैमरे से जुड़ी अनुमतियां देने पर, आपके ऐप्लिकेशन को उपयोगकर्ताओं की संवेदनशील जानकारी का ऐक्सेस मिल जाता है. इस प्लैटफ़ॉर्म में ये शामिल हैं इस पेज पर कई तरीकों के बारे में बताया गया है. इनसे लोगों को अप-टू-डेट रहने और कंट्रोल करें कि कौनसे ऐप्लिकेशन जगह की जानकारी, माइक्रोफ़ोन, और कैमरे को ऐक्सेस कर सकते हैं.

निजता बनाए रखने वाले सिस्टम की इन सुविधाओं का आपके ऐप्लिकेशन के रखरखाव पर कोई असर नहीं पड़ेगा को जगह की जानकारी, माइक्रोफ़ोन, और कैमरे की अनुमतियाँ तब तक देनी होंगी, निजता से जुड़े सबसे सही तरीकों का पालन करें.

खास तौर पर, अपने ऐप्लिकेशन में ये काम करें:

  • उपयोगकर्ता के डिवाइस का कैमरा ऐक्सेस करने के लिए, CAMERA की अनुमति मिलने तक इंतज़ार करें को अनुमति दें.
  • डिवाइस के माइक्रोफ़ोन को तब तक ऐक्सेस न करें, जब तक उपयोगकर्ता आपके ऐप्लिकेशन को RECORD_AUDIO अनुमति न दे.
  • उपयोगकर्ता के आपके ऐप्लिकेशन की उस सुविधा से इंटरैक्ट करने तक इंतज़ार करें जिसके लिए आपके द्वारा अनुरोध करने से पहले ACCESS_COARSE_LOCATION अनुमति या ACCESS_FINE_LOCATION अनुमति, जैसा कि जगह का अनुरोध करने के तरीके वाली गाइड में बताया गया है अनुमतियां दी हैं.
  • उपयोगकर्ता की ओर से आपके ऐप्लिकेशन को ACCESS_COARSE_LOCATION की अनुमति मिलने तक इंतज़ार करें अनुमति या ACCESS_FINE_LOCATION अनुमति का अनुरोध करने से पहले ACCESS_BACKGROUND_LOCATION अनुमति.

प्राइवसी डैशबोर्ड

वर्टिकल टाइमलाइन में, उन अलग-अलग ऐप्लिकेशन की जानकारी दिखती है जिन्होंने जगह की जानकारी ऐक्सेस की है. साथ ही, यह भी दिखता है कि ऐक्सेस कब हुआ
पहली इमेज. जगह की जानकारी के इस्तेमाल वाली स्क्रीन, जो निजता का हिस्सा है डैशबोर्ड पर जाएं.

Android 12 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों पर, निजता सिस्टम की सेटिंग में डैशबोर्ड की स्क्रीन दिखेगी. इस स्क्रीन पर, उपयोगकर्ता अलग-अलग स्क्रीन ऐक्सेस कर सकते हैं. इन स्क्रीन से पता चलता है कि ऐप्लिकेशन, जगह की जानकारी, कैमरे, और माइक्रोफ़ोन की जानकारी कब ऐक्सेस करते हैं. हर स्क्रीन पर, एक टाइमलाइन दिखती है. इसमें यह जानकारी होती है कि अलग-अलग ऐप्लिकेशन ने खास तरह का डेटा. पहली इमेज में दिखाया गया है कि जगह की जानकारी के लिए, डेटा को ऐक्सेस करने की टाइमलाइन क्या है जानकारी.

डेटा ऐक्सेस करने की वजह बताएं

आपका ऐप्लिकेशन, उपयोगकर्ताओं को यह जानकारी दे सकता है कि आपका ऐप्लिकेशन, जगह की जानकारी, कैमरे या माइक्रोफ़ोन की जानकारी क्यों ऐक्सेस करता है. इस वजह से, आपके ऐप्लिकेशन की अनुमतियां स्क्रीन पर या दोनों पर.

यह समझाने के लिए कि आपका ऐप्लिकेशन जगह की जानकारी, कैमरे, और माइक्रोफ़ोन की जानकारी को क्यों ऐक्सेस करता है, इन चरणों को पूरा करें:

  1. कोई ऐसी गतिविधि जोड़ें जो शुरू करने पर, आपके ऐप्लिकेशन के पीछे की वजह बताती हो डेटा के ऐक्सेस से जुड़ी खास तरह की कार्रवाई करता है. इस गतिविधि में, android:permission एट्रिब्यूट START_VIEW_PERMISSION_USAGE तक.

    अगर आपका ऐप्लिकेशन Android 12 या उसके बाद वाले वर्शन को टारगेट करता है, तो आपको साफ़ तौर पर android:exported के लिए कोई वैल्यू तय करें एट्रिब्यूट के बारे में ज़्यादा जानें.

  2. हाल ही में जोड़ी गई गतिविधि में, यह इंटेंट फ़िल्टर जोड़ें:

    <!-- 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>
    
  3. तय करें कि आपके डेटा ऐक्सेस की वजह बताने वाली गतिविधि में क्या दिखना चाहिए. उदाहरण के लिए, अपने ऐप्लिकेशन की वेबसाइट या सहायता केंद्र का लेख दिखाया जा सकता है. ज़्यादा जानकारी देने के लिए आपका ऐप्लिकेशन किस तरह के डेटा को ऐक्सेस करता है, इस बारे में पूरी जानकारी ऐक्सेस होने के बाद, उन अतिरिक्त चीज़ों को मैनेज करें जिन्हें सिस्टम शामिल करता है अनुमति के इस्तेमाल के इंटेंट को शुरू करता है:

    • अगर सिस्टम 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
}

टॉगल

क्विक सेटिंग टाइल पर &#39;कैमरे का ऐक्सेस&#39; का लेबल लगा होता है और
         &#39;माइक ऐक्सेस&#39;
तीसरी इमेज. क्विक सेटिंग में, माइक्रोफ़ोन और कैमरे के टॉगल
.

Play Games की सुविधा वाले डिवाइसों पर Android 12 या इसके बाद के वर्शन का इस्तेमाल करने वाले लोग, डिवाइस के कैमरे और एक टॉगल बटन दबाकर डिवाइस पर मौजूद सभी ऐप्लिकेशन को माइक्रोफ़ोन ऐक्सेस करने की अनुमति दें का विकल्प शामिल है. तीसरे चित्र में दिखाए गए क्विक सेटिंग या सिस्टम सेटिंग में मौजूद निजता स्क्रीन से, टॉगल किए जा सकने वाले विकल्प ऐक्सेस किए जा सकते हैं.

कैमरा और माइक्रोफ़ोन टॉगल, डिवाइस के सभी ऐप्लिकेशन पर असर डालते हैं:

  • जब उपयोगकर्ता कैमरा ऐक्सेस बंद कर देता है, तो आपके ऐप्लिकेशन को एक खाली कैमरा फ़ीड मिलता है.
  • जब उपयोगकर्ता माइक्रोफ़ोन का ऐक्सेस बंद कर देता है, तब आपके ऐप्लिकेशन को साइलेंट ऑडियो मिलता है. इसके अलावा, मोशन सेंसर सीमित दर, भले ही आप 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);