توفّر الإشعارات للسائقين معلومات قصيرة وفي الوقت المناسب عن الأحداث من تطبيقك عندما لا يكون قيد الاستخدام. يمكن أن تظهر الإشعارات في
مركز الإشعارات، ويمكن أن تظهر بعض الإشعارات أيضًا
كإشعارات بانر على الشاشة. لإنشاء إشعارات لنظام التشغيل Android Automotive، عليك استخدام واجهة برمجة التطبيقات NotificationBuilder نفسها التي تستخدمها للأجهزة الأخرى. ومع ذلك، للمساعدة في ضمان سلامة السائقين وتقليل عوامل التشتيت، يتم حظر بعض طرق وصفوف واجهة برمجة التطبيقات أو تتصرف بشكل مختلف.
كيف تختلف الإشعارات في السيارات؟
لإنشاء بيئة قيادة آمنة وخالية من مصادر التشتيت، تختلف الإشعارات على نظام التشغيل Android Automotive عن الإشعارات على الأجهزة الأخرى بالطرق التالية:
- تبسيط تفاعل المستخدم
- قيود تجربة المستخدم استنادًا إلى حالة القيادة
تبسيط تفاعل المستخدم
للمساعدة في ضمان تركيز السائقين على الطريق، تتضمّن الإشعارات في السيارة نموذجًا مبسطًا لتفاعل المستخدمين مع الميزات التالية:
- لا تتضمّن عناصر تحكّم معقّدة
- لا تتيح الإشعارات عناصر تحكّم معقّدة، مثل النقر لتوسيع إشعار أو الضغط مع الاستمرار على إشعار لعرض خيارات إضافية أو استخدام عناصر تحكّم استنادًا إلى إيماءات طول التمرير السريع.
- أصوات الإشعارات
- لا تصدر الإشعارات صوتًا إلا إذا أدّت إلى ظهور إشعار منبثق.
يضيف نظام التشغيل Android Automotive تلقائيًا الزرَّين تشغيل وتجاهل إلى جميع إشعارات المراسلة المتوافقة مع السيارة.
- تشغيل: يقرأ الإشعار للسائق باستخدام المساعد الرقمي التلقائي للمستخدم، مثل Gemini أو "مساعد Google"، أو نظام تحويل النص إلى كلام التلقائي في السيارة.
تجاهل: يمنع ظهور الإشعارات المنبثقة لأي رسائل مستقبلية في المحادثة لبقية مدة القيادة. تستمر إشعارات الرسائل من محادثة تم تجاهلها في الظهور في "مركز الإشعارات"، ويمكن للسائق أيضًا إلغاء تجاهل المحادثة من "مركز الإشعارات".
- خيارات عرض الإشعارات المبسَّطة
لا تتوفّر
RemoteViewsوعرض المحتوى المخصّص. بالإضافة إلى ذلك، لا تتوافق أنماط الإشعارات التالية:إذا كان تطبيقك يرسل إشعارًا إلى نظام التشغيل Android Automotive باستخدام أحد أنماط الإشعارات هذه، سيتم عرض النص الموجز فقط.
- إدارة مبسّطة لقنوات الإشعارات
لا يتيح نظام التشغيل Android Automotive OS قنوات الإشعارات وعناصر واجهة المستخدم ذات الصلة، وذلك للحدّ من انتشار مهام الإدارة المتقدّمة في أجهزة Automotive.
قيود تجربة المستخدم استنادًا إلى حالة القيادة
يتضمّن نظام التشغيل Android Automotive محرك قيود تجربة المستخدم. يمكن لمصنّعي السيارات استخدام هذا المحرّك لحظر الإشعارات استنادًا إلى حالة القيادة في السيارة بالطرق التالية:
- اقتطاع سلاسل الإشعارات عند عدد أحرف معيّن
- إخفاء ملخّصات الرسائل لإشعارات
CATEGORY_MESSAGE - تقييد عدد الإشعارات التي يمكن أن يعرضها "مركز الإشعارات"
أنواع الموارد المتوافقة
يتيح نظام التشغيل Android Automotive OS بشكل تلقائي مجموعة فرعية محدودة من أنواع الموارد التي يمكن استخدامها للإشعارات على الأجهزة الأخرى. تتضمّن هذه المجموعة الفرعية أنواع الموارد التالية:
- عناصر قابلة للرسم
- الرموز
- الصور
متطلبات التوافق لإشعارات المراسلة
لتقديم تجربة مستخدم متّسقة وبأقل قدر ممكن من التشتيت، تتضمّن إشعارات المراسلة متطلبات خاصة على نظام التشغيل Android Automotive.
يكون إشعار المراسلة متوافقًا مع السيارة إذا استوفى المتطلبات التالية:
- ينتمي إلى فئة
CATEGORY_MESSAGE. - يستخدم هذا النمط
Notification.MessagingStyle. - وهي تتضمّن الرسائل غير المقروءة فقط.
يحتوي على زرّ "وضع علامة مقروءة"
Actionيستوفي المتطلبات التالية:- تم ضبط الإجراء الدلالي على
Action.SEMANTIC_ACTION_MARK_AS_READ. - يشير
Actionإلى أنّه لا يعرض أي واجهة مستخدم عند تشغيله.
- تم ضبط الإجراء الدلالي على
إذا كان الإشعار يتضمّن ردًا
Action، يجب أن يستوفيActionالمتطلبات التالية:- تم ضبط الإجراء الدلالي على
Action.SEMANTIC_ACTION_REPLY. - يشير
Actionإلى أنّه لا يعرض أي واجهة مستخدم عند تشغيله. - يحتوي
ActionعلىRemoteInputواحد.
- تم ضبط الإجراء الدلالي على
مركز الإشعارات
تظهر كل الإشعارات تقريبًا في "مركز الإشعارات"، حتى إذا تم عرضها أيضًا كإشعارات عائمة. تبقى الإشعارات في "مركز الإشعارات" طوال مدة الرحلة.
يمكن للسائقين التفاعل مع الإشعارات في "مركز الإشعارات". استنادًا إلى الشركة المصنّعة للسيارة، يمكن للسائقين الوصول إلى "مركز الإشعارات" بإحدى الطريقتَين التاليتَين أو كلتيهما:
- التمرير سريعًا من أعلى الشاشة إلى أسفلها، كما هو الحال مع مركز الإشعارات على الأجهزة الأخرى
- النقر على زر في واجهة النظام
الإشعارات المجمَّعة
يتم تلقائيًا تجميع الإشعارات ذات الصلة في "مركز الإشعارات"، كما هو الحال في درج الإشعارات على الأجهزة الأخرى. ومع ذلك، عندما ينقر السائق على ملخّص لمجموعة في "مركز الإشعارات"، سيتم توسيع المجموعة لعرض جميع إشعاراتها بدلاً من تشغيل PendingIntent.
الإشعارات التي لا تظهر في "مركز الإشعارات"
لا تظهر الإشعارات التالية في "مركز الإشعارات":
Media playbackالإشعارات يجمع نظام التشغيل Android Automotive معلومات حول تشغيل الوسائط الجاري ويعرضها في مكان مخصّص في واجهة المستخدم. يُرجى العِلم أنّه يجب استدعاءsetMediaSessionباستخدام رمز مميّز غير فارغ لكي يتعرّف النظام على الإشعار على أنّه تشغيل وسائط.- إشعارات التنقّل باتّجاهات مفصّلة للمكان
CATEGORY_NAVIGATION - إشعارات الخدمة التي تعمل في المقدّمة للتطبيقات التي لديها امتيازات على مستوى النظام والتطبيقات الموقَّعة باستخدام مفتاح النظام الأساسي والتي يكون مستوى أهميتها أقل من
IMPORTANCE_DEFAULT
الإشعارات المنبثقة
تظهر الإشعارات المنبثقة كبطاقة إشعار في أعلى الشاشة. بما أنّ التنبيهات الظاهرة على الشاشة تجذب انتباه السائق، لا تعرضها إلا إذا كانت المعلومات مهمة جدًا أثناء القيادة، أو حساسة للوقت، أو تتطلّب اتّخاذ إجراء. يمكن لفئات معيّنة فقط من الإشعارات أن تؤدي إلى ظهور إشعار بانر.
يمكن لمصنّعي السيارات تحديد ما إذا كانوا سيسمحون بعرض الإشعارات المنبثقة أثناء فتح "مركز الإشعارات".
كيفية إطلاق التطبيقات للإشعارات المنبثقة
تتضمّن التطبيقات متطلبات مختلفة لتفعيل إشعار بانر استنادًا إلى ما إذا كانت تتضمّن امتيازات النظام.
- التطبيقات التي تتطلّب امتيازات على مستوى النظام والتطبيقات الموقَّعة باستخدام مفتاح النظام الأساسي
- يمكن للتطبيق إطلاق تنبيه منبثق من خلال ضبط مستوى أهمية قناة الإشعارات على
IMPORTANCE_HIGHأو أعلى. - جميع التطبيقات الأخرى
يمكن للتطبيق إطلاق إشعار عائم من خلال ضبط أهمية قناة الإشعارات على
IMPORTANCE_HIGHأو أعلى والتأكّد من أنّ الإشعار ينتمي إلى إحدى الفئات التالية:
مراحل ظهور تنبيه
بعد أن يرسل تطبيق إشعارًا منبثقًا، يظهر الإشعار على الفور على شاشة السيارة. في حال عدم اتّخاذ السائق أي إجراء، سيتم إغلاق الإشعار التنبيهي تلقائيًا بعد 8 ثوانٍ، باستثناء الحالات التالية:
لا يمكن تجاهل التنبيهات المنبثقة لبعض المكالمات الواردة، ويبقى التنبيه المنبثق معروضًا إلى أن يقبل السائق المكالمة أو يتم إنهاؤها. لكي يكون الإشعار مؤهَّلاً لأن يكون إشعارًا تنبيهيًا لا يمكن تجاهله بشأن مكالمة واردة، يجب أن يستوفي المتطلبات التالية:
- تنتمي إلى
CATEGORY_CALL - ضبط بيان العرض بملء الشاشة
- أن يتم وضع علامة "جارٍ" عليها باستخدام طريقة
setOngoing()
- تنتمي إلى
ستبقى الإشعارات المنبثقة إذا عدّل التطبيق الإشعار خلال فترة الثماني ثوانٍ.
عند إغلاق تنبيه، يتم إدراج الإشعار في "مركز الإشعارات"، ما لم يكن إشعارًا CATEGORY_NAVIGATION.
التغييرات والقيود المفروضة على Notification API للسيارات
يلخّص هذا القسم الاختلافات لكل فئة تتصرف فيها واجهة برمجة التطبيقات Notifications بشكل مختلف أو تتضمّن قيودًا على نظام التشغيل Android Automotive.
Notification.Builder
يوضّح الجدولان 1 و2 التغييرات والقيود المفروضة على واجهة برمجة التطبيقات في الفئة Notification.Builder.
الجدول 1 تغييرات على الطرق العامة لـ Notification.Builder
| الإجراءات العامة | التأثير | الوصف |
|---|---|---|
|
|
عملية غير فعّالة شرطية | يجب أن تضيف إشعارات Notification.MessagingStyle الإجراءات المحدّدة في متطلبات التوافق. لن يتم عرض أي إجراءات إضافية تتم إضافتها كأزرار إشعارات. |
|
|
No-op | RemoteViews
ومشاهدات المحتوى المخصّص غير متاحة. |
|
|
No-op | شارات الإشعارات غير متاحة. |
|
|
No-op | مؤقتات العد التنازلي غير متاحة. |
setColorized() |
تم تغيير القيود |
التطبيقات الموقّعة من النظام الأساسي: يمكن ضبطها، ويتم السماح بها تلقائيًا. التطبيقات ذات امتيازات النظام: يتم ضبطها من خلال النظام الأساسي، ويتم حظرها تلقائيًا. جميع التطبيقات الأخرى: يتم ضبطها حسب النظام الأساسي، ويتم حظرها تلقائيًا. |
setFullScreenIntent() |
تم تغيير السلوك | لا يتم تشغيل الغرض تلقائيًا. |
setLargeIcon() |
تم تغيير السلوك | تظهر الرموز الكبيرة على الجانب الأيسر من الإشعار. |
setLights() |
No-op | لا تتضمّن أجهزة نظام التشغيل Android Automotive مصابيح LED مؤشّرة. |
setOngoing() |
تم تغيير السلوك |
يختلف السلوك عندما يؤدي الإشعار أيضًا إلى ظهور تنبيه. لا يمكن إغلاق الإشعار يمكن للسائقين إغلاق جميع الأنواع الأخرى من الإشعارات التنبيهية. |
|
|
No-op | الوضع الخاص غير متاح. |
setSettingsText() |
No-op | لا تتيح الإشعارات عناصر تحكّم تؤدي إلى إعدادات التطبيق. يمكن للسائقين الوصول إلى إعدادات التطبيق من خلال التطبيق بدلاً من ذلك. |
setTicker() |
No-op | لا يتوفّر نص شريط الأخبار. |
الجدول 2 التغييرات في الفئات الفرعية لـ "Notification.Builder"
| الصفوف المتداخلة | التأثير | الوصف |
|---|---|---|
|
|
لم يتم الاستخدام | يظهر نص الملخّص فقط. لا تتوفّر إشعارات مفصّلة لهذه الأنماط. |
Notification.BubbleMetadata |
لم يتم الاستخدام | الفقاعات غير متاحة. |
Notification.MediaStyle |
مخفية | يتم إخفاء الإشعارات بهذا النمط. يدير نظام التشغيل Android Automotive OS تفاعلات واجهة المستخدم مع إشعارات الوسائط وتشغيلها. |
Notification.MessagingStyle |
تم تغيير السلوك |
تختلف الإشعارات بهذا النمط في ما يلي:
|
|
|
لم يتم الاستخدام | لا يمكن استخدام أدوات التوسيع. |
Notification.Action.Builder
يوضّح الجدول 3 التغييرات والقيود المفروضة على واجهة برمجة التطبيقات في الفئة Notification.Action.Builder.
الجدول 3 تغييرات على الطرق العامة لـ Notification.Action.Builder
| الإجراءات العامة | التأثير | الوصف |
|---|---|---|
| طُرق وضع التصميم العامة | تم تغيير السلوك | يتم تجاهل الرموز المحدّدة في أدوات الإنشاء العامة. |
addRemoteInput |
تم تغيير السلوك | للحدّ من تشتيت انتباه السائق، يدرج مساعد رقمي، مثل Gemini أو "مساعد Google"، الردّ على الرسالة نيابةً عن المستخدم. لا يمكن للمستخدمين كتابة الرسائل. |
setAllowGeneratedReplies |
No-op | ميزة "الرد الذكي" غير متاحة. |