इनलाइन इन्वेंट्री

अपने Android ऐप्लिकेशन के लिए ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयां लागू करने पर, एक थीम के अलग-अलग वर्शन वाले अनुरोधों को हैंडल करना ज़रूरी हो. उदाहरण के लिए, अपने फ़िटनेस ऐप्लिकेशन START_EXERCISE बिल्ट-इन इंटेंट (बीआईआई) को लागू करता है, ताकि लोग Assistant से बोलकर कई तरह की कसरतें शुरू करते हैं, जैसे कि "Ok Google, Example App पर दौड़ना शुरू करो."

इस इंटेंट को पूरा करने के लिए, आपके अनुरोध से मेल खाने वाले लॉजिक की ज़रूरत होगी, ताकि सभी कसरत का प्रकार, जिसमें "जॉग," "स्प्रिंट" या "रेस". साथ काम करने वाली कसरतों में बढ़ोतरी होने पर, यह तर्क जल्द ही जटिल हो जाता है.

START_EXERCISE जैसे काम करने वाले बीआईआई के लिए, मुश्किल चीज़ों को मैच करने से बचा जा सकता है लॉजिक के लिए इनलाइन इन्वेंट्री का इस्तेमाल करें. इनलाइन इन्वेंट्री, स्टैटिक का सेट होता है shortcuts.xml में बताए गए Android शॉर्टकट, सुविधाओं और कॉन्टेंट को दिखाते हैं आपके ऐप्लिकेशन में.

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

इनलाइन इन्वेंट्री की मदद से, Google Assistant बीआईआई पैरामीटर को आसान बना देती है ऐप्लिकेशन की खास सुविधाओं के लिए कार्रवाइयों को शुरू करने के दौरान, आपके ऐप्लिकेशन को दी गई वैल्यू.

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

इनलाइन इन्वेंट्री यूज़र फ़्लो का डायग्राम
पहली इमेज. 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 की कार्रवाइयाँ. प्लगिन का इस्तेमाल करके अपनी इन्वेंट्री की जांच करें इसके लिए, यह तरीका अपनाएं:

  1. बीआईआई की क्षमता के इन्वेंट्री से जुड़े पैरामीटर को कॉन्फ़िगर करना: आपकी इनलाइन इन्वेंट्री से जुड़े समानार्थी मान.
  2. अपने टेस्ट डिवाइस पर, प्लगिन से बीआईआई को ट्रिगर करें.
  3. Assistant से मिले पैरामीटर की वैल्यू की जांच करें ऐप्लिकेशन की कार्रवाई पूरी करने के दौरान मिला आवेदन.