فلترة مستوى ظهور الحِزم على Android

عندما يستهدف تطبيق Android 11 (مستوى واجهة برمجة التطبيقات 30) أو الإصدارات الأحدث ويطلب معلومات عن التطبيقات الأخرى المثبّتة على جهاز، يفلتر النظام هذه المعلومات تلقائيًا. يعني هذا السلوك أنّ تطبيقك لا يمكنه رصد جميع التطبيقات المثبّتة على جهاز، ما يساعد في تقليل المعلومات التي قد تكون حساسة والتي يمكن لتطبيقك الوصول إليها ولكنّه لا يحتاج إليها لتلبية حالات استخدامه.

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

يؤثر نطاق ظهور التطبيق المحدود في النتائج التي تعرضها الطرق التي تقدّم معلومات عن التطبيقات الأخرى، مثل queryIntentActivities()، getPackageInfo()، و getInstalledApplications(). يؤثر نطاق الظهور المحدود أيضًا في التفاعلات الصريحة مع التطبيقات الأخرى، مثل بدء خدمة تطبيق آخر.

تظهر بعض الحِزم مرئية تلقائيًا. يمكن لتطبيقك دائمًا رصد هذه الحِزم في طلباته للتطبيقات الأخرى المثبّتة. لعرض حِزم أخرى، عليك توضيح حاجة تطبيقك إلى نطاق ظهور أكبر للحزمة باستخدام العنصر <queries>. تقدّم صفحة use cases أمثلة على كيفية توسيع نطاق ظهور الحزمة بشكل انتقائي. تسمح لك مسارات العمل الموضّحة هناك بتلبية سيناريوهات التفاعل الشائعة بين التطبيقات مع حماية خصوصية المستخدم.

في الحالات النادرة التي لا يوفّر فيها العنصر <queries> نطاق ظهور كافيًا للحزمة ، يمكنك استخدام إذن QUERY_ALL_PACKAGES إذا نشرت تطبيقك على Google Play، يخضع استخدام تطبيقك لهذا الإذن للموافقة.

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

مراجع إضافية

لمزيد من المعلومات حول نطاق ظهور الحزمة على Android، يمكنك الاطّلاع على المواد التالية:

منشورات المدوّنات