تساعد أذونات التطبيقات في دعم خصوصية المستخدم من خلال حماية الوصول إلى ما يلي:
- البيانات المشروطة، مثل حالة النظام ومعلومات الاتصال الخاصة بالمستخدمين
- الإجراءات المحظورة، مثل الاتصال بجهاز مقترن وتسجيل صوت
توفّر هذه الصفحة نظرة عامة حول آلية عمل أذونات Android، بما في ذلك سير عمل عالي المستوى لاستخدام الأذونات وأوصاف لأنواع مختلفة من الأذونات وبعض أفضل الممارسات لاستخدام الأذونات في تطبيقك. وتوضّح صفحات أخرى كيفية تقليل طلبات الحصول على أذونات في تطبيقك وتضمين الأذونات وطلب أذونات التشغيل وتقييد كيفية تفاعل التطبيقات الأخرى مع مكوّنات تطبيقك.
للاطّلاع على قائمة كاملة بأذونات تطبيقات Android، يُرجى الانتقال إلى الصفحة المرجعية لواجهة برمجة تطبيقات الأذونات.
للاطّلاع على بعض نماذج التطبيقات التي تعرض سير عمل الأذونات، يُرجى الانتقال إلى مستودع نماذج أذونات Android على GitHub.
خطوات استخدام الأذونات
إذا كان تطبيقك يوفّر وظائف قد تتطلّب الوصول إلى بيانات محظورة أو إجراءات محظورة، عليك تحديد ما إذا كان بإمكانك الحصول على المعلومات أو تنفيذ الإجراءات بدون الحاجة إلى توضيح الأذونات. يمكنك تنفيذ العديد من حالات الاستخدام في تطبيقك، مثل التقاط الصور وإيقاف تشغيل الوسائط وعرض إعلانات ذات صلة بدون الحاجة إلى تقديم بيان عن أي أذونات.
إذا قررت أنّه يجب على تطبيقك الوصول إلى البيانات المشروطة أو تنفيذ إجراءات مشروطة للوفاء بحالة استخدام، يجب توضيح الأذونات المناسبة. يتم تلقائيًا منح بعض الأذونات المعروفة باسم أذونات التثبيت عند تثبيت التطبيق. وتتطلب الأذونات الأخرى المعروفة باسم أذونات التشغيل من تطبيقك التقدم خطوة أخرى وطلب الحصول على تلك الأذونات في وقت التشغيل.
يوضِّح الشكل 1 سير عمل استخدام أذونات التطبيق:
أنواع الأذونات
يصنف Android الأذونات إلى أنواع مختلفة، بما في ذلك أذونات وقت التثبيت وأذونات التشغيل والأذونات الخاصة. يشير نوع كل إذن إلى نطاق البيانات المشروطة التي يمكن لتطبيقك الوصول إليها، ونطاق الإجراءات المحظورة التي يمكن لتطبيقك تنفيذها، عندما يمنح النظام تطبيقك ذلك الإذن. يستند مستوى الحماية لكل إذن إلى نوعه ويتم عرضه في صفحة مرجع واجهة برمجة تطبيقات الأذونات.
أذونات وقت التثبيت
إنّ أذونات وقت التثبيت تمنح تطبيقك إمكانية وصول محدودة إلى البيانات المشروطة أو تتيح لتطبيقك تنفيذ إجراءات محدودة لا تؤثر بشكل ضئيل في النظام أو التطبيقات الأخرى. عندما تفصح عن أذونات وقت التثبيت في تطبيقك، يقدّم متجر التطبيقات إشعارًا بإذن وقت التثبيت إلى المستخدم عندما يطّلع على صفحة تفاصيل التطبيق، كما هو موضّح في الشكل 2. ويمنح النظام تلقائيًا الأذونات عندما يثبّت المستخدم تطبيقك.
يتضمن Android عدة أنواع فرعية من أذونات وقت التثبيت، بما في ذلك الأذونات العادية وأذونات التوقيع.
الأذونات العادية
تتيح هذه الأذونات الوصول إلى البيانات والإجراءات التي تتخطى نطاق وضع الحماية في تطبيقك، ولكنها لا تشكّل خطرًا كبيرًا على خصوصية المستخدم وتشغيل التطبيقات الأخرى.
يضبط النظام مستوى الحماية normal
للأذونات العادية.
أذونات التوقيع
يمنح النظام إذن التوقيع للتطبيق فقط عندما يتم توقيعه من خلال الشهادة نفسها التي يُحدِّدها التطبيق أو نظام التشغيل الذي يحدِّد هذا الإذن.
إنّ التطبيقات التي تستخدم خدمات مميزة، مثل خدمات الملء التلقائي أو الشبكة الافتراضية الخاصة، تستخدم أيضًا أذونات التوقيع. تتطلب هذه التطبيقات أذونات توقيع ربط الخدمة حتى يتمكن النظام فقط من الربط بالخدمات.
يخصّص النظام مستوى الحماية signature
لأذونات التوقيع.
أذونات وقت التشغيل
إنّ أذونات التشغيل، المعروفة أيضًا باسم الأذونات الخطيرة، تمنح تطبيقك وصولاً إضافيًا إلى البيانات المشروطة أو تسمح لتطبيقك بتنفيذ إجراءات مشروطة تؤثّر بشكل كبير في النظام والتطبيقات الأخرى. بالتالي، يجب طلب أذونات التشغيل في تطبيقك قبل أن تتمكّن من الوصول إلى البيانات المشروطة أو تنفيذ إجراءات مشروطة. لا تفترض أنّه تم منح هذه الأذونات في السابق، ولكن تحقَّق منها، واطلبها قبل كل عملية وصول إذا لزم الأمر.
عندما يطلب تطبيقك إذن وقت تشغيل، يعرض النظام طلبًا للحصول على إذن التشغيل، كما هو موضّح في الشكل 3.
تصل العديد من أذونات التشغيل إلى بيانات المستخدمين الخاصة، وهي نوع خاص من البيانات المشروطة يتضمّن معلومات يُحتمل أن تكون حسّاسة. تتضمن أمثلة بيانات المستخدم الخاصة معلومات الموقع الجغرافي والاتصال.
يتيح الميكروفون والكاميرا إمكانية الوصول إلى معلومات حساسة بشكل خاص. ولذلك، يساعدك النظام على توضيح سبب وصول تطبيقك إلى هذه المعلومات.
يضبط النظام مستوى الحماية dangerous
لأذونات التشغيل.
الأذونات الخاصة
تتوافق الأذونات الخاصة مع عمليات معينة في التطبيق. يمكن فقط للنظام الأساسي والمصنّعين الأصليين للأجهزة تحديد أذونات خاصة. بالإضافة إلى ذلك، تحدّد النظام الأساسي والمصنّعون الأصليون للأجهزة أذونات خاصة عادةً عندما يريدون حماية الوصول إلى إجراءات فعّالة بشكل خاص، مثل التغطية على تطبيقات أخرى.
تحتوي صفحة أذونات خاصة للتطبيقات في إعدادات النظام على مجموعة من العمليات التي يمكن تبديلها من قِبل المستخدم. يتم تنفيذ العديد من هذه العمليات كأذونات خاصة.
مزيد من المعلومات حول كيفية طلب أذونات خاصة
يخصّص النظام مستوى الحماية appop
لأذونات خاصة.
مجموعات أذونات
يمكن أن تنتمي الأذونات إلى مجموعات الأذونات. تتكون مجموعات الأذونات من مجموعة من الأذونات ذات الصلة منطقيًا. على سبيل المثال، قد تنتمي أذونات إرسال الرسائل القصيرة SMS وتلقيها إلى المجموعة نفسها، لأنهما يتعلقان بتفاعل التطبيق مع الرسائل القصيرة SMS.
تساعد مجموعات الأذونات النظام في تقليل عدد مربّعات حوار النظام التي يتم تقديمها للمستخدم عندما يطلب التطبيق أذونات ذات صلة وثيقة. عندما يظهر للمستخدم طلب لمنح أذونات لتطبيق ما، يتم عرض الأذونات التي تنتمي إلى المجموعة نفسها في الواجهة نفسها. ومع ذلك، يمكن أن تغيّر الأذونات المجموعات بدون إشعار، لذا لا تفترض أنّه تم جمع إذن خاص مع أي إذن آخر.
أفضل الممارسات
تستند أذونات التطبيقات إلى ميزات أمان النظام وتساعد Android في تحقيق الأهداف التالية المتعلقة بخصوصية المستخدم:
- التحكّم: يتحكّم المستخدم في البيانات التي يشاركها مع التطبيقات.
- الشفافية: يفهم المستخدم البيانات التي يستخدمها التطبيق وسبب وصوله إلى هذه البيانات.
- تضييق نطاق جمع البيانات: يصل التطبيق إلى البيانات المطلوبة فقط لمهمة أو إجراء محدّد يستدعيه المستخدم ويستخدمه فقط.
يعرض هذا القسم مجموعة من أفضل الممارسات الأساسية لاستخدام الأذونات بشكل فعّال في تطبيقك. لمزيد من التفاصيل حول كيفية العمل باستخدام الأذونات على Android، يُرجى الانتقال إلى صفحة أفضل الممارسات المتعلقة بأذونات التطبيقات.
طلب الحدّ الأدنى من الأذونات
عندما يطلب المستخدم إجراءً معيّنًا في تطبيقك، يجب أن يطلب التطبيق الأذونات اللازمة فقط لإكمال هذا الإجراء. وبناءً على كيفية استخدامك للأذونات، قد تتوفّر طريقة بديلة لتنفيذ حالة استخدام تطبيقك بدون الاعتماد على الوصول إلى المعلومات الحساسة.
ربط أذونات التشغيل بإجراءات محدَّدة
اطلب الأذونات في مرحلة متأخرة من مسار حالات استخدام تطبيقك قدر الإمكان. على سبيل المثال، إذا كان تطبيقك يسمح للمستخدمين بإرسال رسائل صوتية للآخرين، انتظِر حتى ينتقل المستخدم إلى شاشة المراسلة ويضغط على زر إرسال رسالة صوتية. بعد أن يضغط المستخدم على الزر، يمكن لتطبيقك طلب الوصول إلى الميكروفون.
الوضع في الاعتبار تبعيات تطبيقك
عند تضمين مكتبة، تكتسب أيضًا متطلبات الأذونات المرتبطة بها. كن على دراية بالأذونات التي تتطلبها كل تبعية والأوجه التي تُستخدَم من أجلها هذه الأذونات.
التحلّي بالشفافية
عندما تقدّم طلب الحصول على أذونات، كن واضحًا بشأن ما يمكنك الوصول إليه وسبب ذلك والوظائف المتأثرة في حال تم رفض الأذونات، لكي يتمكن المستخدمون من اتخاذ قرارات مدروسة.
جعل عمليات وصول النظام فاضحة
عند الوصول إلى بيانات أو أجهزة حسّاسة، مثل الكاميرا أو الميكروفون، عليك تقديم مؤشر مستمر في التطبيق إذا لم يسبق للنظام توفير هذه المؤشرات. يساعد هذا التذكير المستخدمين في معرفة الوقت الدقيق الذي يصل فيه تطبيقك إلى بيانات مشروطة أو عندما ينفّذ إجراءات مشروطة.
الأذونات في مكوّنات النظام
لا تُستخدم الأذونات لطلب وظائف النظام فقط. يمكن لمكوّنات النظام في تطبيقك تحديد التطبيقات الأخرى التي يمكنها التفاعل مع تطبيقك، كما هو موضّح في الصفحة حول كيفية تقييد التفاعلات مع التطبيقات الأخرى.