تطبيق يعرض فروع الشركة القريبة لا يحتاج بالضرورة معرفة موضع باب المنزل. إذا توقفت رحلة البحث لمجرد اختيار المستخدم «موقع تقريبي»، فقد تكون المشكلة في تعريف الميزة قبل أن تكون في الصلاحيات. ابدأ بالسؤال: ما أقل دقة تكفي لتقديم خدمة مفيدة؟
الإذن الممنوح ليس مجرد نعم أو لا
توضح وثائق Android لصلاحيات الموقع أن مستخدم Android 12 وما بعده يستطيع منح موقع تقريبي حتى عند طلب الدقة العالية. وعندما تحتاج الميزة موقعًا دقيقًا، يُطلب ACCESS_FINE_LOCATION مع ACCESS_COARSE_LOCATION معًا. أما إذا كانت الدقة التقريبية كافية، فالتوصية طلب COARSE فقط.
في نموذج افتراضي لخدمة حجز زيارة، قد يكفي اختيار المنطقة لعرض نطاق التغطية، ثم يحدد المستخدم العنوان بنفسه. لا تحوّل نتيجة تقريبية إلى وعد بأن الموظف سيصل إلى إحداثيات دقيقة، ولا تعرض دائرة الخريطة كعنوان مؤكد.
اكتب نتيجة متوقعة لكل اختيار
| الحالة | سلوك تقبله في رحلة الخدمة |
|---|---|
| موقع تقريبي | عرض نتائج مناسبة للمنطقة مع تصحيح يدوي |
| موقع دقيق | استخدامه فقط في الميزة التي تحتاجه |
| رفض الطلب | اختيار المدينة أو العنوان دون حلقة إلحاح |
| تغيير الدقة من الإعدادات | إعادة قراءة الإذن واستعادة حالة الشاشة |
اختبر الرجوع بعد تغيير الإعدادات
تنبه الوثائق إلى أن خفض الدقة من دقيقة إلى تقريبية يعيد تشغيل عملية التطبيق. لذلك لا يكفي اختبار مربع الإذن عند أول تثبيت. ابدأ نموذجًا ببيانات مصطنعة، غيّر الاختيار من الإعدادات، ثم عد وافحص هل بقيت المسودة وهل يعرض التطبيق الحالة الجديدة دون انهيار.
سجل إصدار النظام وإصدار التطبيق وخطوات العودة. لا تثبت رقمًا بالأمتار كضمان للدقة، ولا تستنتج من إذن الاستخدام في الواجهة أن الوصول في الخلفية متاح. هذه مراجعة لرحلة foreground، وأي تتبع مستمر يحتاج تصميمًا وصلاحيات واختبارات منفصلة.
اربط طلب الصلاحية بالفعل المقصود
ضمن تطوير تطبيقات الهاتف اطلب الإذن عندما يختار المستخدم وظيفة تعتمد عليه، مع شرح واضح لسبب الطلب. وسلّم في المراجعة التقنية تسجيلًا لكل فرع من المصفوفة. النجاح أن تؤدي الخدمة وظيفتها بالحد اللازم من البيانات، وأن يفهم المستخدم البديل إذا اختار الرفض أو الدقة الأقل.




