शॉर्टकट.xml बनाएं

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

किसी उपयोगकर्ता के पैरामीटर एक्सट्रैक्ट करने के लिए, Assistant नैचुरल लैंग्वेज प्रोसेसिंग का इस्तेमाल करती है क्वेरी. बिल्ट-इन इंटेंट के रेफ़रंस में ऐसे फ़ील्ड की सूची होती है जिन्हें हर बीआईआई किसी संबद्ध उपयोगकर्ता क्वेरी से निकालने में सक्षम है. उदाहरण के लिए, अगर कोई उपयोगकर्ता आपके ऐप्लिकेशन में [actions.intent.GET_FOOD_OBSERVATION][] क्षमता का अनुरोध करता है Assistant, "Ok Google, Ask ExampleApp से पूछें कि मैंने पिछले शुक्रवार दोपहर के खाने में क्या खाया", Assistant उपयोगकर्ता के अनुरोध से, इन बीआईआई पैरामीटर को एक्सट्रैक्ट करता है:

  • foodObservation.forMeal = "https://schema.googleapis.com/MealTypeLunch"
  • foodObservation.startTime = "06-09-2024T00:00:00"
  • foodObservation.endTime = "06-09-2024T23:59:59"

Assistant, बीआईआई पैरामीटर को वाहन के ऑर्डर intent में पास करती है. capability. एक या उससे ज़्यादा intent एलिमेंट की जानकारी, इन कामों के लिए दी जा सकती है बीआईआई शुरू करने के अलग-अलग तरीकों को शामिल करना चाहिए. उदाहरण के लिए, अगर आपने ऐसी फ़ुलफ़िलमेंट intent को परिभाषित कर सकता है जिसके लिए ऊपर उदाहरण दिया गया है. इसके बाद, एक दूसरा इंटेंट तय किया जा सकता है. इसके लिए, एक BII पैरामीटर foodObservation.forMeal की ज़रूरत होती है. यह पैरामीटर, किसी खास दिन के सभी खान-पान की जानकारी देता है. जैसे, "Ok Google, ExampleApp से पूछो कि मैंने लंच में क्या खाया."

खास जानकारी

ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयां कॉन्फ़िगर करने के लिए, अपने ऐप्लिकेशन में मौजूद shortcuts.xml फ़ाइल का इस्तेमाल किया जाता है प्रोजेक्ट की res/xml डायरेक्ट्री अपलोड करेगा और फिर shortcuts.xml का रेफ़रंस देगा शामिल करते हैं. अपने ऐप्लिकेशन मेनिफ़ेस्ट में shortcuts.xml का रेफ़रंस जोड़ने के लिए, यह तरीका अपनाएं:

  1. अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल (AndroidManifest.xml) में, कोई ऐसी गतिविधि ढूंढें जिसकी इंटेंट फ़िल्टर को android.intent.action.MAIN कार्रवाई और android.intent.category.LAUNCHER श्रेणी.

  2. AndroidManifest.xml में shortcuts.xml का रेफ़रंस जोड़ने के लिए, Activity में <meta-data> टैग का इस्तेमाल करें. इस टैग में MAIN और LAUNCHER, दोनों के लिए इंटेंट फ़िल्टर होने चाहिए. ऐसा करने के लिए, यह तरीका अपनाएं:

    <meta-data
       android:name="android.app.shortcuts"
       android:resource="@xml/shortcuts" />
    

ऊपर दिया गया उदाहरण इसमें xml/shortcuts.xml फ़ाइल के लिए, एक्सएमएल संसाधन के बारे में बताता है APK के साथ करना है. शॉर्टकट कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, Android डेवलपर दस्तावेज़ में स्टैटिक शॉर्टकट बनाना देखें.

Jetpack लाइब्रेरी androidx.core:core:1.6.0 कंपाइलेशन गड़बड़ियों से बचने के लिए, आपके Android प्रोजेक्ट में (या उससे बड़ा वर्शन) होना ज़रूरी है shortcuts.xml में ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों की सुविधा तय करते समय. जानकारी के लिए, यह देखें Android Jetpack का इस्तेमाल शुरू करना.

स्टैटिक शॉर्टकट

