امنح كل ميزة فقط إمكانية الوصول إلى النظام التي يمكن تبريرها
لا توافق على كل إذن من أذونات النظام أثناء الإعداد. ابدأ بالميزة التي تنوي استخدامها، وانتظر حتى تقوم باستدعائها، وامنح الخيار الأضيق نطاقاً الذي يكمل هذا الإجراء. يحتوي إطار الحدود المفيد للأذونات على ستة حقول: الميزة، ومورد النظام، ولحظة التشغيل، ونطاق الوصول، والبديل الاحتياطي في حال عدم منح الإذن، واختبار الإلغاء. طبّق تلك البطاقة بشكل منفصل على الميكروفون والكاميرا والصور وجهات الاتصال والموقع والبلوتوث والأجهزة المجاورة والشبكة المحلية والإشعارات. يتحكم إذن نظام التشغيل في الوصول المستقبلي إلى مورد الجهاز؛ ولا يفسر التخزين على جانب الخدمة أو مشاركة أو حذف البيانات التي تم تحميلها بالفعل. احتفظ بضوابط الحساب هذه في عمود منفصل.
احصر الميزات قبل الأذونات
أدرج فقط الميزات التي تستخدمها أو تخطط لاختبارها: الإدخال الصوتي، أو التقاط صورة جديدة، أو إرفاق صورة موجودة، أو العثور على جهات اتصال معروفة، أو المخرجات المستندة إلى الموقع، أو توصيل ملحق، أو اكتشاف جهاز على الشبكة المحلية، أو تلقي الإشعارات. بجانب كل ميزة، اكتب مورد النظام المحدد الذي تحتاجه. لا تنسخ صفحة الأذونات بأكملها في قائمة واحدة تحت بند "مطلوب". يوضح نظام Android أن العديد من المهام يمكن أن تستخدم بدائل دون إذن تشغيل واسع، ويوصي بالانتظار حتى يقوم الشخص باستدعاء الإجراء ذي الصلة. إذا لم يكن للميزة مشغل مسمى أو مخرجات مرئية أو تفسير، فاترك إذنها معطلاً وحدد حالة الربط على أنها لم تُحل.
اطلب الإذن في لحظة الاستخدام واقرأ رسالة النظام الموجهة
يكون تقييم طلب الإذن أسهل عندما يتبع الزر الذي يحتاج إليه: انقر على تسجيل قبل الميكروفون، وانقر على مسح قبل الكاميرا، وانقر على اختيار قبل الصور. توصي إرشادات وقت التشغيل من Android بالطلب ضمن السياق، والسماح للمستخدم بالإلغاء، والحفاظ على إمكانية استخدام الأجزاء الأخرى من التطبيق عند رفض الإذن. اقرأ مربع حوار نظام التشغيل بدلاً من الاعتماد على صفحة مصممة بواسطة التطبيق. لاحظ ما إذا كان الخيار لمرة واحدة، أو لعناصر محددة، أو تقريبياً، أو أثناء الاستخدام، أو أوسع نطاقاً. إذا ظهرت عدة أذونات عند بدء التشغيل دون أي إجراء لميزة ما، فارفضها أو أجلها وافتح كل ميزة عن قصد لاحقاً.
فضّل أداة الاختيار أو الإجراء الفردي على الوصول إلى المكتبة بأكملها
غالباً ما يمنح مسار العناصر المحددة وصولاً كافياً دون فتح مجموعة كاملة. يوثق نظام Android أدوات اختيار الصور وجهات الاتصال وغيرها من الآليات محددة النطاق كبدائل للأذونات الواسعة. للمرفقات، اختر صورة واحدة أو ملفاً واحداً؛ ولصورة الملف الشخصي، فكّر في إجراء كاميرا النظام أو صورة واحدة محددة؛ ولدعوة شخص ما، أدخل العنوان يدوياً أو استخدم أداة اختيار جهات الاتصال إذا كانت متاحة. تعتمد الخيارات الدقيقة على النظام الأساسي والإصدار، لذا سجّل الخيار الذي تراه بالفعل. لا يكون المسار الأضيق مفيداً إلا إذا كانت الميزة لا تزال تعمل؛ تحقق من الرفع والقص والإلغاء وإعادة المحاولة باستخدام عينة محايدة قبل استخدام مواد شخصية.
افصل بين الوصول إلى المستشعر والنتائج المحفوظة
يمكن أن يؤدي الوصول إلى الميكروفون إلى تمكين التسجيل، لكن المقطع الصوتي المحفوظ أو النص المكتوب أو مرفق الدردشة أو الملف الذي تم تنزيله يصبح عنصراً مختلفاً. يمكن للوصول إلى الكاميرا إنشاء صورة تدخل أيضاً إلى مكتبة الصور أو النسخ الاحتياطي السحابي أو سجل الرسائل أو التصدير. قد يدعم الوصول إلى جهات الاتصال عملية الاكتشاف بينما تخزن الخدمة أيضاً معرفات محددة. يؤدي رفض النظام إلى إيقاف القراءة التالية أو تقييدها؛ ولا يؤدي بالضرورة إلى حذف التسجيلات الحالية أو الصور أو النصوص المشتقة أو مطابقات جهات الاتصال التي تم تحميلها أو النسخ المشتركة. لكل ميزة، أضف صف تخزين يحدد نسخة الجهاز وعنصر الخدمة والعنصر المشتق والمستلم وعنصر التحكم في الحذف. هذا يمنع الخلط بين مفتاح تبديل الإذن وإغلاق البيانات بالكامل.
راجع أذونات الأجهزة والشبكة بشكل مستقل
لا يمكن تبديل أذونات البلوتوث والأجهزة المجاورة والوصول إلى الشبكة المحلية ببعضها. حدد الملحق أو النظير أو الخدمة المحلية التي يُفترض أن تصل إليها الميزة، وما إذا كان الاكتشاف مطلوباً لمرة واحدة أو بشكل متكرر، والحالة المرئية التي تؤكد الاتصال. لا تمنحها ببساطة لأن التطبيق المرافق يوفر عمليات تكامل اختيارية. تتيح Apple للمستخدمين مراجعة فئات الوصول مثل البلوتوث والشبكة المحلية في إعدادات الخصوصية، بينما تستخدم الكاميرا والميكروفون مؤشرات مرئية. استخدم المؤشر كموجه للفحص، وليس كدليل على وصول غير مناسب. عطل التكامل الاختياري، وألغِ إذنه، وتأكد من أن الدردشة العادية تظل متاحة.
شغّل مصفوفة إلغاء الأذونات بعد الإعداد والتحديثات
أنشئ صفاً واحداً لكل إذن. سجّل النطاق الممنوح، والميزة المختبرة، والسلوك المتوقع بعد الرفض، والسلوك الفعلي، والعناصر المخزنة المتبقية، ومشغل المراجعة التالي. ألغِ إذناً واحداً في كل مرة، وأعد فتح التطبيق واختبر الميزة المحددة بالإضافة إلى إجراء أساسي غير ذي صلة. يؤدي التقليص الجيد إلى حظر الميزة التابعة فقط أو تضييق نطاقها وشرح كيفية إعادة تمكينها دون فرض وصول غير ذي صلة. يجب تضمين المطالبات المتكررة غير المتوقعة، أو الفشل غير المرتبط، أو الوصول بعد الإلغاء في النتيجة. راجع مرة أخرى بعد إجراء تحديث رئيسي للتطبيق أو نظام التشغيل، أو عند تمكين تكامل جديد، أو عندما تتوقف عن استخدام إحدى الميزات. أزل الأذونات التي لم يعد للميزة الخاصة بها مستخدم حالي.
احتفظ بضوابط نظام التشغيل والحساب في عمودين
اختتم بعمودين. يغطي عمود النظام الكاميرا والميكروفون والصور وجهات الاتصال والموقع والموارد المجاورة والشبكة المحلية والإشعارات. ويغطي عمود الحساب السجل والتحميلات والنصوص والذكريات والمشاركة والخيارات المتعلقة بالنماذج وعمليات التصدير والحذف. لا ينبغي أبداً استخدام مفتاح النظام كدليل على اختفاء عنصر من عناصر الحساب، ولا ينبغي افتراض أن مفتاح التبديل داخل التطبيق يتجاوز نظام التشغيل. سجّل المسار الدقيق لكل تغيير واختباراً واحداً يمكن ملاحظته. يمكن أن تكون الحالة النهائية مسموحاً بها لهذه الميزة، أو للعناصر المحددة فقط، أو مسموحاً بها أثناء الاستخدام، أو مرفوضة مع بديل احتياطي، أو لم تُحل. ولا ينبغي أن تكون "السماح بكل شيء لأن التطبيق طلب ذلك".
أسئلة شائعة
هل يجب أن أمنح جميع الأذونات عند تثبيت تطبيق مرافق؟
لا. انتظر إجراء الميزة، واقرأ رسالة النظام الموجهة، وامنح فقط الخيار المحدود الذي يكمل هذا الإجراء.
هل يؤدي إلغاء إذن الميكروفون إلى حذف الملاحظات الصوتية القديمة؟
لا. إنه يحد من الوصول المستقبلي إلى الميكروفون؛ بينما تحتاج التسجيلات والنصوص وعمليات التحميل إلى ضوابط الحذف الخاصة بها.
هل تختلف أداة اختيار الصور عن الوصول الكامل إلى مكتبة الصور؟
غالباً ما تختلف. يمكن لأداة الاختيار توفير العناصر المحددة فقط؛ استخدم المسار الأضيق عندما يفي بالغرض لإكمال المهمة.
