नेविगेशन ऐप्लिकेशन के इंटेंट लागू करना

Gemini, इंटेंट के तीन अलग-अलग फ़ॉर्मैट का इस्तेमाल करता है. ये फ़ॉर्मैट, आपके नेविगेशन ऐप्लिकेशन के साथ काम कर सकते हैं. इस पेज पर दिए गए इंटेंट फ़िल्टर को अपने ऐप्लिकेशन के मेनिफ़ेस्ट में शामिल करके, इंटरऑपरेबिलिटी हासिल की जा सकती है. साथ ही, अपने ऐप्लिकेशन और Gemini को इंटिग्रेट किया जा सकता है. इंटेंट के बारे में ज़्यादा जानने के लिए, Intent देखें.

Gemini नेविगेशन ऐप्लिकेशन Intent क्लास, इन इंटेंट के साथ काम करती है:

  • नेविगेशन इंटेंट
  • सर्च इंटेंट
  • कस्टम ऐक्शन इंटेंट

इंटेंट डेटा फ़्लो

पहली इमेज. इंटेंट डेटा फ़्लो.

इंटेंट डेटा में मौजूद पैरामीटर

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

ऑफ़लाइन इंटेंट

इस पेज पर मौजूद सभी इंटेंट के ऑफ़लाइन वैरिएंट उपलब्ध हैं. इनके स्कीम में .offline जोड़कर, इन्हें अलग-अलग किया जा सकता है. उदाहरण के लिए, नेविगेशन इंटेंट geo.offline स्कीम का इस्तेमाल करता है. मेनिफ़ेस्ट में मौजूद ये इंटेंट फ़िल्टर, ऑफ़लाइन होने पर भी इन कार्रवाइयों को पूरा करने की ऐप्लिकेशन की क्षमता के बारे में बताते हैं.

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

इंटेंट फ़ॉर्मैट

Intent क्लास, नेविगेशन ऐप्लिकेशन के इंटेंट के लिए इस फ़ॉर्मैट का इस्तेमाल करती है:

कैटगरी: android.intent.category.DEFAULT

कार्रवाई:

  • Android Auto और Android Automotive OS: androidx.car.app.action.NAVIGATE
  • अन्य फ़ॉर्म फ़ैक्टर: android.intent.action.NAVIGATE

स्कीम: geo

उदाहरण:

  • geo:0,0?q=Googleplex
  • geo:0,0?q=1600+Amphitheatre+parkway&mode=b&intent=add_a_stop
  • geo:0,0?q=coffee+shop&mode=w&intent=navigation
  • geo:1.1,2.2?q=Starbucks+on+Main+Street&mode=w&intent=navigation

ऐप्लिकेशन के काम करने का सुझाया गया तरीका: बताई गई जगह के लिए नेविगेशन शुरू हो जाता है या उपयोगकर्ता को कई विकल्पों में से किसी एक को चुनने के लिए कहा जाता है.

मेनिफ़ेस्ट इंटेंट फ़िल्टर

अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में, यहां दिया गया इंटेंट फ़ॉर्मैट जोड़ें. इससे Gemini को पता चलेगा कि आपका नेविगेशन ऐप्लिकेशन, नेविगेशन इंटेंट पा सकता है.

Android Auto और Android Automotive OS को छोड़कर, सभी डिवाइसों के साइज़, डाइमेंशन या कॉन्फ़िगरेशन के लिए:

<intent-filter>
  <action android:name="android.intent.action.NAVIGATE" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

Android Auto और Android Automotive OS:

<intent-filter>
  <action android:name="androidx.car.app.action.NAVIGATE" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

दिए गए पैरामीटर

नेविगेशन ऐप्लिकेशन के इंटेंट डेटा में, यहां दिए गए पैरामीटर मौजूद होने चाहिए.

जगह की जानकारी के लिए क्वेरी या भौगोलिक निर्देशांक

