ضبط الإشعارات الفورية عن العرقلة
الإشعارات الفورية عن العرقلة هي مجموعة من الميزات التي تنبّه المستخدمين بشأن العرقلة على طول مسارهم وتسمح لهم بالإبلاغ عن العرقلة التي يواجهونها والتحقّق منها. تشمل أمثلة العرقلة حوادث المركبات والازدحام المروري ومراكز الشرطة وكاميرات لمراقبة السرعة والأعمال الإنشائية وإغلاق المسارات وبعض الأحوال الجوية. توضّح هذه الصفحة ميزات الإشعارات الفورية عن العرقلة وخيارات ضبطها، بما في ذلك الاعتبارات الخاصة بالتطبيقات التي تستخدم واجهات مستخدم مخصّصة للتنقّل.
ميزات الإشعارات الفورية عن العرقلة
تتضمّن حزمة تطوير البرامج للتنقّل الميزات التالية للإشعارات الفورية عن العرقلة كجزء من تجربة التنقّل الأساسية:- تحذيرات تفاعلية حول العرقلة على طول الطريق.
- تنبيهات تلقائية عن العرقلة مع إمكانية التصويت أثناء التنقّل النشط.
- الإبلاغ عن العرقلة أثناء التنقّل النشط.
يمكن ضبط هذه الميزات وهي مفعّلة تلقائيًا. تقدّم الأقسام التالية مزيدًا من المعلومات عن الميزات وخيارات الضبط المتاحة.
تحذيرات تفاعلية حول العرقلة على طول الطريق
عندما يعرض تطبيق مسارًا، سواء في نظرة عامة على المسار أو أثناء التنقّل النشط، تظهر أي عرقلة حالية كتحذيرات على طول المسار. تتضمّن التحذيرات رمزًا يشير إلى نوع العرقلة.
يمكنك التحكّم في عرض تحذيرات العرقلة على طول المسارات باستخدام setTrafficPromptsEnabled ، التي تتحكّم أيضًا في عرض التنبيهات التلقائية عندما يقترب المستخدم من عرقلة.
// Using the SupportNavigationFragment mNavFragment.setTrafficPromptsEnabled(true); // Using the NavigationView navigationView.setTrafficPromptsEnabled(true);
عرض تفاصيل العرقلة عندما ينقر المستخدم على تحذير
يمكن للمستخدمين النقر على تحذير لعرض بطاقة معلومات تتضمّن مزيدًا من المعلومات عن العرقلة، بما في ذلك نوع العرقلة والوقت الذي تم فيه الإبلاغ عنها آخر مرة، وفي بعض الحالات، خيار للتصويت على ما إذا كانت العرقلة لا تزال قائمة. يتوفّر نوعان مختلفان من بطاقات المعلومات التي قد تظهر، وذلك حسب ما إذا كان المستخدم في وضع التنقّل النشط، وتختلف خيارات الضبط لكل نوع.
بطاقات معلومات التحذيرات في النظرات العامة على المسار، قبل بدء التنقّل النشط
عندما ينقر المستخدم على تحذير في نظرة عامة على المسار، قبل بدء التنقّل النشط، تظهر بطاقة معلومات تتضمّن مزيدًا من المعلومات عن العرقلة.
يمكنك التحكّم في قدرة المستخدمين على النقر على تحذيرات العرقلة في النظرات العامة على المسار لعرض مزيد من
المعلومات باستخدام
setTrafficIncidentCardsEnabled
.
// Using the SupportNavigationFragment mNavFragment.setTrafficIncidentCardsEnabled(true); // Using the NavigationView navigationView.setTrafficIncidentCardsEnabled(true);
بطاقات معلومات التحذيرات أثناء التنقّل النشط
عندما يظهر تحذير عن عرقلة على طول مسار أثناء التنقّل النشط، يمكن للمستخدمين النقر على التحذير لعرض بطاقة معلومات تتضمّن مزيدًا من المعلومات عن العرقلة، بما في ذلك نوع العرقلة والوقت الذي تم فيه الإبلاغ عنها آخر مرة، بالإضافة إلى أزرار للتصويت على ما إذا كانت العرقلة لا تزال قائمة. تتم معالجة الأصوات التي يقدّمها المستخدمون من قِبل Google وقد تظهر على الخريطة لمستخدمي "خرائط Google" الآخرين ومستخدمي حزمة تطوير البرامج للتنقّل، كما تُستخدم لتحديد ما إذا كان سيتم الاستمرار في عرض العرقلة.
يمكنك التحكّم في عرض تحذيرات العرقلة وإمكانية النقر عليها أثناء التنقّل النشط باستخدام
setTrafficPromptsEnabled
، التي تتحكّم أيضًا في
عرض التحذيرات على طول المسارات و
عرض التنبيهات التلقائية عندما يقترب المستخدم من عرقلة.
// Using the SupportNavigationFragment mNavFragment.setTrafficPromptsEnabled(true); // Using the NavigationView navigationView.setTrafficPromptsEnabled(true);
تنبيهات تلقائية عن العرقلة مع إمكانية التصويت أثناء التنقّل النشط
أثناء التنقّل النشط، عندما يقترب المستخدم من عرقلة على طول مسار، يظهر طلب يتضمّن معلومات عن العرقلة وأزرارًا للتصويت على ما إذا كانت العرقلة لا تزال قائمة. تتم معالجة الأصوات التي يقدّمها المستخدمون من قِبل Google وقد تظهر على الخريطة لـ مستخدمي "خرائط Google" وحزمة تطوير البرامج للتنقّل الآخرين، كما تُستخدم لتحديد ما إذا كان سيتم الاستمرار في عرض العرقلة.
يمكنك ضبط عرض طلبات التنبيهات أثناء التنقّل النشط باستخدام
setTrafficPromptsEnabled
، التي تتحكّم أيضًا في عرض
التحذيرات على طول المسارات.
// Using the SupportNavigationFragment mNavFragment.setTrafficPromptsEnabled(true); // Using the NavigationView navigationView.setTrafficPromptsEnabled(true);
الإبلاغ عن العرقلة أثناء التنقّل النشط
أثناء وضع التنقّل النشط، يظهر زر في واجهة مستخدم التنقّل يسمح للمستخدمين بالإبلاغ عن عرقلة جديدة على طول مسارهم. عندما ينقر المستخدم على الزر، تظهر قائمة بأنواع العرقلة المتاحة للإبلاغ عنها. تتم معالجة التقارير التي يقدّمها المستخدمون من قِبل Google وقد تظهر على الخريطة لمستخدمي "خرائط Google" وحزمة تطوير البرامج للتنقّل الآخرين.
إظهار زر الإبلاغ العادي أو إخفاؤه
يمكنك ضبط مدى ظهور زر الإبلاغ العادي أثناء التنقّل النشط باستخدام
setReportIncidentButtonEnabled
.
// Enables the incident reporting button to show in situations where incident // reporting is possible. // Using the SupportNavigationFragment mNavFragment.setReportIncidentButtonEnabled(true); // Using the NavigationView navigationView.setReportIncidentButtonEnabled(true);
إضافة زر إبلاغ مخصّص
بدلاً من زر الإبلاغ العادي عن العرقلة، يمكنك إضافة زر إبلاغ مخصّص إلى واجهة مستخدم التنقّل. عندما ينقر المستخدم على الزر المخصّص، يمكنك عرض قائمة الإبلاغ
من خلال استدعاء طريقة showReportIncidentsPanel. قبل إضافة زر إبلاغ مخصّص
، تأكَّد من أنّ التطبيق في وضع التنقّل النشط وأنّ المستخدم موجود في بلد تم فيه تفعيل ميزة الإبلاغ
من خلال استدعاء isIncidentReportingAvailable. إذا لم يتحقّق أي من هذين الشرطين،
لن تظهر قائمة الإبلاغ.
Button customReportIncidentButton = findViewById(R.id.custom_reporting_button); // Check if reporting is available before displaying your button customReportIncidentButton.setVisibility( navigationView.isReportingAvailable ? View.VISIBLE : View.GONE); // Trigger the reporting flow if the button is clicked customReportIncidentButton.setOnClickListener(v -> navigationView.showReportIncidentsPanel());
العمل مع واجهات مستخدم مخصّصة للتنقّل
إذا كان تطبيقك يستخدم حزمة تطوير البرامج للتنقّل ويتضمّن عناصر واجهة مستخدم مخصّصة، عليك مراعاة عناصر الإشعارات الفورية عن العرقلة لتجنُّب التعارضات.
تحديد موضع زر الإبلاغ
يتم تلقائيًا وضع زر الإبلاغ عن العرقلة في أسفل الزاوية الأخيرة من الخريطة، أي على الجانب الأيسر للّغات التي تُكتب من اليمين إلى اليسار والجانب الأيمن للّغات التي تُكتب من اليسار إلى اليمين. إذا كنت بحاجة إلى نقل زر الإبلاغ لإفساح المجال لعناصر واجهة مستخدم مخصّصة، أضِف عنصر تحكّم مخصّصًا من النوعBOTTOM_END_BELOW أو FOOTER، ما سيؤدي إلى دفع
موضع الزر للأعلى على الشاشة. يضمن وضع واجهات المستخدم المخصّصة ضمن عناصر التحكّم المخصّصة أيضًا أن يتم عرض أي طلبات تعرضها حزمة تطوير البرامج للتنقّل بشكل صحيح فوق عناصر واجهة المستخدم المخصّصة أثناء عرضها. إذا لم تتمكّن من استخدام عناصر التحكّم المخصّصة، استخدِم الـ
Prompt Visibility API لإدارة التعارضات المحتملة في واجهة المستخدم.
واجهة برمجة التطبيقات Prompt Visibility API (تجريبية)
تساعدك واجهة برمجة التطبيقات Prompt Visibility API في تجنُّب التعارضات بين عناصر واجهة المستخدم التي تنشئها حزمة تطوير البرامج للتنقّل وعناصر واجهة المستخدم المخصّصة من خلال إضافة متتبِّع لتلقّي عملية استدعاء قبل ظهور عنصر في واجهة المستخدم في حزمة تطوير البرامج للتنقّل مباشرةً وبمجرد إزالة العنصر. يمكنك تلقّي عمليات استدعاء لعناصر الإشعارات الفورية عن العرقلة، بما في ذلك بطاقات المعلومات والطلبات وقائمة الإبلاغ عن العرقلة، بالإضافة إلى الإشعارات الأخرى التي تنشئها حزمة تطوير البرامج للتنقّل.// Sample listener val listener: PromptVisibilityChangedListener = { isVisible -> if (isVisible) { customFab.visibility = false customFooter.visibility = false moveSomeOtherThingsAround() } else { customFab.visibility = true customFooter.visibility = true moveSomeThingsBackToWhereTheyWereBefore() } } // Inside onCreate() navigationView.addPromptVisibilityChangedListener(listener) // Inside onDestroy() navigationView.removePromptVisibilityChangedListener(listener)