ইনলাইন ইনভেন্টরি

আপনি যখন আপনার অ্যান্ড্রয়েড অ্যাপের জন্য অ্যাপ অ্যাকশনগুলি প্রয়োগ করেন, তখন আপনি নিজেকে একটি থিমের বিভিন্নতার অনুরোধগুলি পরিচালনা করতে হতে পারেন। উদাহরণ স্বরূপ, বলুন আপনার ফিটনেস অ্যাপটি START_EXERCISE বিল্ট-ইন ইনটেন্ট (BII) প্রয়োগ করে যাতে ব্যবহারকারীরা সহকারীকে "Hey Google, Example App-এ একটি দৌড় শুরু করুন।"

এই অভিপ্রায় পূর্ণ করার জন্য "জগ," "স্প্রিন্ট," বা "রেস" এর মত বৈচিত্র সহ প্রতিটি ধরণের ওয়ার্কআউট পরিচালনা করার জন্য আপনার অনুরোধের সাথে মিলে যাওয়া যুক্তির প্রয়োজন। সমর্থিত ওয়ার্কআউট বৃদ্ধির সাথে সাথে এই যুক্তিটি দ্রুত কষ্টকর হয়ে ওঠে।

সমর্থিত BII-এর জন্য, যেমন START_EXERCISE , আপনি একটি ইনলাইন ইনভেন্টরি ব্যবহার করে এই জটিল ম্যাচিং যুক্তি এড়াতে পারেন৷ একটি ইনলাইন ইনভেনটরি হল স্ট্যাটিক অ্যান্ড্রয়েড শর্টকাটগুলির একটি সেট যা আপনার অ্যাপের বৈশিষ্ট্য এবং বিষয়বস্তু উপস্থাপন করে shortcuts.xml এ সংজ্ঞায়িত করা হয়েছে।

প্রতিটি শর্টকাটে একটি আইটেম শনাক্তকারী এবং প্রতিশব্দের একটি তালিকা রয়েছে যা ব্যবহারকারীরা কীভাবে আইটেমটি উল্লেখ করতে পারে তার বৈচিত্র্যের প্রতিনিধিত্ব করে। আহ্বানের সময়, BII ব্যবহারকারী-প্রদত্ত BII প্যারামিটারকে সমার্থক তালিকার সাথে তুলনা করে। যখন একটি মিল পাওয়া যায়, BII প্যারামিটারটি ম্যাচিং শর্টকাটের আইটেম শনাক্তকারীতে আপডেট করা হয়।

একটি ইনলাইন ইনভেনটরি Google অ্যাসিস্ট্যান্টকে অ্যাপ অ্যাকশন আহ্বানের সময় আপনার অ্যাপ্লিকেশনে দেওয়া BII প্যারামিটার মানগুলিকে সরল করতে দেয়।

ইনলাইন ইনভেনটরিগুলি BII প্যারামিটারের জন্য লুকআপ টেবিলের মতো কাজ করে, ব্যবহারকারীরা আপনার সংজ্ঞায়িত আইটেম শনাক্তকারীগুলি ব্যবহার করে আপনার অ্যাপের বৈশিষ্ট্য বা বিষয়বস্তু উল্লেখ করার বিভিন্ন উপায় প্রকাশ করে। তারা BII প্যারামিটার থেকে আইটেম শনাক্তকারীর জন্য আপনার পূর্ণতাগুলিকে প্রত্যাশিত করার মাধ্যমে আপনার অ্যাপের অনুরোধের সাথে মিলে যাওয়া যুক্তিকে সহজ করে তোলে।

ইনলাইন ইনভেন্টরি ব্যবহারকারী প্রবাহ চিত্র
চিত্র 1. একটি START_EXERCISE ক্ষমতার একটি ফ্লো ডায়াগ্রাম যা অ্যাপে সমর্থিত ব্যায়ামের ধরনগুলির জন্য ব্যবহারকারী-প্রদত্ত ওয়ার্কআউট নামগুলি ব্যাখ্যা করতে একটি ইনলাইন ইনভেন্টরি ব্যবহার করে৷

সীমাবদ্ধতা এবং বিকল্প

ইনলাইন ইনভেন্টরি শর্টকাটগুলির নিম্নলিখিত সীমাবদ্ধতা রয়েছে:

  • শর্টকাট সীমা: প্রতি অ্যাপে সর্বাধিক 1,000টি ইনলাইন ইনভেন্টরি শর্টকাট সংজ্ঞায়িত করা যেতে পারে।
  • প্রতিশব্দ সীমা: প্রতিটি ইনলাইন ইনভেন্টরি শর্টকাটে সর্বাধিক 20টি সমার্থক মান থাকতে পারে।
  • স্ট্যাটিক সংজ্ঞা: ইনলাইন ইনভেন্টরি শর্টকাটগুলি স্থিরভাবে shortcuts.xml এ ঘোষণা করা হয় এবং শুধুমাত্র আপনার অ্যাপের একটি নতুন সংস্করণ প্রকাশ করার মাধ্যমে আপনার ব্যবহারকারীদের জন্য আপডেট করা যেতে পারে।