नेविगेशन इंटेंट वाली हर क्वेरी में, इनमें से एक या दोनों पैरामीटर शामिल होते हैं. यह इस बात पर निर्भर करता है कि किस तरह के डेटा का अनुरोध किया गया है:

  • जगह की जानकारी से जुड़ी क्वेरी

    इससे उस जगह की जानकारी मिलती है जहां उपयोगकर्ता को नेविगेट करना है. इस डेटा का इस्तेमाल करके, उपयोगकर्ता के डेस्टिनेशन की जानकारी पाएं.

    पैरामीटर की: q
    वैल्यू: उपयोगकर्ता ने जिस जगह के बारे में क्वेरी की है.

    उदाहरण: geo:0,0?q=Golden+Gate+Bridge
    मतलब: उपयोगकर्ता को गोल्डन गेट ब्रिज पर जाना है.

  • भौगोलिक निर्देशांक (अक्षांश और देशांतर)

    यह कुकी, उन खास कोऑर्डिनेट के बारे में जानकारी देती है जिनका इस्तेमाल उपयोगकर्ता ने नेविगेशन के लिए किया था.

    पैरामीटर की: geo:lat,long
    वैल्यू: उपयोगकर्ता के खोजे गए निर्देशांक.

    उदाहरण: geo:1.1,2.2?mode=w&intent=navigation
    मतलब: उपयोगकर्ता को (1.1, 2.2) निर्देशांक पर जाना है.

वैकल्पिक पैरामीटर

नेविगेशन ऐप्लिकेशन के इंटेंट डेटा में दिए गए वैकल्पिक पैरामीटर के बारे में इस सेक्शन में बताया गया है.

इंटेंट

इससे उपयोगकर्ता के मकसद का पता चलता है. अगर इस पैरामीटर को सेट नहीं किया जाता है, तो उपयोगकर्ता के डिफ़ॉल्ट इंटेंट को navigation माना जाता है.

पैरामीटर की: intent
इस्तेमाल की जा सकने वाली वैल्यू:

  • navigation [डिफ़ॉल्ट वैल्यू] - इससे मंज़िल की जानकारी बदल जाती है और नेविगेशन शुरू हो जाता है. इसका इस्तेमाल x पर जाएं जैसी क्वेरी के लिए करें.
  • add_a_stop - इस विकल्प को चुनने पर, स्टॉप को पिछली मंज़िलों के साथ अगली मंज़िल के तौर पर जोड़ दिया जाता है. इसका इस्तेमाल x पर एक स्टॉप जोड़ें जैसी क्वेरी के लिए करें.
  • directions - इससे नेविगेशन शुरू किए बिना, रास्ते के निर्देश दिखते हैं. x के लिए दिशा-निर्देश जैसी क्वेरी के लिए, इसका इस्तेमाल करें.

उदाहरण: geo:47.61594547836694,-122.20373173098756?q=575+Bellevue+Square,+Bellevue,+WA+98004&intent=add_a_stop मतलब: उपयोगकर्ता को मौजूदा निर्देशांक [47.6, -122.2] के साथ, बेलेव्यू स्क्वेयर, बेलेव्यू में एक स्टॉप जोड़ना है.

बंद करें

नेविगेशन के दौरान किन चीज़ों से बचना है, इसके बारे में बताता है.

पैरामीटर की: avoid
इस्तेमाल की जा सकने वाली वैल्यू:

  • f - फ़ेरी
  • h - हाइवे
  • t - टोल

उदाहरण: geo:0,0?q=googleplex&avoid=tf
मतलब: उपयोगकर्ता को टोल और फ़ेरी से बचकर Googleplex जाना है.

यात्रा मोड

यात्रा मोड, परिवहन के उस तरीके को दिखाता है जिसे उपयोगकर्ता ने क्वेरी में बताया है.

पैरामीटर की: mode
इस्तेमाल की जा सकने वाली वैल्यू:

  • b - साइकल
  • d - ड्राइव
  • x - टैक्सी
  • l - दोपहिया वाहन
  • r - ट्रांज़िट
  • w - पैदल चलना

उदाहरण: geo:0,0?q=Googleplex&mode=r
मतलब: उपयोगकर्ता को सार्वजनिक परिवहन का इस्तेमाल करके Googleplex जाना है.

एंट्री

इस कुकी का इस्तेमाल, एंट्री के सोर्स को लॉग करने के लिए किया जाता है.

इस्तेमाल की जा सकने वाली वैल्यू: assistant

उदाहरण: geo:47.61594547836694,-122.20373173098756?entry=assistant

सर्च इंटेंट

ड्राइविंग के दौरान, किसी क्वेरी को खोजने और रास्ते में कई नतीजे दिखाने के लिए, खोज के इरादे का इस्तेमाल करें.

इंटेंट फ़ॉर्मैट

Intent क्लास, खोज के इरादों के लिए इस फ़ॉर्मैट का इस्तेमाल करती है:

