कार के लिए ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयां

आवाज़ से कंट्रोल करने की सुविधा की मदद से, ड्राइवर अपने हाथ स्टीयरिंग व्हील से हटाए बिना या सड़क से अपनी नज़र हटाए बिना काम कर सकते हैं. कार के ऐप्लिकेशन के लिए उपलब्ध ऐप्लिकेशन की ख़ास सुविधाओं के लिए कार्रवाइयों की मदद से, ड्राइवर ये काम कर सकते हैं: Gemini या Google Assistant का इस्तेमाल करके, सूचना और मनोरंजन की सुविधा देने वाले डिवाइस पर Android ऐप्लिकेशन कंट्रोल कर सकते हैं. इसके लिए, उन्हें "Ok Google, ExampleApp पर सड़क के किनारे पार्किंग की सुविधा ढूंढो" जैसे निर्देश देने होंगे.

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

यह कैसे काम करता है

ऐप्लिकेशन ऐक्शन की मदद से, ऐप्लिकेशन में मौजूद सुविधाओं को Gemini या Google Assistant के साथ इस्तेमाल किया जा सकता है. इससे लोग, बोलकर ऐप्लिकेशन की सुविधाओं को ऐक्सेस कर पाते हैं. जब कोई उपयोगकर्ता ऐप्लिकेशन ऐक्शन शुरू करता है, तो Gemini या Google Assistant, क्वेरी को आपके ऐप्लिकेशन के shortcuts.xml रिसोर्स में बताए गए बिल्ट-इन इंटेंट (BII) से मैच करती है. इसके बाद, आपके ऐप्लिकेशन को अनुरोध की गई स्क्रीन पर लॉन्च करती है.

Android capability एलिमेंट का इस्तेमाल करके, अपने ऐप्लिकेशन में बीआईआई के साथ काम करने की सुविधा का एलान करें. Google Play Console का इस्तेमाल करके ऐप्लिकेशन अपलोड करने पर, Google आपके ऐप्लिकेशन में बताई गई सुविधाओं को रजिस्टर करता है. साथ ही, उन्हें उपयोगकर्ताओं के लिए उपलब्ध कराता है, ताकि वे Gemini या Google Assistant से इन सुविधाओं को ऐक्सेस कर सकें.

कार की डिलीवरी दिखाने वाला चार्ट.

  1. कोई व्यक्ति Gemini या Google Assistant को चालू करता है और किसी ऐप्लिकेशन के लिए बोलकर अनुरोध करता है.
  2. Gemini या Google Assistant, अनुरोध को पहले से ट्रेन किए गए मॉडल (BII) से मैच करता है. इसके बाद, BII के साथ काम करने वाले सभी पैरामीटर निकालता है.
  3. इस उदाहरण में, Gemini या Google Assistant, क्वेरी को GET_CHARGING_STATION BII से मैच करती है. इसके बाद, जगह के पैरामीटर “SFO” को निकालती है और जगह को उसके भौगोलिक निर्देशांकों में बदलती है.
  4. इस BII के लिए, ऐप्लिकेशन को फ़ुलफ़िलमेंट की परिभाषा के ज़रिए ट्रिगर किया जाता है.
  5. ऐप्लिकेशन, कार्रवाई की प्रोसेस पूरी करता है. साथ ही, ड्राइवर के सूचना और मनोरंजन की सुविधा देने वाले डिवाइस में चार्जिंग स्टेशन के विकल्प दिखाता है.

सीमाएं

कार में ऐप्लिकेशन की ख़ास सुविधाओं के लिए कार्रवाइयाँ लागू करने पर, ये सीमाएं लागू होती हैं:

ज़रूरी शर्तें

कार ऐप्लिकेशन को ऐप्लिकेशन कार्रवाइयों के लिए तैयार करने के लिए, यह तरीका अपनाएं:

