تستخدم الإشعارات في Android 13 نموذج موافقة، والذي هو تغيير عن إصدارات Android السابقة التي تستخدم نموذج إلغاء الاشتراك. ضِمن Android 13، على جميع التطبيقات طلب الإذن من المستخدمين قبل إرسال مطالبات الإشعارات. يساعد هذا النموذج في تقليل عدد الإشعارات المقاطعات، ويقلل من الحمل الزائد للمعلومات، ويساعد المستخدمين في التحكم في تظهر حسب ما هو مهم بالنسبة إليهم. لدعم نموذج موافقة المستخدم، على المصنّعين الأصليين للأجهزة تنفيذ التغييرات في الإشعار ووقت التشغيل وأنظمة الأذونات.
توضّح هذه الصفحة الإجراءات التي يجب أن يتّبعها المصنّعون الأصليون للأجهزة لتنفيذ هذا التغيير. للتحقق من صحة التنفيذ.
تطبيق التغييرات على إشعارات التفعيل
بدءًا من نظام التشغيل Android 13، على التطبيقات تقديم بيان عن
تنويه إرسال إشعارات من خلال طلب
android.permission.POST_NOTIFICATION
إذن التشغيل من النظام قبل أن يتمكن من إرسال الإشعارات.
في Android 13 والإصدارات الأحدث، يحدد الإعداد الذي يحدد ما إذا كان يمكن للتطبيق إرسال إشعارات إلى المستخدم إذا كان مخزّنًا في نظام الأذونات في الإصدارات السابقة لنظام Android 13، كان هذا الإعداد يُخزَّن في نظام الإشعارات. وبالتالي، على المصنّعين الأصليين للأجهزة نقل بيانات الإشعارات الحالية. حول ما إذا كان مسموحًا للتطبيق بإرسال إشعارات، من الإشعار النظام إلى نظام أذونات وقت التشغيل. على المصنّعين الأصليين للأجهزة أيضًا الاحتفاظ بواجهات برمجة التطبيقات الحالية. في نظام الإشعارات الذي يعرض هذه البيانات لمطوّري التطبيقات.
تستند التغييرات في أنظمة الإشعارات والأذونات إلى نموذج الموافقة الخاص بسلوك إشعارات المستخدم الموضحة في قسم إرشادات التنفيذ.
سلوك إشعارات المستخدم في نموذج الموافقة
يوضح الجدول التالي سلوك الإشعار لمختلف التطبيقات الإصدارات على جهاز يعمل بنظام التشغيل Android 13:
جهاز يعمل بنظام التشغيل Android 13 | التطبيقات التي تستهدف الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث | التطبيقات التي تستهدف إصدارات أقدم من Android 13 |
---|---|---|
عملية تثبيت جديدة | يتم حظر الإشعارات إلى أن يطلب التطبيق ذلك.
تتحكم التطبيقات في وقت طلب الإذن. |
يتم حظر الإشعارات إلى أن يطلب نظام التشغيل ذلك.
يتم طلب الإذن عند أول تشغيل للتطبيق. |
تطبيق حالي (الترقية) | يتم السماح بالإشعارات إلى أن يطلب التطبيق ذلك.
يتم منح إذن مؤقت إلى أن يطلب التطبيق أول تشغيل مؤهل. |
يتم السماح بالإشعارات إلى أن يطلب نظام التشغيل ذلك.
ويتم منح إذن مؤقت إلى أن يتم تشغيل التطبيق لأول مرة. |
إرشادات التنفيذ
للإشارة إلى التنفيذ، يُرجى الرجوع إلى خدمة الإشعارات خدمة الأذونات خدمة السياسات: لتطبيق الاستثناءات بالنسبة إلى معالجات الأذونات التلقائية، يمكنك الاطّلاع على أذونات التشغيل:
اتّباع الإرشادات التالية في إشعارات المستخدم أثناء التنفيذ بالنسبة إلى التطبيقات التي تستهدف حِزم تطوير البرامج (SDK) لنظام التشغيل Android 13 أو الإصدارات الأقدم:
- التطبيقات المثبّتة حديثًا على جهاز Android 13:
عدم إرسال إشعار بدون موافقة المستخدم على طلب الإذن
- إذا كان التطبيق يستهدف الإصدارات 13 من Android أعلى، يجب حظر الإشعارات إلى أن يطلب التطبيق منك الوصول إليها للتحكم في وقت وما إذا كان يتم طلب إذن المستخدم.
- إذا كان التطبيق يستهدف إصدارات أقل من Android 13، يجب حظر الإشعارات حتى الذي يطلبه نظام التشغيل. يجب أن يعرض نظام التشغيل طلب الإذن عند التشغيل الأول التطبيق.
يشير هذا المصطلح إلى أي تطبيق كان متوفّرًا على الجهاز قبل الترقية إلى. نظام التشغيل Android 13 أو أي تطبيق تمت استعادته من خلال الاحتفاظ بنسخة احتياطية واستعادتها، يجب السماح له بإرسال الإشعارات حتى المرة الأولى التي ينقر فيها المستخدم يطلق نشاطًا من هذا التطبيق.
التطبيقات التي تستهدِف حزمة تطوير البرامج (SDK) للإصدارات Android 13 وأعلى، إذا لم يسبق للمستخدم تخصيص إعدادات الإشعارات هذا التطبيق على مستوى التطبيق أو مستوى
NotificationChannel
، يمكنك إبطال الأذونات منح إذن. يجب أن تطلب التطبيقات من المستخدم إذن الوصول قبل أن يتم مواصلة إرسال الإشعارات.إذا لم يكن التطبيق الذي تمت ترقيته يستهدف الإصدار 13 من نظام التشغيل Android لديهم حاليًا إذن إرسال الإشعارات من خلال الترقية المؤقتة وقد شغّله المستخدم مرة واحدة على الأقل، يجب أن يعرض التطبيق طلب إذن إرسال الإشعارات قبل السماح بتشغيل أي محتوى إضافي في المقدّمة
بالنسبة إلى التطبيقات التي تتضمّن إصدارات أقل من حزمة SDK المستهدَفة الإصدار 13 من نظام التشغيل Android اعتراض بدء أول نشاط بعد أن يُنشئ التطبيق
NotificationChannel
واحد على الأقل لعرض طلب الحصول على إذن لمعرفة ما إذا كان المستخدم يريد تلقّي إشعارات من التطبيق.إذا خصص المستخدم إعدادات الإشعارات مسبقًا في في التطبيق أو المستوى
NotificationChannel
لتطبيق على الجهاز الذي تتم ترقيته أو في التي تتم استعادة النسخة الاحتياطية منها على الجهاز، يجب نقل الإعداد على مستوى التطبيق إلى نظام الأذونات الذي يحمل العلامةFLAG_PERMISSION_USER_SET
. لا مزيد من الإجراءات يجب عرض إشعار بإذن إرسال الإشعارات للمستخدم إلا إذا كان التطبيق أن تكون على وجه التحديد.
يجب أن تكون النسخ الاحتياطي والاستعادة متوافقة مع الأنظمة القديمة والأمامية جهاز Android 13 وجهاز يعمل بنظام تشغيل سابق . بيانات النسخة الاحتياطية التي تم إنشاؤها من إصدار Android 13 أن تتم استعادة جهازك إلى إصدار سابق من نظام التشغيل وأن يتم الاحتفاظ بنسخة احتياطية من البيانات من إصدار سابق يجب استعادة إصدار نظام التشغيل على جهاز Android 13.
يجب استثناء إشعارات الوسائط المرتبطة بالتشغيل الجاري للوسائط من إذن إرسال الإشعارات
التحقّق من صحة التغييرات التي يتم إجراؤها على أنظمة الإشعارات والأذونات
للتحقّق من صحة التنفيذ، يمكنك إجراء الاختبارات التالية:
اختبارات الوحدة كما هو محدّد في
PreferencesHelperTest
،NotificationManagerServiceTest
أي اختبار يدوي يختبر الترقيات والنسخ الاحتياطي والاستعادة.
أي اختبار لإذن CTS ونظام الإشعارات الذي يرسل الإشعارات. تتوفّر بعض هذه الاختبارات في cts/tests/tests/permission/. NotificationManagerTest.java، وcts/tests/tests/newsletterlegacy/.