कैटगरी: android.intent.category.DEFAULT

कार्रवाई: android.intent.action.VIEW

स्कीम: geo

उदाहरण: geo:0,0?q=restaurants+nearby

ऐप्लिकेशन के व्यवहार का सुझाव: उन जगहों की सूची खोलें जो उपयोगकर्ता की क्वेरी के हिसाब से सही हैं.

मेनिफ़ेस्ट इंटेंट फ़िल्टर

अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में, इस इंटेंट फ़ॉर्मैट का एलान करें, ताकि Gemini को पता चल सके कि आपका नेविगेशन ऐप्लिकेशन, खोज के इंटेंट पा सकता है:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

दिए गए पैरामीटर

सर्च इंटेंट के लिए दिए गए डेटा में, ये पैरामीटर उपलब्ध होने चाहिए.

जगह की जानकारी से जुड़ी क्वेरी

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

पैरामीटर की: q
वैल्यू: उपयोगकर्ता का खोज क्वेरी वाला शब्द. यह जगह का टाइप हो सकता है, जैसे कि कॉफ़ी शॉप या कॉलेज. हालांकि, इसमें क्वांटीफ़ायर भी हो सकते हैं, जैसे कि -मेरे आस-पास या -सबसे अच्छी रेटिंग वाली.

उदाहरण: geo:0,0?q=restaurants+nearby
मतलब: उपयोगकर्ता को आस-पास के रेस्टोरेंट खोजने हैं.

कस्टम ऐक्शन इंटेंट

कस्टम कार्रवाइयों के लिए कस्टम इंटेंट का इस्तेमाल करें. जैसे, दुर्घटनाओं की रिपोर्ट करना और नेविगेशन बंद करना. मुख्य कार्रवाई का टाइप, act क्वेरी पैरामीटर से तय होता है. कार्रवाई के टाइप के आधार पर, अतिरिक्त पैरामीटर सेट किए जा सकते हैं.

इंटेंट फ़ॉर्मैट

Intent क्लास, कस्टम ऐक्शन इंटेंट के लिए इस फ़ॉर्मैट का इस्तेमाल करती है:

कैटगरी: android.intent.category.DEFAULT

कार्रवाई: android.intent.action.VIEW

स्कीम: geo.action

उदाहरण: geo.action:?act=report&accident_type=major

मेनिफ़ेस्ट इंटेंट फ़िल्टर

अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में, यहाँ दिया गया इंटेंट फ़ॉर्मैट जोड़ें. इससे Gemini को पता चलेगा कि आपका नेविगेशन ऐप्लिकेशन, कस्टम ऐक्शन इंटेंट पा सकता है.

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo.action" />
</intent-filter>

दिए गए पैरामीटर

कस्टम ऐक्शन के इंटेंट डेटा में, ये पैरामीटर उपलब्ध होने चाहिए:

कार्रवाई का टाइप

इससे पता चलता है कि उपयोगकर्ता किस तरह की कस्टम कार्रवाई करना चाहता है.

पैरामीटर कुंजी: act

उदाहरण:

  • geo.action:?act=report_crash&accident_type=major
    व्याख्या: उपयोगकर्ता को किसी बड़ी दुर्घटना की शिकायत करनी है.

  • geo.action:?act=mute
    व्याख्या: उपयोगकर्ता को बोलकर दिए जाने वाले निर्देशों को म्यूट करना है.

  • geo.action:?act=exit_navigation
    मतलब: उपयोगकर्ता को मौजूदा नेविगेशन से बाहर निकलना है.

ऐप्लिकेशन के लिए सुझाया गया व्यवहार: नेविगेशन ऐप्लिकेशन पर अनुरोध की गई कार्रवाई पूरी करें या कार्रवाई पूरी न होने का मैसेज दिखाएं.

इस इमेज में, जवाब की क्वेरी में की-वैल्यू पेयर का उदाहरण दिखाया गया है:

कस्टम ऐक्शन इंटेंट का डेटा फ़्लो

दूसरी इमेज. कस्टम ऐक्शन इंटेंट का डेटा फ़्लो.

की-वैल्यू पेयर:

"act": "report_crash"
"road_direction": other_side"