अनुरोध का मक़सद समझना और उसे पूरा करना

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

  • आपका कार ऐप्लिकेशन किन इंटेंट के साथ काम करता है?

    ऐप्लिकेशन की ख़ास सुविधाओं के लिए कार्रवाइयाँ, पहले से ट्रेन किए गए आवाज़ के नमूने उपलब्ध कराती हैं. इन्हें बिल्ट-इन इंटेंट (बीआईआई) कहा जाता है. ये "Ok Google" कहने पर, उपयोगकर्ता के बोले गए निर्देशों को समझ सकते हैं और उनका मतलब निकाल सकते हैं. आवाज़ से किए गए अनुरोधों का जवाब देने के लिए, आपको Gemini या Google Assistant को सिर्फ़ उन BII के बारे में बताना होता है जिन्हें आपका ऐप्लिकेशन सपोर्ट करता है. उदाहरण के लिए, अगर आपको पार्किंग की जगह ढूंढने में मदद करने वाला ऐप्लिकेशन बनाना है, तो GET_PARKING_FACILITY बीआईआई लागू करें. इसके अलावा, उपयोगकर्ताओं को इलेक्ट्रिक कार चार्जिंग स्टेशन ढूंढने में मदद करने के लिए, GET_CHARGING_STATION बीआईआई लागू करें.

  • आपका ऐप्लिकेशन, हर इंटेंट को कैसे पूरा करेगा?

    आपका ऐप्लिकेशन, बोलकर किए गए अनुरोध को पूरा करता है. इसके लिए, वह खुद को सही स्क्रीन पर लॉन्च करता है. ऐप्लिकेशन की ख़ास सुविधाओं के लिए कार्रवाइयाँ, उपयोगकर्ता के अनुरोध से निकाले गए पैरामीटर के साथ आपको फ़ुलफ़िलमेंट की जानकारी देती हैं. इससे, उपयोगकर्ता की ज़रूरतों के हिसाब से जवाब दिया जा सकता है.

ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयां इंटिग्रेट करना

