اختيار النظام الأساسي: Android iOS

ضبط المعلومات عن الحوادث في الوقت الفعلي

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

ميزات التنبيهات في الوقت الفعلي بشأن أي عوائق

تتضمّن حزمة تطوير البرامج للتنقّل ميزات "معلومات الحوادث في الوقت الفعلي" التالية كجزء من تجربة التنقّل الأساسية:

هذه الميزات قابلة للضبط ومفعَّلة تلقائيًا. تقدّم الأقسام التالية مزيدًا من المعلومات حول الميزات وخيارات الضبط المتاحة.

تحذيرات تفاعلية حول الحوادث على طول الطريق

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

وسائل الشرح على طول المسارات

يمكنك التحكّم في عرض وسائل الشرح الخاصة بالانقطاعات على طول المسارات باستخدام 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);

بطاقات معلومات وسائل الشرح أثناء التنقّل النشط

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

يمكن التصويت على العوائق التي تقع على المسار وخارجه ضمن مسافة 5 كم من المستخدم، باستثناء عمليات إغلاق الطرق. تعالج Google هذه الأصوات للمساعدة في تحديد ما إذا كان يجب الاستمرار في عرض العرقلة. قد تظهر الأصوات أيضًا على الخريطة لمستخدمي "خرائط Google" وNavigation SDK الآخرين.

بطاقة معلومات التنقّل النشط

يمكنك التحكّم في عرض وسائل الشرح الخاصة بالتعطّل وإمكانية النقر عليها أثناء التنقّل النشط باستخدام setTrafficPromptsEnabled ، والذي يتحكّم أيضًا في عرض وسائل الشرح على طول المسارات و عرض التنبيهات المبرمَجة عندما يقترب المستخدم من التعطّل.

// Using the SupportNavigationFragment
mNavFragment.setTrafficPromptsEnabled(true);

// Using the NavigationView
navigationView.setTrafficPromptsEnabled(true);

تنبيهات تلقائية بشأن العوائق مع إمكانية التصويت أثناء التنقّل

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

بطاقة معلومات التنقّل النشط

يمكنك ضبط عرض رسائل التنبيه أثناء التنقّل النشط باستخدام 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 يتضمّن عناصر مخصّصة في واجهة المستخدم، عليك مراعاة عناصر التعطيل في الوقت الفعلي لتجنُّب التعارضات.

موضع زر الإبلاغ

By default, the disruption reporting button is positioned at the bottom end/trailing corner of the map—on the right side for left-to-right languages and left side for right-to-left languages. إذا كنت بحاجة إلى نقل زر الإبلاغ لإتاحة مساحة لعناصر في واجهة المستخدم المخصّصة، يمكنك إضافة عنصر تحكّم مخصّص BOTTOM_END_BELOW أو FOOTER، ما سيؤدي إلى دفع موضع الزر للأعلى على الشاشة. يضمن وضع واجهات المستخدم المخصّصة ضمن عناصر التحكّم المخصّصة أيضًا أن يتم عرض أي طلبات من "حزمة تطوير البرامج (SDK) للتنقّل" بشكل صحيح فوق عناصر واجهة المستخدم المخصّصة أثناء عرضها. إذا لم تتمكّن من استخدام عناصر التحكّم المخصّصة، استخدِم Prompt Visibility API لإدارة التعارضات المحتملة في واجهة المستخدم.

واجهة برمجة التطبيقات Prompt Visibility API (تجريبية)

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