إنّ طلب الأذونات على نظام التشغيل Wear OS يشبه طلب الأذونات في التطبيقات للأجهزة الجوّالة، مع بعض حالات الاستخدام الإضافية. يفترض هذا المستند أنك تفهم طريقة عمل أذونات Android. وإذا لم تفعل ذلك، راجِع آلية عمل الأذونات على Android.
تمامًا كما هو الحال مع تطبيق الأجهزة الجوّالة، يجب على المستخدم منح أذونات لتطبيق Wear OS للوصول إلى وظائف معيّنة. في تطبيقات Wear، يمكنك توفير وظائف ذات مغزى بدون طلب أي أذونات.
سيناريوهات الأذونات
هناك العديد من السيناريوهات التي قد تواجهها عند طلب أذونات خطيرة على Wear OS:
يطلب تطبيق Wear OS الحصول على أذونات لتطبيق يعمل على الجهاز القابل للارتداء.
يطلب تطبيق Wear OS الحصول على أذونات لتطبيق يعمل على الهاتف.
يطلب تطبيق "الهاتف" أذونات لتطبيق يعمل على الجهاز القابل للارتداء.
يطلب تطبيق الهاتف أذونات متعددة لا يمكن استخدامها إلا عندما يكون الجهاز القابل للارتداء متصلاً.
للاطّلاع على كل هذه السيناريوهات في تطبيق يعمل، يمكنك مراجعة نموذج ExcersizeSampleCompose على GitHub.
تشرح الأقسام التالية كل سيناريو من هذه السيناريوهات. لمزيد من المعلومات التفصيلية حول طلب الأذونات، يمكنك الاطلاع على القسم أنماط طلب الأذونات.
تطبيق Wear OS يطلب إذنًا للأجهزة القابلة للارتداء
عندما يطلب تطبيق Wear إذنًا لتطبيق يعمل على الجهاز القابل للارتداء، يعرض النظام مربّع حوار يطلب من المستخدم منح هذا الإذن. في تطبيقك، لا تطلب الأذونات إلا عندما يكون واضحًا للمستخدم سبب الحاجة إلى الأذونات لتنفيذ عملية معيّنة.
راجِع مبادئ الأذونات
للتأكّد من تقديم أفضل تجربة للمستخدمين، ولا تنسَ مراجعة
shouldShowRequestPermissionRationale()
وتقديم معلومات إضافية
حسب الحاجة.
إذا كان التطبيق أو خلفية شاشة الساعة يتطلّبان أكثر من إذن واحد في الوقت نفسه، ستظهر طلبات الأذونات واحدًا تلو الآخر.
يطلب تطبيق Wear OS الحصول على إذن الهاتف.
عندما يطلب تطبيق Wear OS الحصول على إذن الهاتف، على سبيل المثال، يطلب تطبيق قابل للارتداء الحصول على إذن بالوصول إلى الصور أو البيانات الحساسة الأخرى على إصدار التطبيق المتوافق مع الأجهزة الجوّالة، يجب أن يرسل تطبيق Wear OS المستخدم إلى الهاتف من أجل قبول الإذن. هناك، يمكن لتطبيق الهاتف توفير معلومات إضافية للمستخدم، باستخدام نشاط ما. في النشاط، قم بتضمين زرين: أحدهما لمنح الإذن والآخر لرفضه.
تطبيق الهاتف يطلب إذن الأجهزة القابلة للارتداء
يرسل تطبيق الهاتف المستخدم إلى الجهاز القابل للارتداء من أجل الموافقة على الإذن،
إذا كان المستخدم يستخدم أحد تطبيقات الهاتف ويتطلب الحصول على إذن "قابل للارتداء" مثلًا لتحميل الموسيقى مسبقًا في حال انقطاع الاتصال بالهاتف. يستخدم إصدار التطبيق القابل للارتداء طريقة
requestPermissions()
لتشغيل مربع حوار أذونات النظام.
يطلب تطبيق الهاتف أذونات متعددة في آنٍ واحد
يمكن لتطبيقات الشركاء على نظام التشغيل Android 12 (المستوى 31 من واجهة برمجة التطبيقات) والإصدارات الأحدث استخدام الملفات الشخصية للأجهزة المصاحبة عند الاتصال بساعة. يؤدي استخدام ملف شخصي إلى تبسيط عملية التسجيل من خلال تجميع عملية منح مجموعة من الأذونات الخاصة بنوع الجهاز في خطوة واحدة.
يتم منح الأذونات المجمَّعة للتطبيق المصاحب بعد اتصال الجهاز، ولا تستمر هذه الأذونات إلا عندما يكون الجهاز مرتبطًا. ويؤدي حذف التطبيق أو
إزالة الربط إلى إزالة الأذونات. لمعرفة التفاصيل، يُرجى الاطّلاع على
AssociationRequest.Builder.setDeviceProfile()
.
أنماط طلب الأذونات
هناك أنماط مختلفة لطلب الأذونات من المستخدمين. حسب الأولوية، هي:
السؤال في السياق عندما يكون من الواضح أن الإذن ضروري لوظيفة معيّنة ولكن ليس ضروريًا لتشغيل التطبيق ككل.
قدِّم المعلومات في سياق عندما لا يكون سبب طلب الإذن واضحًا ولا يكون الإذن ضروريًا لتشغيل التطبيق ككل.
يتم شرح هذه الأنماط في الأقسام التالية.
السؤال في السياق
اطلب الأذونات عندما يكون واضحًا للمستخدم سبب الحاجة إلى الإذن لتنفيذ عملية معينة. من المرجح أن يمنح المستخدمون إذنًا عندما يفهمون علاقته بالميزة التي يريدون استخدامها.
على سبيل المثال، قد يتطلب التطبيق الحصول على الموقع الجغرافي للمستخدم لعرض الأماكن القريبة محل الاهتمام. عندما ينقر المستخدم للبحث عن الأماكن المجاورة، يمكن للتطبيق أن يطلب على الفور إذن تحديد الموقع الجغرافي لأنّ هناك علاقة واضحة بين البحث عن الأماكن المجاورة والحاجة إلى إذن تحديد الموقع الجغرافي. إن وضوح هذه العلاقة يجعل من غير الضروري أن يعرض التطبيق شاشات تعليمية إضافية.
توفير سياق للتوعية
يوضّح الشكل 6 مثالاً على التعليم ضمن السياق. لا يتطلب التطبيق إذنًا لبدء الموقّت، إلا أنّ إشارة تعليمية مضمّنة توضّح أنّ الجزء من النشاط مُقفل، وهو اكتشاف الموقع الجغرافي. عندما ينقر المستخدم على الإشارات، تظهر شاشة لطلب الإذن، والتي تتيح للمستخدم إلغاء قفل اكتشاف الموقع.
استخدِم طريقة
shouldShowRequestPermissionRationale()
لمساعدة تطبيقك في تحديد ما إذا كان سيقدّم المزيد من المعلومات. للحصول على مزيد من التفاصيل، يمكنك الاطلاع على طلب أذونات التطبيق. وبدلاً من ذلك، يمكنك فحص الطريقة التي يعالج بها نموذج مكبّر الصوت على GitHub عرض المعلومات.
التعامل مع الرفض
إذا رفض المستخدم إذنًا مطلوبًا ليس بالغ الأهمية لنشاط مقصود، يجب عدم منعه من مواصلة النشاط. إذا تم إيقاف أجزاء معينة من النشاط من خلال الإذن المرفوض، قدم ملاحظات مرئية وقابلة للتنفيذ.
يوضح الشكل 7 استخدام رمز قفل للإشارة إلى أن الميزة مقفلة لأن المستخدم لم يمنح الإذن باستخدامها.
عندما يظهر مربّع حوار أذونات الأجهزة القابلة للارتداء الذي تم رفضه سابقًا للمرة الثانية، يتضمّن خيار الرفض، وعدم العرض مرة أخرى. إذا اختار المستخدم هذا الخيار، فإن الطريقة الوحيدة التي تتيح له لمنح هذا الإذن في المستقبل هي الانتقال إلى تطبيق الإعدادات في الجهاز القابل للارتداء.
مزيد من المعلومات حول كيفية التعامل مع رفض الأذونات
أذونات للخدمات
يمكن لأحد الأنشطة فقط استدعاء طريقة requestPermissions()
، لذلك إذا تفاعل المستخدم مع تطبيقك باستخدام خدمة، على سبيل المثال، من خلال خلفية شاشة ساعة، يجب أن تفتح الخدمة نشاطًا قبل طلب الإذن. في هذا النشاط، قم بتوفير تعليم إضافي حول
سبب الحاجة إلى الإذن.
بشكل عام، لا تطلب أذونات لخلفية شاشة الساعة. بدلاً من ذلك، نفِّذ إضافة واسمح للمستخدم باختيار البيانات التي سيتم عرضها من خلال الإضافة.
الإعدادات
يمكن للمستخدم تغيير أذونات تطبيق Wear OS في "الإعدادات" في أي وقت. عندما يحاول المستخدم تنفيذ إجراء يتطلب إذنًا، يمكنك أولاً استدعاء الطريقة checkSelfPermission()
لمعرفة ما إذا كان للتطبيق الإذن لتنفيذ العملية أم لا.
يمكنك إجراء هذا الفحص حتى إذا كان المستخدم قد منح الإذن في السابق، لأنه ربما يكون قد أبطله بعد ذلك.