फ़ुलफ़िलमेंट की रणनीति तय करने के बाद, कार ऐप्लिकेशन में आवाज़ से कंट्रोल करने की सुविधा चालू करने के लिए, यह तरीका अपनाएं:

  1. अपनी मुख्य गतिविधि AndroidManifest.xml खोलें और Android शॉर्टकट के लिए सहायता का एलान करें. capability शॉर्टकट एलिमेंट का इस्तेमाल करके, Gemini या Google Assistant को उन BII के बारे में बताया जाता है जिन्हें आपका ऐप्लिकेशन सपोर्ट करता है. ज़्यादा जानकारी के लिए, सुविधाएं जोड़ना लेख पढ़ें.

     <!-- AndroidManifest.xml -->
     <meta-data
         android:name="android.app.shortcuts"
         android:resource="@xml/shortcuts" />
    
  2. इसके बाद, AndroidManifest.xml में <intent-filter> एलिमेंट जोड़ें. इससे Gemini या Google Assistant को डीप लिंक का इस्तेमाल करके, आपके ऐप्लिकेशन के कॉन्टेंट से कनेक्ट करने की अनुमति मिलती है.

    • Android Auto के लिए, <intent-filter> आपके मोबाइल ऐप्लिकेशन के जैसा ही होता है.

    • Android Automotive OS के लिए, आपके ऐप्लिकेशन का CarAppService सेशन, Gemini या Google Assistant को ट्रिगर करता है. किसी सेशन को डीप लिंक ट्रिगर करने की अनुमति देने के लिए, AndroidManifest.xml के <activity> एलिमेंट में <intent-filter> तय करें.

    <!-- AndroidManifest.xml -->
    <activity
      ...
      android:name="androidx.car.app.activity.CarAppActivity">
      ...
      <intent-filter>
          <action android:name="android.intent.action.VIEW" />
          <category android:name="android.intent.category.DEFAULT" />
          <category android:name="android.intent.category.BROWSABLE" />
          <data
            android:scheme="YOUR_SCHEME"
            android:host="YOUR_HOST" />
      </intent-filter>
    </activity>
    
  3. अगर आपके पास पहले से अपने ऐप्लिकेशन की shortcuts.xml फ़ाइल नहीं है, तो एक नई फ़ाइल बनाएं.res/xml ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयाँ, Android के शॉर्टकट का इस्तेमाल कैसे करती हैं, इस बारे में जानने के लिए shortcuts.xml फ़ाइल बनाना लेख पढ़ें.

    shortcuts.xml में, चुने गए BII के लिए capability लागू करें. इसके बाद, ऐप्लिकेशन फ़ुलफ़िलमेंट तय करने के लिए, नेस्ट किया गया <intent> जोड़ें.

    <!-- shortcuts.xml -->
    <?xml version="1.0" encoding="utf-8"?>
    <shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
    
      <capability android:name="actions.intent.GET_PARKING_FACILITY">
        <intent>
          <url-template
          android:value="YOUR_SCHEME://YOUR_HOST{?name,address,disambiguatingDescription,latitude,longitude}">
    
          <!-- Facility name, e.g. "Googleplex" -->
          <parameter
            android:name="parkingFacility.name"
            android:key="name"/>
          <!-- Address, e.g. "1600 Amphitheatre Pkwy, Mountain View, CA 94043" -->
          <parameter
            android:name="parkingFacility.address"
            android:key="address"/>
          <!-- Disambiguate the type of service, e.g. "valet" -->
          <parameter
            android:name="parkingFacility.disambiguatingDescription"
            android:key="disambiguatingDescription"/>
          <!-- Latitude, e.g. "37.3861" -->
          <parameter
            android:name="parkingFacility.geo.latitude"
            android:key="latitude"/>
          <!-- Longitude, e.g. "-122.084" -->
          <parameter
            android:name="parkingFacility.geo.longitude"
            android:key="longitude"/>
        </intent>
      </capability>
    </shortcuts>
    
  4. आखिर में, कार के ऐप्लिकेशन के Session() लॉजिक को अपडेट करें, ताकि आने वाले ऐप्लिकेशन ऐक्शन के अनुरोध पूरे किए जा सकें. यहां दिए गए उदाहरणों में, Session.onCreateScreen() और Session.onNewIntent() के लिए इंटेंट हैंडलिंग के बारे में बताया गया है.

    onCreateScreen()

    Kotlin

    @Override
    fun onCreateScreen(@NonNull intent: Intent): Screen {
      if (intent.getData() != null) {
          val uri: Uri = intent.getData()
          // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
          // Build your Templates with parsed uri parameters
      ...
     }
    }

    Java

    @Override
    public Screen onCreateScreen(@NonNull Intent intent) {
    if (intent.getData() != null) {
      Uri uri = intent.getData();
      // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
      // Build your Templates with parsed uri parameters
    ...
    }
    }

    onNewIntent()

    Kotlin

    @Override
    fun onNewIntent(@NonNull intent: Intent): Screen {
      if (intent.getData() != null) {
          val uri: Uri = intent.getData()
          // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
          // Build your Templates with parsed uri parameters
          ...
      }
    }

    Java

    @Override
    public void onNewIntent(@NonNull Intent intent) {
    if (intent.getData() != null) {
     Uri uri = intent.getData();
     // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center"
     // Build your Templates with parsed uri parameters
     ...
    }
    }

अपने ऐप्लिकेशन की झलक देखना, उसे टेस्ट करना, और पब्लिश करना

ऐप्लिकेशन ऐक्शन की सुविधा, आपको अपने ऐप्लिकेशन की झलक देखने और उसे आज़माने के लिए टूल उपलब्ध कराती है. इस टूल के बारे में जानने के लिए, ऐप्लिकेशन ऐक्शन की खास जानकारी पर जाएं. साथ ही, आवाज़ से कंट्रोल किए जा सकने वाले कार ऐप्लिकेशन को Play Store पर पब्लिश करने के तरीके के बारे में जानने के लिए भी इस पेज पर जाएं.