شرح إمكانية الوصول إلى معلومات حساسة

إنّ الأذونات المرتبطة بالموقع الجغرافي والميكروفون والكاميرا تمنح التطبيق. الوصول إلى المعلومات الحساسة بشكل خاص حول المستخدمين. تتضمن المنصة الآليات المتعددة الموضحة في هذه الصفحة لمساعدة المستخدمين في البقاء على اطلاع للتحكّم في التطبيقات التي يمكنها الوصول إلى الموقع الجغرافي والميكروفون والكاميرا

إنّ ميزات النظام التي تحافظ على الخصوصية هذه لن تؤثر في طريقة معالجة تطبيقك. الأذونات المتعلقة بالموقع الجغرافي والميكروفون والكاميرا، طالما أنك اتّباع أفضل ممارسات الخصوصية

على وجه الخصوص، تأكَّد من تنفيذ ما يلي في تطبيقك:

  • الانتظار للوصول إلى كاميرا الجهاز إلى أن يمنح المستخدم CAMERA إذن الوصول إلى تطبيقك.
  • انتظر للوصول إلى ميكروفون الجهاز حتى يمنح المستخدم إذن RECORD_AUDIO في تطبيقك.
  • الانتظار إلى أن يتفاعل المستخدم مع إحدى الميزات في تطبيقك التي تتطلب الموقع قبل طلب ACCESS_COARSE_LOCATION الإذن أو ACCESS_FINE_LOCATION إذن، كما هو موضّح في الدليل المتعلق بكيفية طلب مشاركة الموقع الجغرافي. الأذونات.
  • انتظر إلى أن يمنح المستخدم تطبيقك إما ACCESS_COARSE_LOCATION إذن أو إذن ACCESS_FINE_LOCATION قبل طلب ACCESS_BACKGROUND_LOCATION إذن.

لوحة بيانات الخصوصية

يعرض المخطط الزمني العمودي التطبيقات المختلفة التي
         وصلت إلى معلومات الموقع الجغرافي والوقت الذي حدثت فيه عمليات الوصول.
الشكل 1. شاشة استخدام الموقع الجغرافي، وهي جزء من سياسة الخصوصية لوحة البيانات.

على الأجهزة المتوافقة التي تعمل بنظام التشغيل Android 12 أو الإصدارات الأحدث، ستظهر صفحة تظهر شاشة لوحة البيانات في إعدادات النظام. على هذه الشاشة، يمكن للمستخدمين الوصول إلى شاشات منفصلة تظهر عندما يصل التطبيقات إلى الموقع الجغرافي والكاميرا والميكروفون المعلومات. تعرض كل شاشة مخططًا زمنيًا للمرات التي وصلت فيها تطبيقات مختلفة إلى نوع معيّن من البيانات. يوضح الشكل 1 المخطط الزمني للوصول إلى البيانات للموقع المعلومات.

توضيح أسباب الوصول إلى البيانات

يمكن أن يقدّم تطبيقك للمستخدمين شرحًا منطقيًا لمساعدتهم في فهم سبب وصول تطبيقك إلى معلومات الموقع الجغرافي أو الكاميرا أو الميكروفون. يمكن أن يظهر هذا السبب العلمي على شاشة "لوحة بيانات الخصوصية" الجديدة أو شاشة أذونات تطبيقك أو كليهما.

يُرجى توضيح سبب وصول تطبيقك إلى معلومات الموقع الجغرافي والكاميرا والميكروفون، أكمل الخطوات التالية:

  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. حدِّد ما يجب أن يعرضه نشاط الوصول إلى البيانات. على سبيل المثال، الموقع الإلكتروني لتطبيقك أو مقالة في مركز المساعدة. لتوفير مزيد من شرح مفصل حول أنواع البيانات التي يصل تطبيقك إليها، وكذلك عند حدوث الوصول، تعامل مع الميزات الإضافية التي يتضمنها النظام عند استدعاء الغرض من استخدام الإذن:

اعتمادًا على فلاتر الأهداف التي تضيفها، يظهر للمستخدمين رمز معلومات بجانب اسم التطبيق على شاشات معيّنة:

  • في حال إضافة فلتر الأهداف الذي يحتوي على VIEW_PERMISSION_USAGE الإجراء، سيظهر الرمز للمستخدمين على صفحة أذونات التطبيق في إعدادات النظام. إِنْتَ يمكنه تطبيق هذا الإجراء على جميع أذونات التشغيل.
  • في حال إضافة فلتر الأهداف الذي يحتوي على الإجراء VIEW_PERMISSION_USAGE_FOR_PERIOD، سيرى المستخدمون الرمز بجانب اسم تطبيقك عندما يظهر تطبيقك في شاشة "لوحة بيانات الخصوصية".

وعندما ينقر المستخدمون على ذلك الرمز، يبدأ النشاط المنطقي لتطبيقك.

مستطيل مستدير في الزاوية العلوية اليمنى، والذي
         تشتمل على رمز الكاميرا ورمز الميكروفون
الشكل 2. مؤشرات الميكروفون والكاميرا التي تظهر إلى البيانات الحديثة

المؤشرات

عندما يصل أحد التطبيقات إلى الإصدار 12 من نظام التشغيل Android أو الإصدارات الأحدث الميكروفون أو الكاميرا، سيظهر رمز في شريط الحالة. إذا كان التطبيق في الوضع المجسم، يظهر الرمز في الزاوية العلوية اليمنى من الشاشة. يمكن للمستخدمين فتح "الإعدادات السريعة" واختيار الرمز للاطّلاع على التطبيقات التي تستخدم الميكروفون أو الكاميرا حاليًا. يوضح الشكل 2 مثالاً للقطة شاشة تحتوي على الرموز.

تحديد موقع شاشة المؤشرات

إذا كان تطبيقك متوافقًا مع الوضع المجسم أو واجهة المستخدم بملء الشاشة، قد تكون المؤشرات هي يتداخل مؤقتًا في واجهة مستخدم تطبيقك. للمساعدة في تكييف واجهة المستخدم مع هذه المؤشرات، يقدم النظام واجهة getPrivacyIndicatorBounds() التي يوضحها مقتطف الرمز التالي. باستخدام واجهة برمجة التطبيقات هذه، يمكنك تحديد الحدود التي قد تظهر فيها المؤشرات. قد تقرر بعد ذلك تنظيم واجهة مستخدم الشاشة بشكل مختلف.

Kotlin

view.setOnApplyWindowInsetsListener { view, windowInsets ->
    val indicatorBounds = windowInsets.getPrivacyIndicatorBounds()
    // change your UI to avoid overlapping
    windowInsets
}

التبديلات

تظهر مربّعات الإعدادات السريعة تحت عنوان &quot;الوصول إلى الكاميرا&quot;. أو
         &quot;الوصول إلى الميكروفون&quot;
الشكل 3. تفعيل الميكروفون والكاميرا الإعدادات السريعة:

على الأجهزة المتوافقة التي تشغّل في نظام التشغيل 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);