अपने ऐप्लिकेशन में मौजूद फ़ंक्शन और लागू करने के लिए उससे जुड़े बिल्ट-इन इंटेंट (बीआईआई) की पहचान करने के बाद, उन बीआईआई का एलान करें जिनके साथ आपका फ़ंक्शन काम करता है. इसके लिए, shortcuts.xml
संसाधन फ़ाइल में capability
एलिमेंट तय करें. बीआईआई को capability
के तौर पर एलान करने से, आपके ऐप्लिकेशन में उस सिमैंटिक इंटेंट के लिए काम करने की सुविधा रजिस्टर हो जाती है. साथ ही, Google Assistant की मदद से, वॉइस क्वेरी के इंटेंट पूरा होने की सुविधा भी चालू हो जाती है.
Assistant, उपयोगकर्ता की क्वेरी से पैरामीटर निकालने के लिए, नैचुरल लैंग्वेज प्रोसेसिंग का इस्तेमाल करती है. बिल्ट-इन इंटेंट रेफ़रंस में उन फ़ील्ड की सूची होती है जिन्हें हर बीआईआई, उपयोगकर्ता की क्वेरी से निकाल सकता है. उदाहरण के लिए, अगर कोई उपयोगकर्ता आपके ऐप्लिकेशन में [actions.intent.GET_FOOD_OBSERVATION
][] सुविधा का इस्तेमाल करने के लिए, "Ok Google, ExampleApp से पूछो कि मैंने पिछले शुक्रवार को लंच में क्या खाया था" कहता है, तो Assistant उपयोगकर्ता के अनुरोध से ये बीआईआई पैरामीटर निकालती है:
foodObservation.forMeal
= "https://schema.googleapis.com/MealTypeLunch"foodObservation.startTime
= "06-09-2024T00:00:00"foodObservation.endTime
= "06-09-2024T23:59:59"
Assistant, BII पैरामीटर को capability
में बताए गए intent
पर पास करता है. किसी कैपेबिलिटी में एक या उससे ज़्यादा intent
एलिमेंट तय किए जा सकते हैं, ताकि उपयोगकर्ता अलग-अलग तरीकों से बीआईआई को ट्रिगर कर सके. उदाहरण के लिए, ऐसे फ़ुलफ़िलमेंट intent
को तय किया जा सकता है जिसके लिए ऊपर दिए गए उदाहरण में, दोनों बीआईआई पैरामीटर की ज़रूरत हो. इसके बाद, एक दूसरा इंटेंट तय किया जा सकता है. इसके लिए, एक BII पैरामीटर foodObservation.forMeal
की ज़रूरत होती है. यह पैरामीटर, किसी खास दिन के सभी खान-पान की जानकारी देता है. जैसे, "Ok Google, ExampleApp से पूछो कि मैंने लंच में क्या खाया."
खास जानकारी
ऐप्लिकेशन ऐक्शन को कॉन्फ़िगर करने के लिए, अपने ऐप्लिकेशन प्रोजेक्ट की res/xml
डायरेक्ट्री में मौजूद shortcuts.xml
फ़ाइल का इस्तेमाल करें. इसके बाद, अपने ऐप्लिकेशन मेनिफ़ेस्ट में shortcuts.xml
का रेफ़रंस बनाएं. अपने ऐप्लिकेशन मेनिफ़ेस्ट में shortcuts.xml
का रेफ़रंस जोड़ने के लिए, यह तरीका अपनाएं:
अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल (
AndroidManifest.xml
) में, ऐसी गतिविधि ढूंढें जिसके इंटेंट फ़िल्टर,android.intent.action.MAIN
ऐक्शन औरandroid.intent.category.LAUNCHER
कैटगरी पर सेट हों.AndroidManifest.xml
मेंshortcuts.xml
का रेफ़रंस जोड़ने के लिए,Activity
में<meta-data>
टैग का इस्तेमाल करें. इस टैग मेंMAIN
औरLAUNCHER
, दोनों के लिए इंटेंट फ़िल्टर होने चाहिए. ऐसा करने के लिए, यह तरीका अपनाएं:<meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
ऊपर दिए गए उदाहरण में, APK में xml/shortcuts.xml
फ़ाइल के लिए एक्सएमएल रिसॉर्स का एलान किया गया है. शॉर्टकट कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, Android डेवलपर दस्तावेज़ में स्टैटिक शॉर्टकट बनाना देखें.
shortcuts.xml
में ऐप्लिकेशन ऐक्शन की सुविधाओं को तय करते समय, कंपाइल करने से जुड़ी गड़बड़ियों से बचने के लिए, आपके Android प्रोजेक्ट में Jetpack लाइब्रेरी androidx.core:core:1.6.0
(या इसके बाद की) ज़रूरी है. ज़्यादा जानकारी के लिए, Android Jetpack का इस्तेमाल शुरू करना देखें.
स्टैटिक शॉर्टकट
अपने capability
की जानकारी देते समय, shortcuts.xml
में स्टैटिक shortcut
एलिमेंट का एलान किया जा सकता है, ताकि उसके फ़ंक्शन का इस्तेमाल किया जा सके. Google Play Console पर रिलीज़ अपलोड करने पर, Assistant स्टैटिक शॉर्टकट को इंजाइज़ कर लेती है.
स्टैटिक शॉर्टकट सिर्फ़ नई रिलीज़ बनाकर बनाए और अपडेट किए जा सकते हैं. इसलिए, ये आपके ऐप्लिकेशन में सामान्य गतिविधियों और कॉन्टेंट को हाइलाइट करने के लिए सबसे ज़्यादा काम के होते हैं.
स्टैटिक शॉर्टकट की मदद से, ऐप्लिकेशन ऐक्शन की ये सुविधाएं चालू की जा सकती हैं:
सुविधा के शॉर्टकट. ऐसे शॉर्टकट बनाएं जो आपके
capability
का एक इंस्टेंस लॉन्च करें. इसमें पहले से तय की गईintent
पैरामीटर वैल्यू शामिल होनी चाहिए. उदाहरण के लिए, ऐप्लिकेशन के लिए "दौड़ना शुरू करें" शॉर्टकट का एलान किया जा सकता है. यह शॉर्टकट, आपके फ़िटनेस ऐप्लिकेशन मेंSTART_EXERCISE
बीआईआई की सुविधा को चालू करता है.इन शॉर्टकट में
intent
,shortLabel
, औरlongLabel
एट्रिब्यूट होते हैं. इनकी मदद से, Assistant जैसे ऐप्लिकेशन या Android लॉन्चर पर किसी ऐप्लिकेशन के आइकॉन को दबाकर रखने पर, ये शॉर्टकट चिप के तौर पर सुझाए जाते हैं और उन्हें पूरा किया जाता है. ऐक्शन शॉर्टकट को इकाई के शॉर्टकट के तौर पर भी इस्तेमाल किया जा सकता है. इसके लिए,<capability-binding>
टैग का इस्तेमाल करके, इसेcapability
से जोड़ें. इस बारे में यहां बताया गया है.इकाई के शॉर्टकट. इकाई के शॉर्टकट,
capability
की वॉइस क्वेरी को पूरा करने के लिए, काम करने वाली पैरामीटर वैल्यू की सूची उपलब्ध कराते हैं. उदाहरण के लिए, कसरत के टाइप की सूची वाला इकाई शॉर्टकट ("हाइक," "रन" वगैरह),START_EXERCISE
की क्षमता केexercise.name
बीआईआई पैरामीटर से जुड़ा है. अगर उपयोगकर्ता की कही गई बात किसी इकाई से मेल खाती है, तो उपयोगकर्ता की क्वेरी की रॉ वैल्यू के बजाय,shortcutId
आईडी को इंटेंट को पास किया जाता है.Entity
शॉर्टकट,intent
,shortLabel
याlongLabel
एट्रिब्यूट को तय नहीं करते हैं. इसलिए, इन्हें अपने-आप काम करने वाले प्लैटफ़ॉर्म पर इस्तेमाल करने का सुझाव नहीं दिया जाता. ज़्यादा जानकारी के लिए, ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों के लिए इनलाइन इन्वेंट्री देखें.
क्षमता स्कीमा
नीचे दी गई टेबल में, shortcuts.xml
में capability
एलिमेंट के लिए ऐप्लिकेशन की खास सुविधाओं के लिए बनाई गई कार्रवाइयों के स्कीमा के बारे में बताया गया है. किसी टैग को शामिल करते समय, उसके सभी एट्रिब्यूट की वैल्यू देना ज़रूरी है. ऐसा तब तक करना होगा, जब तक कि एट्रिब्यूट को "ज़रूरी नहीं" के तौर पर मार्क न किया गया हो.
Shortcuts.xml टैग | इसमें शामिल है | विशेषताएं |
---|---|---|
<capability> |
<shortcuts> |
|
<intent> |
<capability> |
|
<url-template> |
<intent> |
|
<extra> |
<intent> |
सिर्फ़ फ़ोरग्राउंड ऐप्लिकेशन को शुरू करने के लिए लागू |
<parameter> |
<intent> |
|
<shortcut-fulfillment> |
<capability> |
सिर्फ़ इनलाइन इन्वेंट्री के लिए लागू |
<parameter> |
<shortcut-fulfillment> |
android:name |
<slice> |
<capability> |
सिर्फ़ Android स्लाइस के लिए लागू |
स्कीमा की जानकारी
इस सेक्शन में, capability
स्कीमा एलिमेंट के बारे में बताया गया है.
<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
: अगरintent
में उस टैग का एलान किया गया है, तो इस फ़ील्ड को<url-template>
से बदल दिया जाता है.
<url-template>
डिवाइस पर खोले जाने वाले डीप लिंक यूआरआई को बनाने के लिए टेंप्लेट. अगर टेंप्लेट के लिए सभी ज़रूरी पैरामीटर उपलब्ध हैं, तो टेंप्लेट को पहले से मौजूद इंटेंट पैरामीटर के साथ बड़ा किया जा सकता है. एचटीटीपी यूआरएल टेंप्लेट के उदाहरणों के लिए, यूआरएल टेंप्लेट से जुड़ा विकिपीडिया लेख देखें. टेंप्लेट का फ़ॉर्मैट, आरएफ़सी6570 यूआरआई टेंप्लेट स्पेसिफ़िकेशन के मुताबिक होता है.
यहां यूआरएल टेंप्लेट की वैल्यू के कुछ उदाहरण दिए गए हैं:
टेंप्लेट | वैल्यू | बड़ी की गई वैल्यू |
---|---|---|
https://example.com/test{?foo,bar} |
"foo": "123"
|
https://example.com/test?foo=123&bar=456 |
https://example.com/test?utm_campaign=appactions{&foo,bar} |
"foo": "123"
|
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
के लिए [फ़ोरग्राउंड ऐप्लिकेशन इनवोकेशन][] को चालू करने के लिए किया जाता है.
<parameter>
BII पैरामीटर को इंटेंट पैरामीटर की वैल्यू पर मैप करता है. ज़्यादा जानकारी के लिए, पैरामीटर डेटा और मैचिंग देखें.
विशेषताएं:
android:name
: इसintent
पैरामीटर से जोड़ने के लिए BII पैरामीटर का नाम. नाम, BII पैरामीटर का लीफ-लेवल फ़ील्ड होना चाहिए. उदाहरण के लिए,foodObservation.aboutFood.name
.android:key
: BII पैरामीटर वैल्यू की, डेवलपर की तय की गई कुंजी. उदाहरण के लिए,message.recipient.name
BII पैरामीटर के लिए,contact_name
तय किया जा सकता है.android:mimeType
: पैरामीटर का mimeType, जैसे किtext/*
. यह फ़ील्ड सिर्फ़ कस्टम इंटेंट के पैरामीटर के लिए ज़रूरी है.android:required
: इससे पता चलता है कि उपयोगकर्ता क्वेरी में इस पैरामीटर को शामिल करना ज़रूरी है या नहीं, ताकि इस इंटेंट का इस्तेमाल किया जा सके. अगर पैरामीटर उपलब्ध नहीं है, तो Assistant,capability
के लिए तय किए गए अगलेintent
का इस्तेमाल करके, उपयोगकर्ता की क्वेरी को पूरा करने की कोशिश करती है.
<shortcut-fulfillment>
इससे पता चलता है कि किसी तय पैरामीटर के लिए, इनलाइन इन्वेंट्री शॉर्टकट में तय किए गए intent
का इस्तेमाल, ऑर्डर पूरा करने के लिए किया जाएगा.
ज़्यादा जानकारी के लिए, शॉर्टकट इंटेंट का इस्तेमाल करके फ़ुलफ़िलमेंट लेख पढ़ें.
<parameter> (<shortcut-fulfillment>
के लिए)
ज़रूरी नहीं है. यह एट्रिब्यूट, इनवेंट्री के लिए शॉर्टकट फ़ुलफ़िलमेंट के साथ इनलाइन BII पैरामीटर को मैप करता है. ज़्यादा जानकारी के लिए, शॉर्टकट इंटेंट का इस्तेमाल करके फ़ुलफ़िलमेंट लेख पढ़ें.
एट्रिब्यूट:
android:name
: इनलाइन इन्वेंट्री शॉर्टकट फ़ुलफ़िलमेंट से जोड़ने के लिए BII पैरामीटर का नाम. नाम, BII पैरामीटर का लीफ़-लेवल फ़ील्ड होना चाहिए. उदाहरण के लिए,menuItem.name
.
<slice>
इससे Assistant, इस capability
से मैच करने वाली क्वेरी के नतीजे को Android स्लाइस के तौर पर एम्बेड कर पाती है. ज़्यादा जानकारी के लिए, Android स्लाइस के साथ ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों को इंटिग्रेट करना देखें.
शॉर्टकट स्कीमा
नीचे दी गई टेबल में, shortcut
एलिमेंट के एट्रिब्यूट के बारे में बताया गया है. इन एट्रिब्यूट का इस्तेमाल, ऐप्लिकेशन ऐक्शन की सुविधा चालू करने के लिए किया जाता है. टैग शामिल करते समय, उसके सभी एट्रिब्यूट की वैल्यू देना ज़रूरी है. हालांकि, अगर एट्रिब्यूट को "ज़रूरी नहीं" के तौर पर मार्क किया गया है, तो उसकी वैल्यू देना ज़रूरी नहीं है.
Shortcuts.xml टैग | इसमें शामिल है | विशेषताएं |
---|---|---|
<shortcut> |
<shortcuts> |
|
<intent> |
<shortcut> |
|
<capability-binding> |
|
|
<parameter-binding> |
<capability-binding> |
|
<extra> |
<shortcut> |
यह सिर्फ़ Enum पैरामीटर मैच करने के लिए लागू होता है. |
शॉर्टकट स्कीमा की जानकारी
इस सेक्शन में, shortcut
स्कीमा एलिमेंट के बारे में बताया गया है.
<शॉर्टकट>
shortcuts.xml
में तय किया गया Android <shortcut>
, जिसमें ऐप्लिकेशन ऐक्शन के लिए काम के कुछ एट्रिब्यूट हों. shortcutShortLabel
और shortcutLongLabel
फ़ील्ड की स्ट्रिंग वैल्यू का रेफ़रंस, APK के स्ट्रिंग रिसॉर्स की मदद से दिया जाता है.
विशेषताएं:
android:shortcutId
: इस शॉर्टकट का आइडेंटिफ़ायर.android:shortcutShortLabel
: स्ट्रिंग रिसॉर्स, जो शॉर्टकट के लिए इस्तेमाल होने वाले कम शब्दों वाले वाक्यांश को दिखाता है. उदाहरण के लिए,"@string/callDavidShort"
"डेविड को कॉल करें" वैल्यू दिखाता है.android:shortcutLongLabel
: लंबे शॉर्टकट फ़्रेज़ को दिखाने वाला स्ट्रिंग रिसॉर्स. उदाहरण के लिए,"@string/callDavidLong"
, "डेविड को ऑडियो कॉल करें" वैल्यू दिखाता है.
<intent>
इस शॉर्टकट से जुड़ा Android इंटेंट. यह intent
तब लागू होता है, जब उपयोगकर्ता बोलकर या टच करके इस शॉर्टकट को लॉन्च करता है.
shortcut
इंटेंट एट्रिब्यूट, capability
intent
एट्रिब्यूट से मेल खाते हैं.
<capability-binding>
shortcut
को ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों capability
से जोड़ता है. किसी shortcut
में यह एलिमेंट जोड़ने पर, Assistant
का इस्तेमाल करके वॉइस फ़ुलफ़िलमेंट की सुविधा चालू हो जाती है.
विशेषताएं:
android:key
:capability
केandroid:name
एट्रिब्यूट का इस्तेमाल,shortcut
के लिए किया जाता है. उदाहरण के लिए,actions.intent.START_EXERCISE
.
<parameter-binding>
ज़रूरी नहीं है. यह एट्रिब्यूट, shortcut
को किसी ऐप्लिकेशन ऐक्शन capability
के एक पैरामीटर से जोड़ता है. अगर shortcut
के लिए parameter-binding
तय किया गया है, तो शॉर्टकट का इस्तेमाल करके, BII पैरामीटर को इनलाइन इन्वेंट्री इकाई दी जा सकती है.
ज़्यादा जानकारी के लिए, ऐप्लिकेशन ऐक्शन के लिए इनलाइन इन्वेंट्री देखें.
विशेषताएं:
android:key
: इस शॉर्टकट को जोड़ने के लिए,capability
बीआईआई पैरामीटर का नाम. उदाहरण के लिए,exercise.name
.android:value
:entity
वैल्यू. यह कोई एकentity
या संसाधन सूची हो सकती है.
<अतिरिक्त>
शॉर्टकट के लिए, extra
बंडल का डेटा. Gemini ही ऐप्लिकेशन की खास सुविधाओं के लिए shortcut
एलिमेंट के लिए काम का डेटा है. sameAs यूआरएल, रेफ़रंस वाले उस वेब पेज का यूआरएल होता है जिससे इकाई की पहचान साफ़ तौर पर की जा सकती है. एनम वैल्यू के बारे में बताने के लिए इसका इस्तेमाल किया जाता है. हालांकि, ऐसा सिर्फ़ तब होता है, जब इंटेंट पैरामीटर टाइप, 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
एट्रिब्यूट में, ऑर्डर पूरा करने के लिए यूआरआई दिया जा सकता है. अगरintent
में भी टैग के बारे में बताया गया है, तो यह फ़ील्ड<url-template>
डेटा से बदल जाता है.
पैरामीटर डेटा और मैचिंग
डिफ़ॉल्ट रूप से Assistant, उपयोगकर्ता की क्वेरी से निकाले गए बीआईआई पैरामीटर को आपके ऐप्लिकेशन पर, capability
में बताए गए Android intent
के extra
डेटा के तौर पर भेजती है.
इसके अलावा, capability
में <url-template>
टैग का एलान किया जा सकता है. इसमें डाइनैमिक पैरामीटर के लिए प्लेसहोल्डर होते हैं. यह टेंप्लेट, ऐप्लिकेशन लिंक यूआरएल, कस्टम स्कीम या इंटेंट पर आधारित यूआरएल का इस्तेमाल करके, आपकी किसी 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, ExampleApp से लाटे ऑर्डर करें" जैसी उपयोगकर्ता क्वेरी के लिए, ऐप्लिकेशन को एक intent
मिलता है, जो कॉम्पोनेंट को चालू करता है:
targetPackage
, targetClass
. कॉम्पोनेंट को key = "exercise"
, value = "Running"
के साथ एक एक्सट्रा मिलता है.
Android डीप लिंक के लिए यूआरएल टेंप्लेट का इस्तेमाल करना
अगर आपके ऐप्लिकेशन में डाइनैमिक पैरामीटर के साथ, ऐप्लिकेशन से लिंक किए गए यूआरएल पहले से ही मैनेज किए जा सकते हैं, तो intent
में <url-template>
तय करके, Android डीप लिंक जनरेट किए जा सकते हैं. यहां दिए गए सैंपल में <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, ExampleApp से लैटे ऑर्डर करें" के लिए, ऐप्लिकेशन को जनरेट किया गया यूआरएल मिलता है: "myapp://start?exercise=Running".
अपने यूआरएल में BII पैरामीटर को किसी पोज़िशन पर मैप करने के लिए, <parameter>
टैग के android:name
एट्रिब्यूट का इस्तेमाल करें. यह एट्रिब्यूट, यूआरएल टेंप्लेट में मौजूद उस android:key
वैल्यू से जुड़ा होता है जिसे आपको उपयोगकर्ता की जानकारी से बदलना है. android:key
वैल्यू, आपके <url-template>
में मौजूद होनी चाहिए और कर्ली ब्रैकेट ({}
) में होनी चाहिए.
सूची में शामिल पैरामीटर वैल्यू को मैच करें
कुछ बीआईआई पैरामीटर, ग्राहक को सामान भेजने के इंटेंट के लिए, तय की गई वैल्यू देते हैं. उदाहरण के लिए, RECORD_FOOD_OBSERVATION
बीआईआई की इस्तेमाल की जा सकने वाली टेक्स्ट वैल्यू. इन पैरामीटर के लिए, Assistant, उपयोगकर्ता की क्वेरी ("ब्रेकफ़ास्ट") को ऐसी इकाई से मैच करती है जिसकी sameAs
वैल्यू, एनम स्कीमा यूआरएल
(https://schema.googleapis.com/MealTypeBreakfast
) से मैच होती है. इस्तेमाल किए जा सकने वाले entity
के लिए, enum की वैल्यू को जोड़ने के लिए, आपको अपने shortcut
में sameAs
असोसिएशन का एलान करना होगा. यहां दिए गए सैंपल में, इनलाइन इकाई के शॉर्टकट के लिए 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
: कस्टम इंटेंट का पैरामीटर टाइप. यह फ़ील्ड, उन बीआईआई के लिए ज़रूरी नहीं है जिनमें पैरामीटर टाइप की जानकारी पहले से मौजूद होती है. कस्टम इंटेंट पैरामीटर के लिए, काम करने वाला सिमैंटिक टाइप बताना ज़रूरी है.
ज़्यादा जानकारी के लिए, कस्टम इंटेंट देखें.