إذن إرسال الإشعارات للموافقة على تلقّيها

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

توضّح هذه الصفحة الإجراءات التي يجب أن تتّخذها المصنّعين الأصليّين للأجهزة لتفعيل هذا التغيير وكيفية التحقّق من صحة التنفيذ.

تنفيذ التغييرات على الإشعارات التي تتطلب الموافقة

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

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

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

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

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

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

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

يتم حظر الإشعارات إلى أن يطلب منك نظام التشغيل ذلك.

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

التطبيق الحالي (ترقية) يُسمح بظهور الإشعارات إلى أن يطلب التطبيق ذلك.

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

يُسمح بعرض الإشعارات إلى أن يطلب نظام التشغيل ذلك.

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

إرشادات التنفيذ

للاطّلاع على مرجع التنفيذ، يُرجى الرجوع إلى خدمة الإشعارات و خدمة الأذونات و خدمة السياسات. لتنفيذ استثناءات لمعالِجي الأذونات التلقائية، يُرجى الاطّلاع على أذونات التشغيل.

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

  • يجب ألا تُرسِل التطبيقات المثبَّتة حديثًا على جهاز Android 13 إشعارًا بدون موافقة المستخدم على طلب الحصول على الإذن.
    • إذا كان التطبيق يستهدف الإصدار 13 من Android والإصدارات الأحدث، يجب حظر الإشعارات إلى أن يطلب التطبيق ذلك، لأنّ التطبيق هو الذي يتحكم في وقت طلب إذن المستخدم وما إذا كان سيطلبه.
    • إذا كان التطبيق يستهدف إصدارات أقل من 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.

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

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

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