capability तय करते समय, shortcuts.xml में स्टैटिक shortcut एलिमेंट का एलान किया जा सकता है, ताकि इस सुविधा के फ़ंक्शन को बढ़ाया जा सके. स्टैटिक शॉर्टकट Assistant की मदद से, Google Play Console पर कोई रिलीज़ अपलोड करते समय इसका डेटा डाला जाता है. स्टैटिक शॉर्टकट सिर्फ़ नई रिलीज़ बनाकर बनाए और अपडेट किए जा सकते हैं. इसलिए, ये आपके ऐप्लिकेशन में सामान्य गतिविधियों और कॉन्टेंट को हाइलाइट करने के लिए सबसे ज़्यादा काम के होते हैं.

स्टैटिक शॉर्टकट की मदद से, ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयां करने की सुविधा चालू की जा सकती है:

  • सुविधा के शॉर्टकट. ऐसे शॉर्टकट बनाएं जो आपकी capability में पहले से तय intent पैरामीटर वैल्यू शामिल हैं. उदाहरण के लिए, आपके पास ऐप्लिकेशन शॉर्टकट के तौर पर "दौड़ना शुरू करें" का एलान करने का विकल्प है जो START_EXERCISE आपके फ़िटनेस ऐप्लिकेशन में बीआईआई की सुविधा.

    इन शॉर्टकट में intent, shortLabel, और longLabel एट्रिब्यूट शामिल हैं. उन्हें अपने-आप मिलने वाले सुझाव के तौर पर, चिप के तौर पर उपलब्ध कराना प्लैटफ़ॉर्म, जैसे कि Assistant या Android पर किसी ऐप्लिकेशन के आइकॉन को दबाकर रखने पर लॉन्चर. कार्रवाई शॉर्टकट, इकाई के शॉर्टकट के तौर पर भी काम कर सकता है. ज़्यादा जानकारी के साथ लिंक का इस्तेमाल करके capability से जोड़कर <capability-binding> टैग.

  • इकाई के शॉर्टकट. इकाई के शॉर्टकट, इस्तेमाल किए जा सकने वाले पैरामीटर की सूची देते हैं capability की वॉइस क्वेरी के पूरा होने की वैल्यू. उदाहरण के लिए, कोई इकाई शॉर्टकट के साथ कसरत के प्रकार ("हाइक," "रन" वगैरह) की सूची इसका exercise.name बीआईआई पैरामीटर START_EXERCISE क्षमता. अगर किसी उपयोगकर्ता के स्टेटमेंट का मिलान किसी इकाई से होता है, तो shortcutId आईडी यह होगा रॉ यूज़र क्वेरी वैल्यू के बजाय इंटेंट को पास किया जाता है.

    Entity शॉर्टकट intent, shortLabel या longLabel को तय नहीं करते एट्रिब्यूट की वैल्यू के तौर पर, अपने-आप काम करने वाले प्लैटफ़ॉर्म पर इनका सुझाव नहीं दिया जाता. इसके लिए ज़्यादा जानकारी के लिए, ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों के लिए इनलाइन इन्वेंट्री देखें.

क्षमता स्कीमा

इस टेबल में, shortcuts.xml में मौजूद capability एलिमेंट के लिए, ऐप्लिकेशन ऐक्शन स्कीमा के बारे में बताया गया है. टैग शामिल करते समय, इसके सभी एट्रिब्यूट ज़रूरी हैं जब तक "ज़रूरी नहीं" मार्क न हो.

Shortcuts.xml टैग इसमें शामिल है विशेषताएं
<capability> <shortcuts>

android:name

app:queryPatterns (सिर्फ़ कस्टम इंटेंट पर लागू होता है)

<intent> <capability>

android:action (वैकल्पिक)

android:targetClass (वैकल्पिक)

android:targetPackage (वैकल्पिक)

android:data (वैकल्पिक)

<url-template> <intent>

android:value

<extra> <intent>

android:key

android:value

सिर्फ़ फ़ोरग्राउंड ऐप्लिकेशन को शुरू करने पर ही लागू होता है

<parameter> <intent>

android:name

android:key

android:mimeType (सिर्फ़ कस्टम इंटेंट पर लागू होता है)

android:required (वैकल्पिक)

app:shortcutMatchRequired (वैकल्पिक)

<shortcut-fulfillment> <capability> सिर्फ़ इनलाइन इन्वेंट्री के लिए लागू होता है
<parameter> <shortcut-fulfillment> android:name
<slice> <capability>

सिर्फ़ Android स्लाइस के लिए लागू

क्षमता स्कीमा की जानकारी

इस सेक्शन में, capability स्कीमा एलिमेंट के बारे में बताया गया है.

<क्षमता>

