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

keywords: wear, permissions, collection_guideslandingwear image_path: images/training/wear/multiple_permissions.png

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

الإعدادات

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

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

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