স্ট্যাটিক কনফিগারেশনের প্রয়োজনীয়তার প্রেক্ষিতে, একটি ইনলাইন ইনভেনটরি সহকারীর কাছে কদাচিৎ পরিবর্তনশীল, ব্যক্তিগতকৃত অ্যাপের তথ্য যেমন মেনু আইটেম, বাসের রুট বা পানীয়ের আকার প্রসারিত করার জন্য সবচেয়ে উপযুক্ত। অন্যান্য ধরনের সামগ্রীর জন্য, এই বিকল্পগুলি বিবেচনা করুন:

  • ওয়েব ইনভেন্টরি: সমর্থিত অ্যাপ কন্টেন্ট শনাক্তকারীর সাথে ব্যবহারকারীর ক্যোয়ারী মেলে যখন সহকারীকে সর্বজনীন ওয়েব কন্টেন্ট জিজ্ঞাসা করতে দেয়। ওয়েব ইনভেন্টরি কোয়েরিগুলি একটি আহ্বানের সময় রিয়েল টাইমে ঘটে, যা আপনাকে প্রোডাক্ট ক্যাটালগ, সোশ্যাল মিডিয়া পোস্ট এবং অ্যাসিস্ট্যান্টের কাছে ঘন ঘন আপডেট করা অন্যান্য সামগ্রী প্রসারিত করতে দেয়।

  • ডায়নামিক শর্টকাট: অ্যাসিস্ট্যান্টের কাছে ব্যক্তিগতকৃত অ্যাপ কন্টেন্টের একটি তালিকা প্রসারিত করুন। ডায়নামিক শর্টকাটগুলি ব্যবহারকারীদের সাধারণ অ্যাকশনগুলিকে দ্রুত রিপ্লে করতে দেয়, যেমন খাবারের অর্ডারিং অ্যাপ থেকে তাদের প্রিয় পানীয়কে পুনরায় অর্ডার করা বা নোট নেওয়ার অ্যাপে একটি শপিং তালিকা টেনে আনা।

একটি ইনলাইন ইনভেন্টরি তৈরি করুন

একটি ইনলাইন ইনভেনটরি সহকারীকে বিভিন্ন উপায়ে ব্যবহারকারীরা আপনার অ্যাপের বিষয়বস্তু এবং বৈশিষ্ট্যগুলিকে আপনার অ্যাপ্লিকেশন দ্বারা প্রত্যাশিত অনুমানযোগ্য শনাক্তকারীতে অনুরোধ করে অনুবাদ করার একটি সহজ উপায় দিয়ে বিকাশকে সহজ করে। উদাহরণ স্বরূপ, ধরুন আপনার অ্যাপটি বিভিন্ন ওয়ার্কআউট অফার করে যা ব্যবহারকারীরা তাদের ভয়েস ব্যবহার করা শুরু করতে পারে এবং আপনার অ্যাপ আশা করে যে ব্যবহারকারীরা একই ধরনের ব্যায়ামের জন্য নিম্নলিখিত অনুরোধগুলি করবেন:

  • ওহে Google, উদাহরণ অ্যাপে একটি দৌড় শুরু করুন।
  • ওহে Google, উদাহরণ অ্যাপে একটি দৌড় শুরু করুন।

আপনার ইনলাইন ইনভেন্টরি শর্টকাটে, আপনি "CARDIO_RUN"shortcutId সেট করেছেন, আপনার অ্যাপের দ্বারা প্রত্যাশিত ব্যায়াম শনাক্তকারী৷ তারপরে আপনি shortcutId সাথে সম্পর্কিত প্রতিশব্দ হিসাবে "রান" এবং "জগ" নির্দিষ্ট করুন। তারপরে, যখন কোনও ব্যবহারকারী আপনার অ্যাপ অ্যাকশনকে পূর্ববর্তী প্রশ্নগুলির সাথে ট্রিগার করেন, তখন সহকারী একটি পূরণের অভিপ্রায় তৈরি করার সময় BII প্যারামিটারের জন্য সনাক্তকারী "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 একটি <capability-binding> উপাদানের মধ্যে একটি <parameter-binding> ট্যাগ ঘোষণা করে, এটিকে <capability> -এ সংজ্ঞায়িত exercise.name BII প্যারামিটারের সাথে আবদ্ধ করে।

স্ট্রিং অ্যারে রিসোর্স @array/run_names res/values/arrays.xml এ সমার্থক শব্দের একটি তালিকা নির্দিষ্ট করে যা সহকারী চিনতে পারে এবং "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 প্যারামিটারের জন্য সংশ্লিষ্ট প্লেসহোল্ডারে জেনারেট করা URL-এ ঢোকানো হয়। একটি নমুনা 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>

পূর্ববর্তী নমুনায়, সহকারী পরিপূর্ণতা ডিপ লিঙ্ক myapp://workout?exercise=CARDIO_RUN তৈরি করে।