capability, जो आपके ऐप्लिकेशन के साथ काम करने वाले ऐप्लिकेशन ऐक्शन के इंटेंट के बारे में बताता है. आपकी shortcuts.xml फ़ाइल में मौजूद हर <capability> एलिमेंट में, कार्रवाई को पूरा करने के लिए कम से कम एक <intent> होना चाहिए.

विशेषताएं:

  • android:name: बिल्ट-इन इंटेंट कार्रवाई आईडी (उदाहरण के लिए, [actions.intent.GET_FOOD_OBSERVATION][]). इस्तेमाल किए जा सकने वाले प्रॉडक्ट की सूची के लिए बिल्ट-इन इंटेंट के लिए, बिल्ट-इन इंटेंट रेफ़रंस देखें.
  • app:queryPatterns: स्ट्रिंग अरे रिसॉर्स, जिसमें उपयोगकर्ता जोड़ें. यह एट्रिब्यूट सिर्फ़ इन पर लागू होगा कस्टम इंटेंट से अलग हो सकते हैं, क्योंकि बीआईआई में पहले से ही उपयोगकर्ताओं की ओर से किए जा रहे टास्क को ज़ाहिर करने के सामान्य तरीके या जो वे चाहते हैं.

<intent>

Android intent एलिमेंट से पता चलता है कि उपयोगकर्ता की क्वेरी कैसी होनी चाहिए ग्राहकों को ऐप्लिकेशन में मौजूद सुविधाओं का इस्तेमाल करके ग्राहकों को भेजना हो. डेवलपर, capability में एक से ज़्यादा <intent> टैग दे सकते हैं. Assistant, उपयोगकर्ता की क्वेरी को पूरा करने की कोशिश करती है. इसके लिए, वह इनका इस्तेमाल करती है capability में पहले <intent>, जिसके लिए सभी ज़रूरी पैरामीटर हैं दिया गया है.

विशेषताएं:

  • android:action: इंटेंट Action टाइप. डिफ़ॉल्ट रूप से, यह ACTION_VIEW पर सेट होता है.
  • android:targetClass: टारगेट गतिविधि की क्लास, उदाहरण के लिए: "com.example.exercise.ExerciseActivity"
  • android:targetPackage: इस पैकेज में, ऐक्टिविटी क्लास का टारगेट शामिल है उदाहरण: "com.example.exercise
  • android:data: यह फ़ील्ड <url-template> ने ओवरराइट कर दिया है अगर intent में टैग के बारे में बताया गया है.

<url-टेंप्लेट>

डीप लिंक यूआरआई बनाने के लिए टेंप्लेट वेब ऐप्लिकेशन या प्रॉडक्ट इस डिवाइस पर खोले जा सकते हैं. टेंप्लेट को बिल्ट-इन इंटेंट के साथ बड़ा किया जा सकता है पैरामीटर की जानकारी दें. इसके लिए एचटीटीपी यूआरएल टेंप्लेट के उदाहरण हैं. यूआरएल टेंप्लेट पर Wikipedia का लेख. टेंप्लेट का फ़ॉर्मैट, आरएफ़सी6570 यूआरआई टेंप्लेट स्पेसिफ़िकेशन के मुताबिक होता है.

यहां यूआरएल टेंप्लेट की वैल्यू के कुछ उदाहरण दिए गए हैं:

टेंप्लेट वैल्यू बड़ा किया गया मान
https://example.com/test{?foo,bar} "foo": "123"

"bar": "456"

https://example.com/test?foo=123&bar=456
https://example.com/test?utm_campaign=appactions{&foo,bar} "foo": "123"

"bar": "456"

https://example.com/test?utm_campaign=appactions&foo=123&bar=456
https://example.com/test?utm_campaign=appactions{#foo} "foo": "123" https://example.com/test?utm_campaign=appactions#foo=123
myapp://example/{foo} "foo": "123" myapp://example/123

यूआरएल टेंप्लेट कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, यहां जाएं फ़ुलफ़िलमेंट में यूआरएल टेंप्लेट.

<extra>

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

<पैरामीटर>

इंटेंट पैरामीटर वैल्यू के लिए बीआईआई पैरामीटर मैप करता है. ज़्यादा जानकारी के लिए, यह देखें पैरामीटर का डेटा और मैचिंग.