हर कस्टम ऐक्शन में, act पैरामीटर हमेशा कुंजी के तौर पर मौजूद होता है. ऊपर दिए गए उदाहरण कोड में, कुछ कार्रवाइयों के लिए अतिरिक्त की-वैल्यू पेयर हो सकते हैं. उदाहरण के लिए, act=report_crash इन अतिरिक्त पासकोड के साथ काम करता है: accident_type और road_direction.

accident_type कुंजी के लिए, minor और major, दो वैल्यू इस्तेमाल की जा सकती हैं.

इस्तेमाल की जा सकने वाली वैल्यू

इस टेबल में, उन संभावित वैल्यू की सूची दी गई है जिन्हें Gemini, नेविगेशन ऐप्लिकेशन पर उपयोगकर्ता की ओर से की जा रही कार्रवाई के तौर पर पास कर सकता है.

वैल्यू ब्यौरा वैकल्पिक पैरामीटर कुंजियां वैकल्पिक पैरामीटर वैल्यू
allow_ferries रास्ते की प्राथमिकता बदलकर, फ़ेरी को अनुमति दें.
allow_highways रास्ते की प्राथमिकता बदलकर, हाइवे को अनुमति दें.
allow_tolls टोल की अनुमति देने के लिए, रास्ते की प्राथमिकता बदलें.
avoid_ferries फ़ेरी से बचने के लिए, रास्ते की प्राथमिकता बदलें.
avoid_highways हाइवे से बचने के लिए, रास्ते की प्राथमिकता बदलें.
avoid_tolls टोल से बचने के लिए, रास्ते की प्राथमिकता बदलें.
distance_to_destination मंज़िल की दूरी दिखाओ.
distance_to_next_turn अगले मोड़ की दूरी दिखाओ.
eta मंज़िल तक पहुंचने का अनुमानित समय दिखाओ.
exit_navigation नेविगेशन बंद करें या रद्द करें.
follow_mode मैप व्यू को फ़ॉलो मोड पर सेट करें.
go_back मैप पर की गई पिछली कार्रवाई पर वापस जाएं.
hide_satellite सैटलाइट की जानकारी छिपाने के लिए, मैप की सेटिंग बदलें.
hide_traffic ट्रैफ़िक की जानकारी छिपाने के लिए, मैप की सेटिंग बदलें.
mute आवाज़ से रास्ता बताने की सुविधा को म्यूट करो.
query_current_road दिखाएं कि उपयोगकर्ता फ़िलहाल किस सड़क पर है.
query_destination डेस्टिनेशन दिखाओ.
query_next_turn अगला मोड़ कौनसा है, यह दिखाओ.
report_crash क्रैश की रिपोर्ट करें. accident_type minor
major
road_direction this_side
other_side
report_hazard खतरों की शिकायत करें. hazard_type animal
broken_traffic_light
construction
flooding
fog
hail
ice
missing_sign
object_on_road
pothole
roadkill
snow
vehicle
weather
road_direction this_side
other_side
location_on_road on_road
on_shoulder
report_police पुलिस की गतिविधि की शिकायत करें. road_direction this_side
other_side
report_road_closure सड़कें बंद होने की जानकारी दें. road_closure_type partial
full
report_traffic ट्रैफ़िक की जानकारी दो. traffic_type moderate
heavy
standstill
road_direction this_side
other_side
route_overview रास्ते की खास जानकारी दिखाओ.
show_alternates वैकल्पिक रास्ते दिखाओ.
show_directions_list मोड़-दर-मोड़ निर्देश दिखाओ.
show_satellite मैप पर सैटलाइट की जानकारी दिखाओ.
show_traffic मैप पर ट्रैफ़िक की जानकारी दिखाओ.
time_to_destination मंज़िल तक पहुंचने का अनुमानित समय दिखाओ.
time_to_next_turn अगले मोड़ तक पहुंचने का अनुमानित समय दिखाओ.
unmute आवाज़ से रास्ता बताने की सुविधा को अनम्यूट करो.

नेविगेशन की स्थिति वापस पाना

जब कोई व्यक्ति अपनी यात्रा की स्थिति के बारे में पूछता है, तो Gemini उसे सटीक और रीयल टाइम जानकारी दे सकता है. इसके लिए, आपके ऐप्लिकेशन को कार सेवा का इस्तेमाल करके नेविगेशन मेटाडेटा उपलब्ध कराना होगा. NavigationManager इसे लागू करने के बारे में सलाह पाने के लिए, नेविगेशन मेटाडेटा के बारे में जानकारी देना लेख पढ़ें.