تقدّم "التحديثات المباشرة" ملخّصًا للتحديثات المهمة كي يتمكّن المستخدمون من تتبُّع مستوى التقدّم بدون فتح التطبيق. يروّج النظام لإشعارات "التحديثات المباشرة"، مع أنّه يمكن للمستخدمين إغلاق إشعار "التحديثات المباشرة" مؤقتًا أو خفض ترتيبه إلى إشعار عادي. تظهر الإشعارات الترويجية بشكلٍ بارز على مساحات عرض النظام، بما في ذلك أعلى درج الإشعارات وشاشة القفل، وكشريحة في شريط الحالة. يجب أن تتّبع إشعارات التغطية المباشرة للأخبار مبادئ الإشعارات لتقديم معلومات موجزة وفي الوقت المناسب وذات صلة.
تتّسم بطاقات الإشعارات التي يتم الترويج لها بالخصائص التالية:
- موسَّعة تلقائيًا
- غير قابلة للتصغير
يجب أن يستوفي إشعارك المتطلّبات التالية ليُعتبر تحديثًا فوريًا:
- يجب أن يكون النمط العادي أو
BigTextStyleأوCallStyleأوProgressStyleأوMetricStyle. - يجب طلب الإذن التالي غير المرتبط بإذن التشغيل في ملف بيان Android
android.permission.POST_PROMOTED_NOTIFICATIONS. - يجب طلب الترقية باستخدام
EXTRA_REQUEST_PROMOTED_ONGOINGأوNotificationCompat.Builder#setRequestPromotedOngoing. - يجب أن تكون
ongoing(اضبطFLAG_ONGOING_EVENT). - يجب ضبط السمة
contentTitle. - يجب ألا يكون لديه أي مجموعة
customContentView(بدونRemoteViews). - يجب ألا يكون ملخّصًا لمجموعة تستخدم
setGroupSummary. - يجب ألا
setColorizedإلىTRUE. - يجب ألّا تحتوي قناة الإشعارات على
IMPORTANCE_MIN.
خصائص العرض الترويجي
تساعدك واجهات برمجة التطبيقات التالية في تحديد ما إذا كان النظام سيرقّي إشعارك:
- يشير
Notification.FLAG_PROMOTED_ONGOINGإلى ما إذا كان الإشعار قد تمّت ترقيته. - يتحقق
Notification.hasPromotableCharacteristics()مما إذا كان بإمكان النظام ترقية الإشعار. لا تأخذ هذه الطريقة في الاعتبار ما إذا كان المستخدم قد أوقف ميزة "التحديثات الفورية" للتطبيق في الإعدادات. - يتحقّق
NotificationManager.canPostPromotedNotifications()مما إذا كان بإمكان تطبيقك نشر إشعار ترويجي، على سبيل المثال، إذا فعّله المستخدم أو أوقفه في الإعدادات. -
Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONSهو إجراء intent يسمح للتطبيقات بتوجيه المستخدمين إلى "الإعدادات" لتفعيل هذه الميزة.
معايير الاستخدام
استخدِم ميزة "التغطية المباشرة للأخبار" للأنشطة الجارية التي يبدأها المستخدمون والتي تتطلّب دقة في التوقيت.
مستمر
يجب أن يمثّل "التحديث الفوري" نشاطًا جارٍ تنفيذه، مع تحديد وقت بدء ووقت انتهاء واضحَين. إذا حدث نشاط في الماضي، لا تستخدِم ميزة "التحديثات الفورية". بدلاً من ذلك، استخدِم إشعارًا عاديًا. وينطبق ذلك أيضًا على الأحداث التي لم تبدأ بعد، على الرغم من أنّ الأحداث التي أوشكت على البدء يمكن أن تستخدم ميزة "التحديثات الفورية".
تعرِض ميزة "التحديثات الفورية" الأنشطة المستمرة في الخلفية. لا تستخدِم ميزة "التحديثات الفورية" لتوفير إمكانية الوصول المُسرَّع إلى وظائف التطبيق. إذا أردت إجراء ذلك، استخدِم تطبيقًا صغيرًا أو مربّع إعدادات سريعة مخصّصًا.
- الاستخدامات المناسبة: التنقّل النشط والمكالمات الهاتفية الجارية وتتبّع مشاركة الرحلة وتوصيل الطعام
- الاستخدامات غير الملائمة: الإعلانات والعروض الترويجية ورسائل المحادثة والتنبيهات والأحداث القادمة في التقويم والوصول السريع إلى ميزات التطبيق
الأنشطة التي يبدأها المستخدم
يجب أن تمثّل معظم "التحديثات الفورية" الأنشطة التي يبدأها المستخدم صراحةً، مثل بدء تمرين أو بدء التنقّل بالسيارة أو طلب سيارة أجرة. لا تعرض معلومات محيطة، مثل معلومات عن البيئة أو الاهتمامات أو الأحداث القادمة للمستخدم، في تحديث فوري. لا تسمح بإنشاء "تحديثات فورية" من الأنشطة التي تبدأها أطراف أخرى.
في بعض الأحيان، قد يتّخذ المستخدِم إجراءً يؤدي إلى بدء نشاط في وقت ما في المستقبل. على سبيل المثال، إذا اشترى المستخدم تذاكر لرحلة جوية أو حفلة موسيقية، أو اشترك في بطولة، أو أشار بطريقة أخرى إلى مشاركته في حدث مستقبلي مرتبط بوقت معيّن. في هذه الحالات، قد يكون من المناسب عرض تحديث فوري تلقائيًا عند بدء الحدث المقرّر. ومع ذلك، على التطبيقات تعديل عوامل التفعيل بحيث لا تظهر إلا عندما يكون النشاط وشيكًا. إذا أشار العميل صراحةً إلى أنّه يريد بدء مراقبة حدث في الخلفية، مثل مباراة رياضية، يمكنك بدء نشر آخر الأخبار عن هذا الحدث. ومع ذلك، يجب أيضًا تضمين إجراء إزالة التثبيت في الإشعار المرتبط.
عرض الإشعار في الوقت المناسب
لا تعرض "تحديثًا فوريًا" إلا إذا كان يتطلّب انتباه المستخدم طوال النشاط. من حالات الاستخدام الرئيسية لميزة "التحديثات الفورية" هي المراقبة، عندما يحصل المستخدم على فائدة كبيرة من إلقاء نظرة سريعة على "آخر الأخبار" لتتبُّع الحالة المتغيّرة للنشاط.
غالبًا ما يكون "التحديث الفوري" مناسبًا للأنشطة التي تنتقل بين "التحديثات الفورية" والإشعارات العادية. على سبيل المثال، يكون عرض إشعار بشأن بطاقة صعود الطائرة مناسبًا قبل ساعات عديدة من موعد رحلة المستخدم، ولكن يجب أن يصبح الإشعار "تحديثًا فوريًا" فقط عندما يكون لدى المستخدم حاجة ملحّة، مثل وصوله إلى المطار أو المكان أو بعد بدء صعود الطائرة. في المقابل، لا يكون "التحديث الفوري" مناسبًا لتتبُّع حزمة لأنّه لا يحتاج المستخدم إلى مراقبتها باستمرار.
ممارسات تجربة المستخدم
استخدِم رمز التتبُّع لتصوُّر الحالة. ويمكن تعديل هذه المعلومات بشكل ديناميكي.
عندما يكون الوقت المقدَّر للوصول قيد الاحتساب أو غير متاح بعد، لا تعرض حالة فارغة. يجب توفير نص مؤقت نشط مثل "جارٍ التفكير..." أو "جارٍ إعادة التوجيه..." للإشارة إلى أنّ النظام يعمل، كما هو موضّح في المثال.
شرائح الحالة
تسمح شرائح الحالة للمستخدمين بتتبُّع "التحديثات الفورية" عندما يكون الإشعار
غير معروض. استخدِم setShortCriticalText أو setWhen لإرسال
معلومات الحالة المهمة بشأن الإشعار الذي يركز على مستوى التقدّم.
Notification.Builder#setSmallIcon.
Notification.Builder#setShortCriticalText لعرض الوقت المطلق.
Notification.Builder#setShortCriticalText لنقل المعلومات المهمة.عندما يحين الوقت
هو الوقت الذي يبدأ فيه العد التنازلي لمدة ظهور الإشعار، ما لم يتم إغلاق الإشعار أو تعديله. تصف النقاط التالية كيفية عمل الوقت في المواقف المختلفة:
- إذا كان الوقت المحدّد في المستقبل بعد دقيقتَين على الأقل: إذا كان الوقت الحالي هو 10:05 صباحًا وتم ضبط الوقت المحدّد على 10:10 صباحًا، ستعرض الشريحة 5 دقائق.
- عندما يكون الوقت في الماضي: لا يظهر النص.
- يمكن عرض موقّت في الشريحة عند استخدام Chronometer لعرض الوقت.
يمكنك الاطّلاع على
setUsesChronometerوsetChronometerCountdown. يظهر مؤقت Chronometer في الشريحة طالما أنّه موجب. - إذا كنت لا تريد عرض وقت الإشعار: استخدِم
setShowWhenإلىFALSE.
مظهر شريحة الحالة
تتضمّن شريحة الحالة دائمًا رمزًا، ويمكن أن تتضمّن نصًا أيضًا. يبلغ الحد الأقصى لعرض الشريحة 96 بكسل مستقل الكثافة. لن يظهر النص إلا إذا كان النص بأكمله مناسبًا في الشريحة. يتم عرض النص استنادًا إلى المعايير التالية:
- إذا كان النص يضم أقل من 7 أحرف، اعرض النص بأكمله.
- إذا كان سيتم عرض أقل من نصف النص، اعرض الرمز فقط.
- إذا كان سيتم عرض أكثر من نصف النص، اعرض أكبر قدر ممكن من النص.
Wear OS
يتم ربط "التغطية المباشرة للأخبار" ببعض أجهزة Wear OS المتصلة. للحصول على إرشادات حول سلوك الربط هذا، بالإضافة إلى إرشادات حول كيفية إنشاء "تغطية مباشرة للأخبار" محلية لنظام التشغيل Wear OS، يُرجى الاطّلاع على دليل "التغطية المباشرة للأخبار" في Wear OS.
Dismissal
يمكن للمستخدمين التحكّم في مستوى ظهور الإشعارات في مركز الإشعارات. قد يؤدي نشر "تحديثات فورية" غير مرغوب فيها إلى أن يبطل المستخدمون إذن نشر التطبيق.
لمنع المستخدمين من إيقاف ميزة "التحديثات الفورية" نهائيًا، تجنَّب نشر تحديثات
قد يغلقها المستخدمون. لا تُعيد نشر "التحديثات الفورية" التي أغلقها المستخدم. استخدِم
setDeleteIntent لرصد التحديثات التي تم تجاهلها.
يمكنك الاطّلاع على نموذج التطبيق لتجربة واجهات برمجة التطبيقات هذه.
الأسئلة الشائعة
السؤال: ما هي النقطة البيضاء في نهاية شريط التقدّم؟
الإجابة: تشير النقطة البيضاء في نهاية شريط التقدم بصريًا إلى نهاية شريط التقدم.
السؤال: لماذا لا تتوفّر الإشعارات المخصّصة في ميزة "التغطية المباشرة للأخبار"؟
الإجابة: تجعل الإشعارات المخصّصة الاختبار المتسق وتجربة المستخدم أمرًا صعبًا، لأنّ سلوكها يختلف بشكل كبير باختلاف إصدارات Android والشركات المصنّعة للأجهزة. تجنَّب الإشعارات المخصّصة باستخدام RemoteViews.