إذن الإخطار لإشعارات الاشتراك

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

تصف هذه الصفحة ما يجب على مصنعي المعدات الأصلية تنفيذه لدعم هذا التغيير وكيفية التحقق من صحة التنفيذ.

تنفيذ التغييرات على إشعارات الاشتراك

بدءًا من Android 13 ، يجب أن تعلن التطبيقات عن نيتها في إرسال الإشعارات من خلال طلب إذن وقت تشغيل android.permission.POST_NOTIFICATION من النظام قبل أن تتمكن من إرسال الإشعارات.

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

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

سلوك إشعارات المستخدم في نموذج الاشتراك

يوضح الجدول التالي سلوك الإشعارات لإصدارات التطبيقات المختلفة على جهاز يعمل بنظام Android 13:

الجهاز يعمل بنظام Android 13 التطبيقات التي تستهدف Android 13 أو أعلى تستهدف التطبيقات إصدارات أقدم من Android 13
تثبيت جديد يتم حظر الإخطارات حتى يطلبها التطبيق.

تتحكم التطبيقات في وقت طلب الإذن.

يتم حظر الإخطارات حتى يطلبها نظام التشغيل.

يتم طلب الإذن عند التشغيل الأول للتطبيق.

التطبيق الحالي (ترقية) الإخطارات مسموح بها حتى يطلبها التطبيق.

يتم منح إذن مؤقت حتى يسأل التطبيق عن الجولة التأهيلية الأولى.

الإخطارات مسموح بها حتى يطلبها نظام التشغيل.

يتم منح إذن مؤقت حتى التشغيل الأول للتطبيق.

مبادئ توجيهية للتنفيذ

لتنفيذ المرجع ، راجع خدمة الإعلام وخدمة الأذونات وخدمة السياسة . لتنفيذ استثناءات لمعالجات الأذونات الافتراضية ، راجع أذونات وقت التشغيل .

أثناء التنفيذ ، استخدم الإرشادات التالية حول سلوك إشعار المستخدم للتطبيقات التي تستهدف Android 13 أو أقل من SDK:

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

    • بالنسبة للتطبيقات التي تستهدف SDK لإصدارات Android 13 والإصدارات الأحدث ، إذا لم يخصص المستخدم إعدادات الإشعارات لهذا التطبيق مسبقًا على مستوى التطبيق أو NotificationChannel ، فقم بإلغاء منح الإذن المؤقت. يجب أن تطلب التطبيقات إذنًا من المستخدم قبل السماح له بمواصلة إرسال الإشعارات.

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

    • بالنسبة للتطبيقات التي تحتوي على SDK مستهدف لإصدارات أقل من Android 13 ، اعترض بدء تشغيل النشاط الأول بعد أن أنشأ التطبيق NotificationChannel واحدة على الأقل لإظهار مطالبة إذن يسأل عما إذا كان المستخدم يريد تلقي إشعارات من التطبيق.

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

  • يجب أن يكون النسخ الاحتياطي والاستعادة متوافقين مع الإصدارات السابقة والأمامية بين جهاز Android 13 وجهاز من إصدار سابق لنظام التشغيل. يجب استعادة بيانات النسخ الاحتياطي التي تم إنشاؤها من جهاز Android 13 إلى إصدار سابق لنظام التشغيل ، ويجب استعادة بيانات النسخ الاحتياطي من إصدار سابق لنظام التشغيل إلى جهاز Android 13.

  • يجب إعفاء إشعارات الوسائط المرتبطة بالتشغيل المستمر للوسائط من إذن الإخطار.

تحقق من صحة التغييرات في أنظمة الإعلام والإذن

للتحقق من صحة التنفيذ ، قم بإجراء الاختبارات التالية: