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

يمكنك التحكّم في عرض وسيلة الشرح الخاصة بالتعطّل على طول الطرق باستخدام 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" ومستخدمي Navigation SDK الآخرين، كما تُستخدم لتحديد ما إذا كان سيتم مواصلة عرض العرقلة.

يمكنك التحكّم في عرض مربّعات الشرح الخاصة بالتعطّل وإمكانية النقر عليها أثناء التنقّل النشط باستخدام
setTrafficPromptsEnabled
، والذي يتحكّم أيضًا في
عرض مربّعات الشرح على طول الطرق و
عرض التنبيهات التلقائية عندما يقترب المستخدم من تعطّل.
// Using the SupportNavigationFragment mNavFragment.setTrafficPromptsEnabled(true); // Using the NavigationView navigationView.setTrafficPromptsEnabled(true);
تنبيهات آلية بشأن الأعطال مع إمكانية التصويت أثناء التنقّل النشط
أثناء التنقّل النشط، عندما يقترب المستخدم من عائق على طول الطريق، يظهر طلب يتضمّن معلومات حول العائق وأزرار للتصويت على ما إذا كان العائق لا يزال موجودًا. تُعالج Google الأصوات التي يرسلها المستخدمون، وقد تظهر على الخريطة لمستخدمي حزمة تطوير البرامج (SDK) الخاصة بـ "خرائط Google" و"التنقّل"، كما تُستخدم لتحديد ما إذا كان سيتم مواصلة عرض العرقلة.

يمكنك ضبط طريقة عرض طلبات التنبيه أثناء التنقّل النشط باستخدام
setTrafficPromptsEnabled
، الذي يتحكّم أيضًا في طريقة عرض وسائل الشرح على طول الطرق.
// Using the SupportNavigationFragment mNavFragment.setTrafficPromptsEnabled(true); // Using the NavigationView navigationView.setTrafficPromptsEnabled(true);
الإبلاغ عن عرقلة أثناء التنقّل النشط
أثناء وضع التنقّل النشط، يظهر زر في واجهة مستخدم التنقّل يتيح للمستخدمين الإبلاغ عن أي عوائق جديدة على طول طريقهم. عندما ينقر المستخدم على الزر، تظهر قائمة بأنواع المشاكل المتاحة للإبلاغ عنها. تتم معالجة البلاغات التي يرسلها المستخدمون من قِبل Google، وقد تظهر على الخريطة لمستخدمي حزمة تطوير البرامج لتطبيق "خرائط Google" وNavigation SDK الآخرين.


إظهار زر التقارير العادية أو إخفاؤه
يمكنك ضبط إعدادات ظهور زر التقارير العادية أثناء التنقّل النشط باستخدام
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());
العمل باستخدام واجهات مستخدم مخصّصة للتنقّل
إذا كان تنفيذك لحزمة Navigation SDK يتضمّن عناصر واجهة مستخدم مخصّصة، عليك مراعاة عناصر التعطيل في الوقت الفعلي لتجنُّب حدوث تعارضات.
موضع زر الإبلاغ
يتم تلقائيًا وضع زر الإبلاغ عن المشاكل في الزاوية السفلية من الخريطة، أي في الجانب الأيسر للّغات التي تُكتب من اليمين إلى اليسار وفي الجانب الأيمن للّغات التي تُكتب من اليسار إلى اليمين. إذا كنت بحاجة إلى نقل زر الإبلاغ لإتاحة مساحة لعناصر واجهة المستخدم المخصّصة، أضِف عنصر تحكّم مخصّصًا من النوعBOTTOM_END_BELOW
أو FOOTER
، ما سيؤدي إلى نقل موضع الزر إلى أعلى الشاشة. يضمن وضع واجهات المستخدم المخصّصة ضمن عناصر التحكّم المخصّصة أيضًا أن يتم ترتيب أي طلبات تعرضها حزمة Navigation SDK بشكل صحيح فوق عناصر واجهة المستخدم المخصّصة أثناء عرضها. إذا لم تتمكّن من استخدام عناصر التحكّم المخصّصة، استخدِم
واجهة برمجة التطبيقات Prompt Visibility API لإدارة تعارضات محتملة في واجهة المستخدم.
Prompt Visibility API (تجريبية)
تساعد واجهة برمجة التطبيقات Prompt Visibility API في تجنُّب التعارضات بين عناصر واجهة المستخدم التي تم إنشاؤها بواسطة حزمة Navigation SDK وعناصر واجهة المستخدم المخصّصة من خلال إضافة أداة معالجة لتلقّي عملية ردّ قبل أن يظهر عنصر واجهة مستخدم تابع لحزمة Navigation SDK، وبمجرد إزالة العنصر. يمكنك تلقّي عمليات ردّ الاتصال لعناصر الاضطرابات في الوقت الفعلي، بما في ذلك بطاقات المعلومات والإشعارات وقائمة الإبلاغ عن الاضطرابات، بالإضافة إلى الإشعارات الأخرى التي تنشئها حزمة Navigation SDK.// 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)