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

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

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

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

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

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

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

مصادر إضافية

للاطّلاع على مزيد من المعلومات حول مستوى عرض الحِزم على Android، اطّلِع على المواد التالية:

مشاركات المدونة