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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

يطلب تطبيق Wear OS الحصول على إذن الهاتف.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

السؤال في السياق

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

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

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

توفير سياق للتوعية

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

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

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

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

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

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

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

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

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

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

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

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

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

الإعدادات

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

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

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