শর্টকাট উদ্দেশ্য ব্যবহার করে পূর্ণতা

ডিফল্টরূপে, একটি শর্টকাট শর্টকাটের <capability-binding> ট্যাগে ঘোষিত হিসাবে শর্টকাটটি যে capability সাথে আবদ্ধ থাকে intent জন্য একটি ম্যাচিং ইনলাইন ইনভেন্টরি মানের shortcutId প্রদান করে। আপনি বিকল্পভাবে নির্দিষ্ট করতে পারেন যে শর্টকাটে সংজ্ঞায়িত একটি 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 পূরণের জন্য ব্যবহার করা হয়েছে।

খোলা অ্যাপ বৈশিষ্ট্য BII-এর জন্য ইনলাইন ইনভেন্টরি

যদিও ইনলাইন ইনভেন্টরি সাধারণত BIIগুলির জন্য একটি ঐচ্ছিক ক্ষমতা যা এটিকে সমর্থন করে, এটি নির্দিষ্ট BIIগুলির জন্য প্রয়োজন, যেমন OPEN_APP_FEATURE ৷ এই সাধারণভাবে ব্যবহৃত BII ব্যবহারকারীদের সহকারী ব্যবহার করে নির্দিষ্ট অ্যাপের বৈশিষ্ট্যগুলিতে গভীর লিঙ্ক করতে দেয়। আপনার অ্যাপে ব্যবহারকারীকে ডিপ-লিঙ্ক করার আগে একটি ব্যবহারকারীর অনুরোধ করা বৈশিষ্ট্য বিদ্যমান আছে কিনা তা যাচাই করার জন্য ওপেন অ্যাপ বৈশিষ্ট্য BII অ্যাপ বৈশিষ্ট্য নামের একটি ইনলাইন ইনভেনটরি প্রয়োজন।

একটি নমুনা app/res/shortcuts.xml ফাইল থেকে নিম্নলিখিত কোডটি অ্যাপের অর্ডার স্থিতি বৈশিষ্ট্য উপস্থাপন করে একটি একক শর্টকাট সহ এই BII প্রয়োগ করে:

<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>

পূর্ববর্তী ক্ষমতার সাথে, সহকারী একই বৈশিষ্ট্যের জন্য বিভিন্ন বাক্যাংশ পূরণ করতে পারে:

  • "Hey Google, উদাহরণ অ্যাপে আমার অর্ডারের স্ট্যাটাস দেখান।"
  • "ওহে Google, উদাহরণ অ্যাপে আমার অর্ডারগুলি দেখান।"
  • "ওহে Google, উদাহরণ অ্যাপে আমার অর্ডার ইতিহাস দেখান।"

ইনলাইন ইনভেন্টরি পরীক্ষা করুন

প্রাসঙ্গিক অ্যাপ অ্যাকশন ক্ষমতা পূরণ করার সময় সহকারী আপনার অ্যাপ্লিকেশনে প্রদান করে BII প্যারামিটার মানগুলি পরিদর্শন করে আপনার ইনভেন্টরি পরীক্ষা করুন। একটি ইনলাইন ইনভেনটরি একটি ইনলাইন ইনভেনটরি শর্টকাটের shortcutId দিয়ে একটি ইনভেনটরি-বাউন্ড BII প্যারামিটারের ব্যবহারকারী-প্রদত্ত মান প্রতিস্থাপন করে কাজ করে।

উদাহরণস্বরূপ, একটি START_EXERCISE BII সক্ষমতা ব্যবহারকারী-প্রদত্ত BII প্যারামিটার "রান" এর সংশ্লিষ্ট ব্যায়াম আইডি, "CARDIO_RUN" এ অনুবাদ করতে একটি ইনলাইন ইনভেন্টরি ব্যবহার করতে পারে।

Google অ্যাসিস্ট্যান্ট প্লাগইন আপনাকে একটি টেস্ট ডিভাইসে অ্যাসিস্ট্যান্ট-এ আপনার ইনলাইন ইনভেন্টরি অ্যাপ অ্যাকশনের পূর্বরূপ দেখতে দেয়। এই পদক্ষেপগুলি অনুসরণ করে প্লাগইন ব্যবহার করে আপনার জায় পরীক্ষা করুন:

  1. আপনার ইনলাইন ইনভেন্টরির সাথে সম্পর্কিত প্রতিশব্দ মানগুলির সাথে আপনার BII ক্ষমতার ইনভেন্টরি-বাউন্ড প্যারামিটারগুলি কনফিগার করুন
  2. প্লাগইন থেকে BII ট্রিগার করুন , এটি আপনার টেস্ট ডিভাইসে চালু করুন।
  3. অ্যাপ্লিকেশান অ্যাকশন পূরণের সময় সহায়ক আপনার অ্যাপ্লিকেশনে যে প্যারামিটার প্রদান করে তা পরিদর্শন করুন।