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

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

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

ميزات المقاطعة في الوقت الفعلي

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

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

إشارات تفاعلية للانقطاعات على طول المسارات

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

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

يمكنك التحكّم في عرض نصائح المقاطعات على طول المسارات باستخدام 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 في تجنُّب التعارضات بين عناصر واجهة المستخدم التي يتم إنشاؤها من خلال حزمة SDK للتنقّل وعناصر واجهة المستخدم المخصّصة من خلال إضافة مستمع لتلقّي طلب استدعاء قبل ظهور عنصر واجهة مستخدم حزمة 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)