विशेषताएं:

  • android:name: इस intent के साथ जोड़े जाने वाले बीआईआई पैरामीटर का नाम पैरामीटर. नाम, बीआईआई पैरामीटर की लीफ़-लेवल फ़ील्ड होना चाहिए (इसके लिए उदाहरण के लिए, foodObservation.aboutFood.name).
  • android:key: BII पैरामीटर वैल्यू की, डेवलपर की तय की गई कुंजी. उदाहरण के लिए, तो message.recipient.name बीआईआई के लिए contact_name तय किया जा सकता है पैरामीटर.
  • android:mimeType: पैरामीटर का mimeType, जैसे कि text/*. यह फ़ील्ड, सिर्फ़ कस्टम इंटेंट के पैरामीटर के लिए ज़रूरी है.
  • android:required: यह बताता है कि उपयोगकर्ता क्वेरी में इसे शामिल करना ज़रूरी है या नहीं इस इंटेंट के लिए पैरामीटर का इस्तेमाल करना होगा. अगर पैरामीटर नहीं है तो Assistant उपयोगकर्ता की क्वेरी को पूरा करने के लिए अगले capability के लिए intent तय किया गया.

<शॉर्टकट-fulfillment>

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

<पैरामीटर> (<shortcut-fulfillment> के लिए)

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

विशेषता:

  • android:name: इनलाइन इन्वेंट्री से जोड़ने के लिए, बीआईआई पैरामीटर का नाम शॉर्टकट फ़ुलफ़िलमेंट. नाम, बीआईआई के लीफ़-लेवल फ़ील्ड होना चाहिए पैरामीटर (उदाहरण के लिए, menuItem.name).

<स्लाइस>

इससे Assistant, इस capability से मैच करने वाली क्वेरी के नतीजे को Android स्लाइस के तौर पर एम्बेड कर पाती है. जानकारी के लिए, यह देखें Android स्लाइस के साथ ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों को इंटिग्रेट करें.

शॉर्टकट स्कीमा

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

Shortcuts.xml टैग इसमें शामिल है विशेषताएं
<shortcut> <shortcuts>

android:shortcutId

android:shortcutShortLabel

android:shortcutLongLabel (वैकल्पिक)

android:icon (वैकल्पिक)

<intent> <shortcut>

android:action

android:targetClass (वैकल्पिक)

android:targetPackage (वैकल्पिक)

android:data (वैकल्पिक)

<capability-binding> <shortcut>

android:key

<parameter-binding> <capability-binding>

android:key (वैकल्पिक)

android:value

<extra> <shortcut>

android:name (वैकल्पिक)

android:value

सिर्फ़ Enum पैरामीटर मैचिंग के लिए लागू होता है.

शॉर्टकट स्कीमा की जानकारी

इस सेक्शन में, shortcut स्कीमा एलिमेंट के बारे में बताया गया है.

<शॉर्टकट>

shortcuts.xml में कुछ खास एट्रिब्यूट के साथ तय किया गया Android <shortcut> जो ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों के काम की हों. shortcutShortLabel के लिए स्ट्रिंग वैल्यू और shortcutLongLabel फ़ील्ड का संदर्भ APK की स्ट्रिंग के संसाधन.

विशेषताएं:

  • android:shortcutId: इस शॉर्टकट का आइडेंटिफ़ायर.
  • android:shortcutShortLabel: एक छोटा शॉर्टकट दिखाने वाला स्ट्रिंग रिसॉर्स वाक्यांश. उदाहरण के लिए, "@string/callDavidShort" "कॉल" वैल्यू दिखाता है डेविड."
  • android:shortcutLongLabel: स्ट्रिंग रिसॉर्स, लंबे शॉर्टकट को दिखाता है वाक्यांश. उदाहरण के लिए, "@string/callDavidLong" "एक लाइन बनाएं" वैल्यू डेविड को ऑडियो कॉल करो."

<इंटेंट>

इस शॉर्टकट से जुड़ा Android इंटेंट. यह intent तब लागू होता है, जब उपयोगकर्ता बोलकर या टच करके इस शॉर्टकट को लॉन्च करता है.

shortcut इंटेंट एट्रिब्यूट, capability intent एट्रिब्यूट से मेल खाते हैं.

<capability-बाइंडिंग>

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

विशेषताएं:

  • android:key: इस capability एट्रिब्यूट की android:name एट्रिब्यूट shortcut इस पर सीमित है. उदाहरण के लिए, actions.intent.START_EXERCISE.

<पैरामीटर-बाइंडिंग>

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

विशेषताएं:

  • android:key: असोसिएट किए जाने वाले capability बीआईआई पैरामीटर का नाम करने के लिए शॉर्टकट का इस्तेमाल करें. उदाहरण के लिए, exercise.name.
  • android:value: entity वैल्यू. यह एक entity या संसाधन सूची.

<अतिरिक्त>

शॉर्टकट के लिए, extra बंडल का डेटा. सिर्फ़ बिड ही एक ऐसा डेटा है ये ऐप्लिकेशन कार्रवाइयों के shortcut एलिमेंट से जुड़े हुए होते हैं. Accessibility यूआरएल का मतलब है साफ़ तौर पर इकाई की पहचान करने वाला वेब पेज हो. अगर इंटेंट पैरामीटर टाइप, schema.org/Enumeration का सब-टाइप है, तो एलिमेंट की वैल्यू तय करने के लिए इसका इस्तेमाल किया जाता है. पैरामीटर फ़ील्ड के लिए यह ज़रूरी है जिसके टाइप schema.org/Enumeration के सब-टाइप हैं (उदाहरण के लिए: MealTypeBreakfast).

विशेषताएं:

  • android:key: ऐप्लिकेशन ऐक्शन के लिए इस्तेमाल की जा सकने वाली वैल्यू: sameAs
  • android:value: sameAs यूआरएल की वैल्यू

ज़्यादा जानकारी के लिए, गिनती की गई पैरामीटर वैल्यू से मैच करना लेख पढ़ें.

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

आपने <capability> में intent एलिमेंट तय करके बताया है कि Assistant कैसे काम करेगी उपयोगकर्ता के बोले गए निर्देशों का जवाब देता है या पूरा करता है. आपके ऐप्लिकेशन के नेविगेशन के स्ट्रक्चर के आधार पर, intent आपके ऐप्लिकेशन में फ़ुलफ़िलमेंट डेस्टिनेशन को लॉन्च करने का तरीका कॉन्फ़िगर करने के कई तरीके हैं.

ग्राहक को आइटम भेजने के लिए ये विकल्प उपलब्ध हैं:

  • एक्सप्लिसिट इंटेंट: intent के लिए targetClass और targetPackage एट्रिब्यूट. ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों को पूरा करने का यह सुझाया गया तरीका है.

  • डीप लिंक: intent एलिमेंट में <url-template> टैग तय करके, Android डीप लिंक का इस्तेमाल करके ऐप्लिकेशन डेस्टिनेशन लॉन्च करें. यह तरीका तब फ़ायदेमंद होता है, जब आपका ऐप्लिकेशन नेविगेशन पहले से ही डीप लिंक का इस्तेमाल करता हो.

  • इंटेंट डेटा: intent में फ़ुलफ़िलमेंट यूआरआई दिया जा सकता है android:data एट्रिब्यूट की वैल्यू सबमिट करें. इस फ़ील्ड को <url-template> डेटा से बदल दिया गया है अगर वह टैग intent में भी बताया गया है.

पैरामीटर का डेटा और मैचिंग

डिफ़ॉल्ट रूप से Assistant, उपयोगकर्ता की क्वेरी से निकाले गए बीआईआई पैरामीटर को ऐप्लिकेशन को capability में बताए गए Android intent के extra डेटा के रूप में दिखाया गया है.

इसके अलावा, आपके पास <url-template> टैग का एलान करने का भी विकल्प है capability जिसमें डाइनैमिक पैरामीटर के लिए प्लेसहोल्डर मौजूद हों. यह टेंप्लेट, ऐप्लिकेशन लिंक यूआरएल, कस्टम स्कीम या इंटेंट पर आधारित यूआरएल का इस्तेमाल करके, आपकी किसी Android गतिविधि पर मैप करता है.

इंटेंट एक्स्ट्रा का इस्तेमाल करना

इस उदाहरण में, capability के लिए साफ़ तौर पर बताए गए इंटेंट के बारे में बताया गया है ग्राहक को आइटम भेजना:

<capability android:name="actions.intent.START_EXERCISE">
  <intent
    android:targetPackage="com.example.myapp"
    android:targetClass="com.example.myapp.ExerciseActivity">
    <parameter android:name="exercise.name" android:key="exercise" />
  </intent>
</capability>

ऊपर दिए गए सैंपल में, "Ok Google, कॉफ़ी पीने की जगह" से जुड़ी उपयोगकर्ता क्वेरी के लिए उदाहरण के लिए," ऐप्लिकेशन को एक intent मिलता है, जो कॉम्पोनेंट को शुरू करता है: targetPackage, targetClass. घटक को key = "exercise", value = "Running".

अगर आपका ऐप्लिकेशन डाइनैमिक पैरामीटर का इस्तेमाल करके, पहले से ही ऐप्लिकेशन से लिंक किए गए यूआरएल, तो Android जनरेट करने के लिए, intent में <url-template> तय किया जा सकता है कार्रवाई पूरी करने के लिए डीप लिंक. यहां दिए गए सैंपल में <url-template> के बारे में बताया गया है:

<capability android:name="actions.intent.START_EXERCISE">
  <intent>
    <url-template android:value="myapp://start{?exercise}" />
    <parameter android:name="exercise.name" android:key="exercise" />
  </intent>
</capability>

ऊपर दिए गए सैंपल में, उपयोगकर्ता की क्वेरी के लिए, जैसे कि “Ok Google, कॉफ़ी ऑर्डर करो से हटा दिया जाता है", तो ऐप्लिकेशन को जनरेट किया गया यूआरएल मिलेगा: "myapp://start?exercise=दौड़ना".

बीआईआई पैरामीटर को अपने यूआरएल की किसी पोज़िशन पर मैप करने के लिए, <parameter> टैग की android:name एट्रिब्यूट. यह एट्रिब्यूट, यूआरएल टेंप्लेट में मौजूद उस android:key वैल्यू से जुड़ा होता है जिसे आपको उपयोगकर्ता की जानकारी से बदलना है. android:key की वैल्यू मौजूद होनी चाहिए आपके <url-template> में और कर्ली ब्रैकेट ({}) के अंदर.

सूची में शामिल पैरामीटर वैल्यू को मैच करें

कुछ बीआईआई पैरामीटर, ग्राहक को आइटम भेजने के इंटेंट के लिए तय वैल्यू देते हैं. उदाहरण के लिए, RECORD_FOOD_OBSERVATION बीआईआई की इस्तेमाल की जा सकने वाली टेक्स्ट वैल्यू. इसके लिए ये पैरामीटर इस्तेमाल करते हैं, तो Assistant उपयोगकर्ता की क्वेरी ("ब्रेकफ़ास्ट") का मिलान वह इकाई जिसकी sameAs वैल्यू, enum स्कीमा यूआरएल से मेल खाती हो (https://schema.googleapis.com/MealTypeBreakfast). Enum को जोड़ने के लिए इस्तेमाल की जा सकने वाली entity की वैल्यू के लिए, आपको यहां sameAs असोसिएशन का एलान करना होगा shortcut. नीचे दिया गया सैंपल, एक sameAs असोसिएशन को दिखाता है इनलाइन इकाई शॉर्टकट:

<shortcut android:shortcutId="meal_breakfast" >
    <capability-binding android:key="actions.intent.RECORD_FOOD_OBSERVATION">
        <parameter-binding android:key="foodObservation.forMeal" />
    </capability-binding>
    <extra
        android:key="sameAs"
        android:value="http://schema.googleapis.com/MealTypeBreakfast" />
</shortcut>

<capability android:name="actions.intent.RECORD_FOOD_OBSERVATION">
  <intent targetPackage="com.example.app" targetClass="com.example.app.Class">
    <parameter android:name="foodObservation.forMeal" android:key="for_meal" />
  </intent>
</capability>

ऊपर दिए गए उदाहरण में, अगर RECORD_FOOD_OBSERVATION सुविधा "नाश्ते" के लिए मिलान भोजन प्रकार, निम्न अतिरिक्त को ऑर्डर पूरा करने का intent:

  • key = "for_meal"
  • value = "meal_breakfast"

सुविधाएं

shortcuts.xml में, ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों की ये सुविधाएं उपलब्ध हैं.

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

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

कस्टम इंटेंट

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

  • app:queryPatterns: कस्टम इंटेंट के लिए अलग-अलग क्वेरी पैटर्न बताने वाला कलेक्शन रिसॉर्स.

  • android:mimeType: कस्टम इंटेंट का पैरामीटर टाइप. यह फ़ील्ड बीआईआई के लिए ज़रूरी नहीं है, जहां पैरामीटर का टाइप पता हो. कस्टम इंटेंट के पैरामीटर के लिए, इस्तेमाल किया जा सकने वाला सीमेंटिक टाइप तय करना ज़रूरी है.

ज़्यादा जानकारी के लिए, कस्टम इंटेंट देखें.