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

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

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

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

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

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

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

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

  • يطلب تطبيق "الهاتف" أذونات لتطبيق قيد التشغيل على جهازك المحمول.

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

للاطّلاع على جميع هذه السيناريوهات في تطبيق قيد التشغيل، يمكنك مراجعة نموذج ExcersizeSampleCompose على GitHub.

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

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

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

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

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

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

يطلب تطبيق Wear OS الحصول على إذن لاستخدام الهاتف

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

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

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

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

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

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

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

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

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

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

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

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

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

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

الطلب في سياق معيّن

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

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

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

تقديم معلومات في سياقها

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

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

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

رفض الاسم المعرِّف

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

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

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

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

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

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

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

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

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

الإعدادات

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

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

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