प्लैटफ़ॉर्म चुनें: 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);

नेविगेशन के दौरान कॉलआउट की जानकारी देने वाले कार्ड

नेविगेशन के दौरान किसी रास्ते पर रुकावट का कॉलआउट दिखने पर, उपयोगकर्ता उस पर टैप करके, रुकावट के बारे में ज़्यादा जानकारी देने वाला जानकारी कार्ड देख सकते हैं. इस कार्ड में, रुकावट का टाइप और पिछली बार उसकी शिकायत किए जाने का समय शामिल होता है. साथ ही, इस बात पर वोट करने के लिए बटन भी होते हैं कि रुकावट अब भी मौजूद है या नहीं. उपयोगकर्ताओं के सबमिट किए गए वोट, Google प्रोसेस करता है. साथ ही, इन्हें Google Maps के अन्य उपयोगकर्ताओं और नेविगेशन एसडीके के उपयोगकर्ताओं के लिए मैप पर दिखाया जा सकता है. साथ ही, इनका इस्तेमाल यह तय करने के लिए किया जा सकता है कि रुकावट को दिखाना जारी रखना है या नहीं.

नेविगेशन की जानकारी देने वाला ऐक्टिव कार्ड

ऐक्टिव नेविगेशन के दौरान, रुकावट वाले कॉलआउट के दिखने और उन पर टैप करने की सुविधा को कंट्रोल किया जा सकता है. इसके लिए, setTrafficPromptsEnabled का इस्तेमाल करें . इससे, रास्तों पर कॉलआउट दिखने की सुविधा और उपयोगकर्ता के रुकावट वाले इलाके के आस-पास पहुंचने पर, अपने-आप सूचनाएं दिखने की सुविधा भी कंट्रोल होती है.

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

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

नेविगेशन के दौरान, रास्ते में आने वाली रुकावटों के बारे में अपने-आप मिलने वाली सूचनाएं

नेविगेशन के चालू होने पर, जब कोई उपयोगकर्ता रास्ते पर किसी रुकावट के पास पहुंचता है, तो उसे एक प्रॉम्प्ट दिखता है. इसमें, रुकावट के बारे में जानकारी होती है. साथ ही, इस बात पर वोट करने के लिए बटन होते हैं कि रुकावट अब भी मौजूद है या नहीं. उपयोगकर्ताओं के सबमिट किए गए वोट, Google प्रोसेस करता है. साथ ही, इन्हें Google Maps और नेविगेशन एसडीके के अन्य उपयोगकर्ताओं के लिए मैप पर दिखाया जा सकता है. साथ ही, इनका इस्तेमाल यह तय करने के लिए भी किया जा सकता है कि रुकावट को दिखाना जारी रखना है या नहीं.

नेविगेशन की जानकारी देने वाला ऐक्टिव कार्ड

setTrafficPromptsEnabled का इस्तेमाल करके, नेविगेशन के दौरान सूचना वाले प्रॉम्प्ट के डिसप्ले को कॉन्फ़िगर किया जा सकता है. इससे रास्तों के साथ कॉलआउट के डिसप्ले को भी कंट्रोल किया जा सकता है.

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

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

नेविगेट करते समय, रुकावट की जानकारी

ऐक्टिव नेविगेशन मोड के दौरान, नेविगेशन यूज़र इंटरफ़ेस (यूआई) पर एक बटन दिखता है. इसकी मदद से, उपयोगकर्ता अपने रास्ते पर आने वाली नई रुकावटों की शिकायत कर सकते हैं. जब कोई उपयोगकर्ता बटन पर टैप करता है, तो उसे रुकावट की रिपोर्ट करने के लिए उपलब्ध टाइप वाला मेन्यू दिखता है. उपयोगकर्ता जो रिपोर्ट सबमिट करते हैं उन्हें Google प्रोसेस करता है. साथ ही, Google Maps और नेविगेशन एसडीके के अन्य उपयोगकर्ताओं के लिए, उन्हें मैप पर दिखाया जा सकता है.

रिपोर्टिंग बटन रिपोर्टिंग मेन्यू

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);

कस्टम नेविगेशन यूज़र इंटरफ़ेस (यूआई) के साथ काम करना

अगर नेविगेशन SDK टूल को लागू करने के दौरान, कस्टम यूज़र इंटरफ़ेस (यूआई) एलिमेंट शामिल किए गए हैं, तो आपको टकराव से बचने के लिए, रीयल-टाइम में रुकावट डालने वाले एलिमेंट को ध्यान में रखना होगा.

रिपोर्टिंग बटन की पोज़िशन

डिफ़ॉल्ट रूप से, रुकावट की शिकायत करने वाला बटन, मैप के सबसे नीचे/आखिरी कोने में होता है. यह बटन, बाईं से दाईं ओर लिखी जाने वाली भाषाओं के लिए दाईं ओर और दाईं से बाईं ओर लिखी जाने वाली भाषाओं के लिए बाईं ओर होता है. अगर आपको कस्टम यूज़र इंटरफ़ेस (यूआई) एलिमेंट के लिए जगह बनाने के लिए, रिपोर्टिंग बटन को दूसरी जगह ले जाना है, तो BOTTOM_END_BELOW या FOOTER कस्टम कंट्रोल जोड़ें. इससे बटन की पोज़िशन, स्क्रीन पर ऊपर की ओर बढ़ जाएगी. कस्टम कंट्रोल में अपने कस्टम यूआई डालने से यह भी पक्का होता है कि नेविगेशन 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)