अपने Android ऐप्लिकेशन के लिए ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयां लागू करने पर,
एक थीम के अलग-अलग वर्शन वाले अनुरोधों को हैंडल करना ज़रूरी हो. उदाहरण के लिए, अपने
फ़िटनेस ऐप्लिकेशन START_EXERCISE
बिल्ट-इन इंटेंट (बीआईआई) को लागू करता है, ताकि
लोग Assistant से बोलकर कई तरह की कसरतें शुरू करते हैं, जैसे कि
"Ok Google, Example App पर दौड़ना शुरू करो."
इस इंटेंट को पूरा करने के लिए, आपके अनुरोध से मेल खाने वाले लॉजिक की ज़रूरत होगी, ताकि सभी कसरत का प्रकार, जिसमें "जॉग," "स्प्रिंट" या "रेस". साथ काम करने वाली कसरतों में बढ़ोतरी होने पर, यह तर्क जल्द ही जटिल हो जाता है.
START_EXERCISE
जैसे काम करने वाले बीआईआई के लिए, मुश्किल चीज़ों को मैच करने से बचा जा सकता है
लॉजिक के लिए इनलाइन इन्वेंट्री का इस्तेमाल करें. इनलाइन इन्वेंट्री, स्टैटिक का सेट होता है
shortcuts.xml
में बताए गए Android शॉर्टकट, सुविधाओं और कॉन्टेंट को दिखाते हैं
आपके ऐप्लिकेशन में.
हर शॉर्टकट में एक आइटम आइडेंटिफ़ायर और समानार्थी शब्दों की सूची होती है इससे उपयोगकर्ता को किसी आइटम के बारे में जानकारी मिल सकती है. शुरू करने के दौरान, बीआईआई, उपयोगकर्ता के दिए गए बीआईआई पैरामीटर की तुलना, समानार्थी शब्दों की सूची से करता है. जब मैच मिल गया है, तो बीआईआई पैरामीटर को मैच करने वाले शॉर्टकट के आइटम से अपडेट कर दिया जाता है आइडेंटिफ़ायर के तौर पर जोड़ा जाता है.
इनलाइन इन्वेंट्री की मदद से, Google Assistant बीआईआई पैरामीटर को आसान बना देती है ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों को शुरू करने के दौरान, आपके ऐप्लिकेशन को दी गई वैल्यू.
इनलाइन इन्वेंट्री, बीआईआई पैरामीटर के लिए लुकअप टेबल की तरह काम करती हैं, यह बताना कि उपयोगकर्ता आपके ऐप्लिकेशन में सुविधाओं या कॉन्टेंट को अलग-अलग तरीकों से कैसे रेफ़र करते हैं का इस्तेमाल करें. इनकी मदद से, आपके ऐप्लिकेशन के अनुरोध को मैच करने की प्रोसेस आसान हो जाती है बीआईआई से आइटम आइडेंटिफ़ायर का अनुमान लगाने के लिए लॉजिक पैरामीटर का इस्तेमाल करें.
![इनलाइन इन्वेंट्री यूज़र फ़्लो का डायग्राम](https://developer.android.com/static/guide/app-actions/images/appactions-inline-inventory-flow.png?authuser=9&hl=hi)
START_EXERCISE
क्षमता का फ़्लो डायग्राम, जो
इस्तेमाल किए जा सकने वाले वर्कआउट के नामों को समझने के लिए, इनलाइन इन्वेंट्री
ऐप में कसरत के टाइप के बारे में बात करते हैं.
सीमाएं और विकल्प
इनलाइन इन्वेंट्री शॉर्टकट की सीमाएं नीचे दी गई हैं:
- शॉर्टकट की सीमा: ज़्यादा से ज़्यादा 1,000 इनलाइन इन्वेंट्री शॉर्टकट हो सकते हैं तय किया जा सकता है.
- एक जैसे नाम लिखने की सीमा: हर इनलाइन इन्वेंट्री शॉर्टकट में ज़्यादा से ज़्यादा 20 नाम हो सकते हैं समानार्थी मान का इस्तेमाल करें.
- स्टैटिक परिभाषा: इनलाइन इन्वेंट्री शॉर्टकट की जानकारी स्टैटिक तरीके से दी जाती है
shortcuts.xml
में देखा जा सकता है और इसे सिर्फ़ आपके उपयोगकर्ताओं के लिए, नया पब्लिश करके अपडेट किया जा सकता है आपके ऐप्लिकेशन का वर्शन होना चाहिए.
स्टैटिक कॉन्फ़िगरेशन की ज़रूरी शर्तों को देखते हुए, इनलाइन इन्वेंट्री सबसे सही होती है इसका इस्तेमाल, ऐप्लिकेशन की ऐसी जानकारी के लिए किया जा सकता है जो लोगों के हिसाब से नहीं है. Assistant, जैसे कि मेन्यू आइटम, बस के रास्ते या ड्रिंक के साइज़ की जानकारी. अन्य तरह के तो इन विकल्पों पर विचार करें:
वेब इन्वेंट्री: इस सुविधा की मदद से, Assistant सार्वजनिक वेब कॉन्टेंट के साथ तब काम करती है, जब उपयोगकर्ता की क्वेरी का मिलान, काम करने वाले ऐप्लिकेशन कॉन्टेंट आइडेंटिफ़ायर से करना. वेब इन्वेंट्री कॉल शुरू करने के दौरान, क्वेरी रीयल टाइम में होती है. इससे आपको अपनी क्वेरी को आगे बढ़ाने में मदद मिलेगी प्रॉडक्ट कैटलॉग, सोशल मीडिया पोस्ट, और दूसरे कॉन्टेंट को बार-बार अपडेट करना Assistant को चालू करें.
डाइनैमिक शॉर्टकट: आपके हिसाब से बनाए गए ऐप्लिकेशन के कॉन्टेंट की इन्वेंट्री को बेहतर बनाते हैं Assistant को चालू करें. डाइनैमिक शॉर्टकट की मदद से उपयोगकर्ता, सामान्य समस्याओं को तेज़ी से फिर से देख सकते हैं जैसे, खाने-पीने की चीज़ें ऑर्डर करने वाले किसी ऐप्लिकेशन से उसकी पसंदीदा ड्रिंक ऑर्डर करना या नोट लेने वाले किसी ऐप्लिकेशन में ख़रीदारी की सूची ढूँढना.
इनलाइन इन्वेंट्री बनाएं
इनलाइन इन्वेंट्री, डेवलपमेंट को आसान बनाती है. इसके लिए, यह Assistant को आपके ऐप्लिकेशन के कॉन्टेंट और सुविधाओं के लिए अनुरोध करने के अलग-अलग तरीकों का अनुवाद करना उन आइडेंटिफ़ायर में शामिल करें जिनकी उम्मीद आपके ऐप्लिकेशन में होती है. इसके लिए उदाहरण के लिए, मान लें कि आपका ऐप्लिकेशन ऐसे अलग-अलग वर्कआउट ऑफ़र करता है, जिनका इस्तेमाल उपयोगकर्ता कर सकते हैं अपनी आवाज़ रिकॉर्ड कर सकता है. साथ ही, आपका ऐप्लिकेशन चाहता है कि उपयोगकर्ता नीचे दिए गए अनुरोध एक ही तरह की कसरत है:
- Ok Google, Example ऐप्लिकेशन पर दौड़ना शुरू करो.
- Ok Google, Example ऐप्लिकेशन पर जॉगिंग शुरू करें.
इनलाइन इन्वेंट्री शॉर्टकट में, shortcutId
को "CARDIO_RUN"
पर सेट किया जाता है.
कसरत से जुड़ा आइडेंटिफ़ायर. इसके बाद, "Run" तय करें और
"जॉग" shortcutId
से जुड़े समानार्थी शब्दों के तौर पर. इसके बाद, जब कोई उपयोगकर्ता
पिछली क्वेरी के साथ आपकी ऐप्लिकेशन कार्रवाई के लिए, Assistant आइडेंटिफ़ायर का इस्तेमाल करती है
ग्राहक को आइटम भेजने के इंटेंट को जनरेट करते समय, बीआईआई पैरामीटर के लिए "CARDIO_RUN"
.
सैंपल app/res/shortcuts.xml
फ़ाइल में से यह स्निपेट लागू होता है
यह मामला:
<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>
<shortcut android:shortcutId="CARDIO_RUN">
<capability-binding android:key="actions.intent.START_EXERCISE">
<parameter-binding
android:key="exercise.name"
android:value="@array/run_names" />
</capability-binding>
</shortcut>
पिछले सैंपल में, इनलाइन इन्वेंट्री shortcut
<parameter-binding>
टैग वाले <capability-binding>
एलिमेंट में,
इसे exercise.name
बीआईआई पैरामीटर से बाइंड करेगा
<capability>
.
स्ट्रिंग अरे रिसॉर्स @array/run_names
में समानार्थी शब्दों की सूची दी गई है
res/values/arrays.xml
जिसे Assistant पहचानती है और
"CARDIO_RUN"
आइटम आईडी:
<!-- Synonym values for "CARDIO_RUN" inline inventory -->
<resources>
<string-array name="run_names">
<item>Run</item>
<item>Jog</item>
<item>Sprint</item>
</string-array>
</resources>
जब क्षमता के लिए <url-template>
दिया गया हो, तो shortcutId
के लिए
जनरेट किए गए यूआरएल में, मिलती-जुलती वैल्यू
पैरामीटर के लिए प्लेसहोल्डर. किसी सैंपल से यह कोड
app/res/shortcuts.xml
फ़ाइल इस केस को लागू करती है:
<capability android:name="actions.intent.START_EXERCISE">
<intent>
<url-template android:value="myapp://workout{?exercise}" />
<parameter android:name="exercise.name" android:key="exercise" />
</intent>
</capability>
<shortcut android:shortcutId="CARDIO_RUN">
<capability-binding android:key="actions.intent.START_EXERCISE">
<parameter-binding
android:key="exercise.name"
android:value="@array/run_names" />
</capability-binding>
</shortcut>
पिछले सैंपल में, Assistant ग्राहक को आइटम भेजने के लिए डीप लिंक जनरेट करती है
myapp://workout?exercise=CARDIO_RUN
.
शॉर्टकट इंटेंट का इस्तेमाल करके ऑर्डर पूरा करना
डिफ़ॉल्ट रूप से, शॉर्टकट, मेल खाने वाली इनलाइन इन्वेंट्री का shortcutId
उपलब्ध कराता है
capability
की intent
तक मान, शॉर्टकट के लिए लागू होता है, जैसा कि एलान किया गया है
शॉर्टकट के <capability-binding>
टैग में. आप
वैकल्पिक तौर पर यह बताएं कि शॉर्टकट में तय किए गए intent
का इस्तेमाल
ऑर्डर पूरा करने के लिए, capability
में <shortcut-fulfillment>
टैग जोड़ें.
सैंपल app/res/shortcuts.xml
फ़ाइल में दिया गया यह कोड लागू होता है
शॉर्टकट फ़ुलफ़िलमेंट:
<capability android:name="actions.intent.START_EXERCISE">
<shortcut-fulfillment>
<parameter android:name="exercise.name"/>
</shortcut-fulfillment>
</capability>
<shortcut android:shortcutId="CARDIO_RUN">
<capability-binding android:key="actions.intent.START_EXERCISE">
<parameter-binding
android:key="exercise.name"
android:value="@array/run_names" />
</capability-binding>
<intent android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.ExerciseActivity">
<parameter android:name="exercise.name" android:key="exercise" />
</intent>
</shortcut>
पिछले सैंपल में, अगर उपयोगकर्ता की क्वेरी, इनलाइन इन्वेंट्री की वैल्यू से मेल खाती है
exercise.name
पैरामीटर के लिए, <shortcut-fulfillment>
टैग
इससे पता चलता है कि बाउंड शॉर्टकट के intent
का इस्तेमाल, ऑर्डर पूरा करने के लिए किया जाता है.
ओपन ऐप्लिकेशन की सुविधा के बीआईआई के लिए इनलाइन इन्वेंट्री
इनलाइन इन्वेंट्री, आम तौर पर उन बीआईआई के लिए एक वैकल्पिक क्षमता होती है जो
की सुविधा देता है, तो यह OPEN_APP_FEATURE
जैसे कुछ बीआईआई के लिए ज़रूरी है. यह
आम तौर पर इस्तेमाल होने वाले बीआईआई की मदद से उपयोगकर्ता, ऐप्लिकेशन की खास सुविधाओं में डीप-लिंक कर सकते हैं
Assistant का इस्तेमाल करें.
खुले हुए ऐप्लिकेशन की सुविधा से जुड़ी बीआईआई की मदद से, ऐप्लिकेशन में सुविधाओं के नामों की इनलाइन इन्वेंट्री बनाई जा सकती है, ताकि
Google Analytics 4 प्रॉपर्टी में उपयोगकर्ता को डीप-लिंक करने से पहले
आपका ऐप्लिकेशन.
सैंपल app/res/shortcuts.xml
फ़ाइल में दिया गया यह कोड इसे लागू करता है
बीआईआई के साथ एक ही शॉर्टकट है, जो ऐप्लिकेशन के ऑर्डर की स्थिति बताने वाली सुविधा को दिखाता है:
<capability android:name="actions.intent.OPEN_APP_FEATURE">
<intent
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.MyClass">
<parameter
android:name="feature"
android:key="featureParam" />
</intent>
<!-- Required fallback fulfillment to handle when parameters are missing from user query. -->
<intent
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.MyClass">
<parameter
android:name="HOME_SCREEN"
android:key="featureParam" />
</intent>
</capability>
<!-- Inline inventory for OPEN_APP_FEATURE. -->
<shortcut android:shortcutId="ORDER_STATUS">
<capability-binding android:key="actions.intent.OPEN_APP_FEATURE">
<parameter-binding
android:key="feature"
android:value="@array/order_status_names" />
</capability-binding>
</shortcut>
res/values/arrays.xml
में मौजूद स्ट्रिंग अरे रिसॉर्स,
@array/order_status_names
,
इस सुविधा के समानार्थी शब्द:
<resources>
<string-array name="order_status_names">
<item>Order status</item>
<item>Orders</item>
<item>Order history</item>
</string-array>
</resources>
पहले इस्तेमाल की जा सकने वाली सुविधाओं की मदद से, Assistant कई तरह की सुविधाएं दे सकती है एक ही सुविधा के लिए वाक्यांश:
- "Ok Google, Example ऐप्लिकेशन पर मेरे ऑर्डर की स्थिति दिखाओ."
- "Ok Google, Example ऐप्लिकेशन पर मेरे ऑर्डर दिखाओ."
- "Ok Google, Example ऐप्लिकेशन पर मेरे ऑर्डर का इतिहास दिखाओ."
इनलाइन इन्वेंट्री की जांच करें
अपनी इन्वेंट्री की जांच करने के लिए, Assistant से मिली बीआईआई पैरामीटर वैल्यू की जांच करें
ऐप्लिकेशन की ख़ास सुविधाओं के लिए कार्रवाई करने की सुविधाओं को पूरा करते हुए, आपके ऐप्लिकेशन को. इनलाइन
इन्वेंट्री में, उपयोगकर्ता से मिली बीआईआई की वैल्यू की जगह, बीआईआई की वैल्यू को बदला जाता है
मेल खाने वाले इनलाइन इन्वेंट्री शॉर्टकट के shortcutId
के साथ पैरामीटर जोड़ें.
इसके लिए
उदाहरण के लिए, START_EXERCISE
बीआईआई की सुविधा, इनलाइन इन्वेंट्री का इस्तेमाल इन कामों के लिए कर सकती है
उपयोगकर्ता के दिए गए बीआईआई पैरामीटर "Run" का अनुवाद करें या प्रॉडक्ट डेटा को एक्सपोर्ट करने के लिए
आईडी, "CARDIO_RUN"
.
Google Assistant प्लगिन की मदद से, इनलाइन इन्वेंट्री ऐप्लिकेशन की झलक देखी जा सकती है टेस्ट डिवाइस पर, Assistant की कार्रवाइयाँ. प्लगिन का इस्तेमाल करके अपनी इन्वेंट्री की जांच करें इसके लिए, यह तरीका अपनाएं:
- बीआईआई की क्षमता के इन्वेंट्री से जुड़े पैरामीटर को कॉन्फ़िगर करना: आपकी इनलाइन इन्वेंट्री से जुड़े समानार्थी मान.
- अपने टेस्ट डिवाइस पर, प्लगिन से बीआईआई को ट्रिगर करें.
- Assistant से मिले पैरामीटर की वैल्यू की जांच करें ऐप्लिकेशन की कार्रवाई पूरी करने के दौरान मिला आवेदन.