طلب الأذونات على Wear OS

يشبه طلب الأذونات على Wear OS طلب الأذونات في تطبيقات الأجهزة الجوّالة، مع حالتين إضافيتين للاستخدام. يفترض هذا المستند أنّك على دراية بآلية عمل أذونات Android. إذا لم تكن على دراية بذلك، راجِع كيفية عمل الأذونات على Android.

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

سيناريوهات الأذونات

هناك عدّة سيناريوهات قد تواجهها عند طلب أذونات خطيرة على Wear OS:

  • يطلب تطبيق Wear OS أذونات لتطبيق يعمل على الجهاز القابل للارتداء.

  • يطلب تطبيق Wear OS أذونات لتطبيق يعمل على الهاتف.

  • يطلب تطبيق "الهاتف" أذونات لتطبيق يعمل على جهاز قابل للارتداء.

  • يطلب تطبيق الهاتف أذونات متعددة يمكن استخدامها فقط أثناء اتصال الجهاز القابل للارتداء.

للاطّلاع على كل هذه السيناريوهات في تطبيق عملي، راجِع نموذج ExerciseSampleCompose على GitHub.

توضّح الأقسام التالية كلّ سيناريو من هذه السيناريوهات. للحصول على معلومات أكثر تفصيلاً حول طلب الأذونات، يُرجى الاطّلاع على قسم أنماط طلب الأذونات.

تطبيق Wear OS يطلب إذن الجهاز القابل للارتداء

عندما يطلب تطبيق Wear OS إذنًا لتطبيق يعمل على جهاز قابل للارتداء، يعرض النظام مربّع حوار يطلب من المستخدم منح هذا الإذن. في تطبيقك، لا تطلب الأذونات إلا عندما يكون سبب الحاجة إليها واضحًا للمستخدم لتنفيذ عملية معيّنة.

راجِع مبادئ الأذونات للتأكّد من أنّك تقدّم أفضل تجربة للمستخدمين، وتذكَّر مراجعة shouldShowRequestPermissionRationale() وتقديم معلومات إضافية حسب الحاجة.

إذا كان التطبيق أو خلفية شاشة الساعة يتطلّبان أكثر من إذن واحد في المرة الواحدة، ستظهر طلبات الأذونات واحدًا تلو الآخر.

شاشات أذونات متعدّدة، واحدة تلو الأخرى
الشكل 1. شاشات الأذونات التي تظهر تباعًا

تطبيق Wear OS يطلب إذن الهاتف

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

يُعيد تطبيق Wear توجيه المستخدم إلى الهاتف لمنح الإذن.
الشكل 2. اطلب من المستخدم الانتقال إلى الهاتف لمنح الإذن.

تطبيق "الهاتف" يطلب إذنًا لاستخدام الجهاز القابل للارتداء

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

يرسل تطبيق "الهاتف" المستخدم إلى الجهاز القابل للارتداء لمنح الإذن.
الشكل 3. إعادة توجيه المستخدم إلى الجهاز القابل للارتداء لمنح الإذن

تطبيق "الهاتف" يطلب أذونات متعدّدة في آن واحد

الشكل 4. مربّع حوار الأذونات الذي يستخدم ملفًا شخصيًا لجهاز مصاحب من أجل طلب أذونات متعددة في طلب واحد

يمكن لتطبيقات الشركاء على نظام التشغيل Android 12 (مستوى واجهة برمجة التطبيقات 31) والإصدارات الأحدث استخدام الملفات الشخصية للأجهزة المصاحبة عند الربط بساعة. يؤدي استخدام ملف شخصي إلى تبسيط عملية التسجيل من خلال تجميع منح مجموعة من الأذونات الخاصة بنوع الجهاز في خطوة واحدة.

يتم منح الأذونات المجمّعة للتطبيق المصاحب عند اتصال الجهاز، وتستمر فقط أثناء ربط الجهاز. يؤدي حذف التطبيق أو إزالة الربط إلى إزالة الأذونات. للحصول على التفاصيل، يُرجى الاطّلاع على AssociationRequest.Builder.setDeviceProfile().

أنماط طلبات الإذن

تتوفّر أنماط مختلفة لطلب الأذونات من المستخدمين. وفي ما يلي الترتيب حسب الأولوية:

  • اطلب الإذن في السياق عندما يكون من الواضح أنّه ضروري لوظيفة معيّنة، ولكنّه ليس ضروريًا لتشغيل التطبيق ككل.

  • قدِّم معلومات توضيحية في السياق عندما لا يكون سبب طلب الإذن واضحًا ولا يكون الإذن ضروريًا لتشغيل التطبيق ككل.

يتم توضيح هذه الأنماط في الأقسام التالية.

طرح الأسئلة في السياق

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

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

يطلب التطبيق الإذن عندما يكون ذلك ضروريًا بشكل واضح.
الشكل 5. طلب الإذن في السياق

توفير المعلومات حسب السياق

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

استخدِم طريقة shouldShowRequestPermissionRationale لمساعدة تطبيقك في تحديد ما إذا كان سيقدّم المزيد من المعلومات. لمزيد من التفاصيل، يُرجى الاطّلاع على طلب أذونات التطبيق. بدلاً من ذلك، يمكنك الاطّلاع على كيفية تعامل تطبيق عيّنة المتحدث على GitHub مع عرض المعلومات.

وعند الحاجة إلى الإذن، يوضّح التطبيق سبب ضرورة الحصول عليه.
الشكل 6. التعليم في السياق

التعامل مع الرفض

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

يعرض الشكل 7 استخدام رمز القفل للإشارة إلى أنّ إحدى الميزات مقفلة لأنّ المستخدم لم يمنح الإذن باستخدامها.

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

عندما يظهر مربّع حوار أذونات الجهاز القابل للارتداء الذي تم رفضه سابقًا للمرة الثانية، سيتضمّن خيار رفض وعدم العرض مرة أخرى. إذا اختار المستخدم هذا الخيار، فإنّ الطريقة الوحيدة لمنح هذا الإذن في المستقبل هي الانتقال إلى تطبيق "الإعدادات" على الجهاز القابل للارتداء.

يقترح النظام إيقاف طلب الإذن.
الشكل 8. يمكن للمستخدم الوصول إلى طلب الحصول على إذن تم رفضه مرتين سابقًا من خلال الإعدادات.

مزيد من المعلومات حول كيفية التعامل مع رفض منح الإذن

أذونات الخدمات

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

بشكل عام، لا تطلب أذونات لخلفية شاشة الساعة. بدلاً من ذلك، نفِّذ عنصر واجهة مستخدم صغير واسمح للمستخدم باختيار البيانات التي يريد عرضها من خلال عنصر واجهة المستخدم الصغير.

الإعدادات

يمكن للمستخدم تغيير أذونات تطبيق Wear في "الإعدادات" في أي وقت. عندما يحاول المستخدم تنفيذ إجراء يتطلّب الحصول على إذن، عليك أولاً استدعاء الطريقة checkSelfPermission لمعرفة ما إذا كان التطبيق لديه إذن بتنفيذ العملية.

يجب إجراء هذا التحقّق حتى إذا كان المستخدم قد منح الإذن سابقًا، لأنّه قد يكون قد ألغاه لاحقًا.

يمكن للمستخدم تغيير الأذونات من خلال تطبيق "الإعدادات".
الشكل 9. يمكن للمستخدم تغيير الأذونات باستخدام تطبيق "الإعدادات".