shortcuts.xml তৈরি করুন

একবার আপনি আপনার অ্যাপ-মধ্যস্থ কার্যকারিতা এবং প্রয়োগ করার জন্য সংশ্লিষ্ট অন্তর্নির্মিত অভিপ্রায় (BII) সনাক্ত করার পরে, একটি shortcuts.xml রিসোর্স ফাইলে একটি capability উপাদান সংজ্ঞায়িত করে আপনার কার্যকারিতা সমর্থন করে এমন BII ঘোষণা করুন৷ একটি BII কে একটি capability হিসাবে ঘোষণা করা আপনার অ্যাপে সেই শব্দার্থিক অভিপ্রায়ের জন্য সমর্থন নিবন্ধন করে এবং Google সহকারী ব্যবহার করে অভিপ্রায়ের ভয়েস কোয়েরি পূরণ করতে সক্ষম করে।

সহকারী ব্যবহারকারীর কোয়েরি থেকে প্যারামিটার বের করতে প্রাকৃতিক ভাষা প্রক্রিয়াকরণ ব্যবহার করে। অন্তর্নির্মিত ইন্টেন্ট রেফারেন্স সেই ক্ষেত্রগুলিকে তালিকাভুক্ত করে যা প্রতিটি BII একটি সংশ্লিষ্ট ব্যবহারকারীর ক্যোয়ারী থেকে বের করতে সক্ষম। উদাহরণ স্বরূপ, যদি কোনো ব্যবহারকারী আপনার অ্যাপে [ actions.intent.GET_FOOD_OBSERVATION ][] ক্যাপাবিলিটি ব্যবহার করে বলেন, "Hey Google, ExampleApp কে জিজ্ঞাসা করুন আমি গত শুক্রবার দুপুরের খাবারে কি খেয়েছি" , সহকারী ব্যবহারকারীর অনুরোধ থেকে নিম্নলিখিত BII প্যারামিটারগুলি বের করে :

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

সহকারী BII পরামিতিগুলিকে capability মধ্যে সংজ্ঞায়িত পরিপূর্ণতার intent পাস করে। এক বা একাধিক intent উপাদানগুলিকে বিভিন্ন উপায়ে মিটমাট করার ক্ষমতার মধ্যে সংজ্ঞায়িত করা যেতে পারে যা একজন ব্যবহারকারী একটি BII আহ্বান করতে পারে। উদাহরণস্বরূপ, আপনি একটি পূর্ণতা intent নির্ধারণ করতে পারেন যার জন্য উপরের উদাহরণে উভয় BII পরামিতি প্রয়োজন। তারপরে আপনি একটি দ্বিতীয় উদ্দেশ্য সংজ্ঞায়িত করতে পারেন যার জন্য একটি একক BII প্যারামিটার প্রয়োজন, foodObservation.forMeal , যা একটি নির্দিষ্ট দিনে সমস্ত খাবারের জন্য রিপোর্ট করে, যেমন "Hey Google, ExampleApp কে জিজ্ঞাসা করুন আমি দুপুরের খাবারে কি খেয়েছি।"

ওভারভিউ

আপনি আপনার অ্যাপ প্রকল্পের res/xml ডিরেক্টরিতে রাখা একটি shortcuts.xml ফাইল ব্যবহার করে অ্যাপ অ্যাকশন কনফিগার করেন এবং তারপরে আপনার অ্যাপ ম্যানিফেস্টে shortcuts.xml এর একটি রেফারেন্স তৈরি করেন। এই পদক্ষেপগুলি অনুসরণ করে আপনার অ্যাপ ম্যানিফেস্টে shortcuts.xml এর একটি রেফারেন্স যোগ করুন:

  1. আপনার অ্যাপের ম্যানিফেস্ট ফাইলে ( AndroidManifest.xml ), এমন একটি কার্যকলাপ খুঁজুন যার অভিপ্রায় ফিল্টারগুলি android.intent.action.MAIN অ্যাকশন এবং android.intent.category.LAUNCHER বিভাগে সেট করা আছে৷

  2. Activity একটি <meta-data> ট্যাগ ব্যবহার করে AndroidManifest.xmlshortcuts.xml এর একটি রেফারেন্স যোগ করুন যাতে MAIN এবং LAUNCHER উভয়ের জন্যই উদ্দেশ্য ফিল্টার রয়েছে, নিম্নরূপ:

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

উপরের উদাহরণটি APK-এ xml/shortcuts.xml ফাইলের জন্য একটি XML সংস্থান ঘোষণা করে। শর্টকাট কনফিগার করার বিষয়ে আরও বিস্তারিত জানার জন্য, অ্যান্ড্রয়েড ডেভেলপার ডকুমেন্টেশনে স্ট্যাটিক শর্টকাট তৈরি করুন দেখুন।

আপনার Android প্রকল্পে Jetpack লাইব্রেরি androidx.core:core:1.6.0 (বা বড়) প্রয়োজন যাতে সংকলন ত্রুটিগুলি এড়াতে shortcuts.xml এ অ্যাপ অ্যাকশনের ক্ষমতা সংজ্ঞায়িত করা হয়। বিস্তারিত জানার জন্য, Android Jetpack এর সাথে শুরু করা দেখুন।

স্ট্যাটিক শর্টকাট

আপনার capability সংজ্ঞায়িত করার সময়, আপনি সক্ষমতার কার্যকারিতা প্রসারিত করতে shortcuts.xml এ স্ট্যাটিক shortcut উপাদান ঘোষণা করতে পারেন। আপনি যখন Google Play Console-এ রিলিজ আপলোড করেন তখন অ্যাসিস্ট্যান্ট দ্বারা স্ট্যাটিক শর্টকাট ইনজেস্ট করা হয়। যেহেতু স্ট্যাটিক শর্টকাটগুলি শুধুমাত্র নতুন রিলিজ তৈরি করে তৈরি এবং আপডেট করা যেতে পারে, তাই আপনার অ্যাপে সাধারণ ক্রিয়াকলাপ এবং বিষয়বস্তু হাইলাইট করার জন্য এগুলি সবচেয়ে কার্যকর।

আপনি স্ট্যাটিক শর্টকাট সহ নিম্নলিখিত অ্যাপ অ্যাকশন কার্যকারিতা সক্ষম করতে পারেন:

  • ক্ষমতা শর্টকাট . শর্টকাট তৈরি করুন যা পূর্বনির্ধারিত intent প্যারামিটার মান ধারণকারী আপনার capability একটি উদাহরণ চালু করে। উদাহরণ স্বরূপ, আপনি একটি অ্যাপ শর্টকাট ঘোষণা করতে পারেন "একটি দৌড় শুরু করুন" যা আপনার ফিটনেস অ্যাপে START_EXERCISE BII সক্ষমতাকে আহ্বান করে৷

    এই শর্টকাটগুলিতে intent , shortLabel এবং longLabel বৈশিষ্ট্য রয়েছে, যা এগুলিকে প্রোঅ্যাকটিভ সারফেস, যেমন অ্যাসিস্ট্যান্ট বা অ্যান্ড্রয়েড লঞ্চারে একটি অ্যাপ আইকন দীর্ঘক্ষণ চাপার সময় চিপ হিসাবে প্রস্তাবিত এবং পূরণ করার যোগ্য করে তোলে। একটি অ্যাকশন শর্টকাট একটি <capability-binding> ট্যাগ ব্যবহার করে একটি capability সাথে যুক্ত করে নিচে বিস্তারিতভাবে একটি সত্তা শর্টকাট হিসেবেও কাজ করতে পারে।

  • সত্তা শর্টকাট এন্টিটি শর্টকাট একটি capability ভয়েস ক্যোয়ারী পূরণের জন্য সমর্থিত প্যারামিটার মানগুলির একটি তালিকা প্রদান করে৷ উদাহরণ স্বরূপ, ব্যায়ামের প্রকারের একটি তালিকা সহ একটি সত্তা শর্টকাট ("হাইক," "রান," ইত্যাদি) START_EXERCISE ক্ষমতার exercise.name BII প্যারামিটারের সাথে আবদ্ধ৷ যদি কোনো ব্যবহারকারীর উচ্চারণ কোনো সত্তার সাথে মিলে যায়, তাহলে shortcutId আইডিটি কাঁচা ব্যবহারকারীর ক্যোয়ারী মানের পরিবর্তে অভিপ্রায়ে পাঠানো হয়।

    Entity শর্টকাটগুলি intent , shortLabel বা longLabel বৈশিষ্ট্যগুলিকে সংজ্ঞায়িত করে না এবং এটি সক্রিয় পৃষ্ঠগুলিতে প্রস্তাবিত নয়৷ বিস্তারিত জানার জন্য, অ্যাপ অ্যাকশনের জন্য ইনলাইন ইনভেন্টরি দেখুন।

সক্ষমতা স্কিমা

নিম্নলিখিত টেবিলটি shortcuts.xmlcapability উপাদানগুলির জন্য অ্যাপ অ্যাকশন স্কিমা বর্ণনা করে। একটি ট্যাগ অন্তর্ভুক্ত করার সময়, "ঐচ্ছিক" হিসাবে চিহ্নিত না হলে এর সমস্ত বৈশিষ্ট্য প্রয়োজন।

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>

শুধুমাত্র অ্যান্ড্রয়েড স্লাইস জন্য প্রযোজ্য

ক্ষমতা স্কিমা বিবরণ

এই বিভাগে capability স্কিমা উপাদান বর্ণনা.

<সামর্থ্য>

একটি capability যা আপনার অ্যাপ সমর্থন করে অ্যাপ অ্যাকশন অভিপ্রায় নির্ধারণ করে। আপনার shortcuts.xml ফাইলের প্রতিটি <capability> উপাদানকে অবশ্যই কর্মের পরিপূর্ণতা পরিচালনা করতে কমপক্ষে একটি <intent> প্রদান করতে হবে।

গুণাবলী:

  • android:name : অন্তর্নির্মিত অভিপ্রায় অ্যাকশন আইডি (উদাহরণস্বরূপ, [ actions.intent.GET_FOOD_OBSERVATION ][])। সমর্থিত অন্তর্নির্মিত অভিপ্রায়গুলির একটি তালিকার জন্য, অন্তর্নির্মিত অভিপ্রায় উল্লেখ দেখুন।
  • app:queryPatterns : এই উদ্দেশ্যের জন্য ব্যবহারকারীর কাছ থেকে প্রত্যাশিত প্রশ্নের একটি স্ট্রিং অ্যারে রিসোর্স। এই অ্যাট্রিবিউটটি শুধুমাত্র কাস্টম ইন্টেন্টের ক্ষেত্রে প্রযোজ্য, কারণ BII-তে ইতিমধ্যেই ব্যবহারকারীরা যে কাজগুলি করার চেষ্টা করছেন বা তারা যে তথ্য খুঁজছেন তা প্রকাশ করার সাধারণ উপায়গুলির মডেল অন্তর্ভুক্ত করে৷

<ইন্টেন্ট>

অ্যাপ-মধ্যস্থ কার্যকারিতা ব্যবহার করে ব্যবহারকারীর প্রশ্ন কীভাবে পূরণ করা উচিত তা নির্ধারণ করে Android intent উপাদান। বিকাশকারীরা একটি capability একাধিক <intent> ট্যাগ প্রদান করতে পারে। অ্যাসিস্ট্যান্ট প্রথম <intent> capability করে একটি ব্যবহারকারীর কোয়েরি পূরণ করার চেষ্টা করে যার জন্য সমস্ত প্রয়োজনীয় প্যারামিটার দেওয়া আছে।

গুণাবলী:

  • android:action : উদ্দেশ্য Action টাইপ। ACTION_VIEW এ ডিফল্ট।
  • android:targetClass : টার্গেট অ্যাক্টিভিটি ক্লাস, উদাহরণস্বরূপ: "com.example.exercise.ExerciseActivity"
  • android:targetPackage : টার্গেট অ্যাক্টিভিটি ক্লাস ধারণকারী প্যাকেজ, উদাহরণস্বরূপ: "com.example.exercise
  • android:data : এই ক্ষেত্রটি <url-template> দ্বারা ওভাররাইট করা হয় যদি সেই ট্যাগটি intent ঘোষণা করা হয়।

<url-টেমপ্লেট>

ডিভাইসে খোলার জন্য একটি গভীর লিঙ্ক URI নির্মাণের জন্য টেমপ্লেট। টেমপ্লেটের জন্য সমস্ত প্রয়োজনীয় পরামিতি উপলব্ধ থাকলে অন্তর্নির্মিত অভিপ্রায় পরামিতিগুলির সাথে টেমপ্লেটটি প্রসারিত করা যেতে পারে। HTTP URL টেমপ্লেটের উদাহরণের জন্য, URL টেমপ্লেটের উইকিপিডিয়া নিবন্ধটি দেখুন। টেমপ্লেট বিন্যাস RFC6570 URI টেমপ্লেট স্পেসিফিকেশন অনুসরণ করে।

নীচে URL টেমপ্লেট মানগুলির কিছু উদাহরণ রয়েছে:

টেমপ্লেট মূল্যবোধ প্রসারিত মান
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

ইউআরএল টেমপ্লেট কনফিগার করার বিষয়ে আরও জানতে, পূরণে ইউআরএল টেমপ্লেট দেখুন।

<অতিরিক্ত>

একটি intent জন্য অতিরিক্ত ডেটা সংজ্ঞায়িত করে। অ্যাপ অ্যাকশনের জন্য, এই ক্ষেত্রটি শুধুমাত্র একটি capability জন্য [ফোরগ্রাউন্ড অ্যাপ ইনভোকেশন][] সক্ষম করতে ব্যবহার করা হয়।

<প্যারামিটার>

উদ্দেশ্য প্যারামিটার মানগুলির সাথে একটি BII প্যারামিটার ম্যাপ করে৷ আরও তথ্যের জন্য, প্যারামিটার ডেটা এবং ম্যাচিং দেখুন।

গুণাবলী:

  • android:name : এই intent প্যারামিটারের সাথে যুক্ত করার জন্য BII প্যারামিটারের নাম। নামটি BII প্যারামিটারের একটি পাতা-স্তরের ক্ষেত্র হওয়া উচিত (উদাহরণস্বরূপ, foodObservation.aboutFood.name )।
  • android:key : একটি BII প্যারামিটার মানের বিকাশকারী-সংজ্ঞায়িত কী। উদাহরণস্বরূপ, আপনি message.recipient.name BII প্যারামিটারের জন্য contact_name সংজ্ঞায়িত করতে পারেন।
  • android:mimeType : প্যারামিটারের mimeType, যেমন text/* । এই ক্ষেত্রটি শুধুমাত্র কাস্টম ইন্টেন্টের প্যারামিটারের জন্য প্রয়োজন।
  • android:required : এই অভিপ্রায় পূরণের জন্য ব্যবহার করার জন্য ব্যবহারকারীর কোয়েরিতে এই প্যারামিটারটি অন্তর্ভুক্ত করতে হবে কিনা তা ঘোষণা করে। প্যারামিটার উপলব্ধ না হলে, সহকারী capability জন্য সংজ্ঞায়িত পরবর্তী intent ব্যবহার করে ব্যবহারকারীর প্রশ্ন পূরণ করার চেষ্টা করে।

<শর্টকাট-পূরণ>

নির্দিষ্ট করে যে একটি নির্দিষ্ট প্যারামিটারের জন্য একটি ইনলাইন ইনভেন্টরি শর্টকাটে সংজ্ঞায়িত একটি intent পূরণের জন্য ব্যবহার করা হবে। বিশদ বিবরণের জন্য, শর্টকাট উদ্দেশ্য ব্যবহার করে পূর্ণতা দেখুন।

<প্যারামিটার> ( <shortcut-fulfillment> জন্য>)

ঐচ্ছিক বৈশিষ্ট্য যা ইনলাইন ইনভেন্টরি শর্টকাট পূরণের জন্য একটি একক BII প্যারামিটার ম্যাপ করে। বিশদ বিবরণের জন্য, শর্টকাট উদ্দেশ্য ব্যবহার করে পূর্ণতা দেখুন।

বৈশিষ্ট্য:

  • android:name : ইনলাইন ইনভেন্টরি শর্টকাট পূরণের সাথে যুক্ত করার জন্য BII প্যারামিটারের নাম। নামটি BII প্যারামিটারের একটি পাতা-স্তরের ক্ষেত্র হওয়া উচিত (উদাহরণস্বরূপ, menuItem.name )।

<স্লাইস>

একটি অ্যান্ড্রয়েড স্লাইস হিসাবে এই capability সাথে মেলে এমন একটি প্রশ্নের ফলাফল এম্বেড করতে সহায়ককে সক্ষম করে৷ বিশদ বিবরণের জন্য, 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 স্কিমা উপাদান বর্ণনা করা হয়.

<শর্টকাট>

একটি Android <shortcut> সংজ্ঞায়িত কিছু নির্দিষ্ট বৈশিষ্ট্য সহ shortcuts.xml এ যা অ্যাপ অ্যাকশনের জন্য প্রাসঙ্গিক। shortcutShortLabel এবং shortcutLongLabel ক্ষেত্রগুলির জন্য স্ট্রিং মানগুলি APK এর স্ট্রিং সংস্থানগুলির মাধ্যমে উল্লেখ করা হয়৷

গুণাবলী:

  • android:shortcutId : এই শর্টকাটের জন্য শনাক্তকারী।
  • android:shortcutShortLabel : স্ট্রিং রিসোর্স একটি সংক্ষিপ্ত শর্টকাট বাক্যাংশ উপস্থাপন করে। উদাহরণস্বরূপ, "@string/callDavidShort" মান প্রতিনিধিত্ব করে "ডেভিডকে কল করুন।"
  • android:shortcutLongLabel : স্ট্রিং রিসোর্স একটি দীর্ঘ শর্টকাট বাক্যাংশের প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, "@string/callDavidLong" মান প্রতিনিধিত্ব করে "ডেভিডকে একটি অডিও কল করুন।"

<ইন্টেন্ট>

এই শর্টকাটের সাথে যুক্ত Android অভিপ্রায়। এই intent কার্যকর করা হয় যখন কোনও ব্যবহারকারী ভয়েস বা স্পর্শ ব্যবহার করে এই শর্টকাটটি চালু করেন।

shortcut অভিপ্রায় বৈশিষ্ট্যগুলি capability intent বৈশিষ্ট্যগুলির সাথে অভিন্ন৷

<ক্যাপাবিলিটি-বাইন্ডিং>

একটি অ্যাপ অ্যাকশন capability একটি shortcut যুক্ত করে। একটি shortcut এই উপাদানটি যোগ করা হলে এটি Assistant ব্যবহার করে ভয়েস পূরণের জন্য সক্ষম করে।

গুণাবলী:

  • android:key : এই shortcut capability android:name বৈশিষ্ট্যটি আবদ্ধ। উদাহরণস্বরূপ, actions.intent.START_EXERCISE

<প্যারামিটার-বাইন্ডিং>

ঐচ্ছিক বৈশিষ্ট্য যা একটি অ্যাপ অ্যাকশন capability একটি একক প্যারামিটারের সাথে একটি shortcut যুক্ত করে। যদি একটি shortcut জন্য একটি parameter-binding সংজ্ঞায়িত করা হয়, তাহলে শর্টকাটটি একটি BII প্যারামিটারে একটি ইনলাইন ইনভেন্টরি সত্তা প্রদান করতে ব্যবহার করা যেতে পারে। আরও বিশদ বিবরণের জন্য, অ্যাপ অ্যাকশনের জন্য ইনলাইন ইনভেন্টরি দেখুন।

গুণাবলী:

  • android:key : এই শর্টকাটটির সাথে যুক্ত করার capability BII প্যারামিটারের নাম। উদাহরণস্বরূপ, exercise.name
  • android:value : entity মান। এটি একটি একক entity বা একটি সম্পদ তালিকা হতে পারে।

<অতিরিক্ত>

শর্টকাটের জন্য extra বান্ডেল ডেটা। sameAs হল অ্যাপ অ্যাকশন shortcut উপাদানগুলির সাথে প্রাসঙ্গিক একমাত্র ডেটা৷ sameAs URL একটি রেফারেন্স ওয়েব পৃষ্ঠাকে বোঝায় যা দ্ব্যর্থহীনভাবে সত্তাকে শনাক্ত করে৷ যদি এবং শুধুমাত্র যদি উদ্দেশ্য প্যারামিটারের ধরনটি schema.org/Enumeration- এর একটি উপপ্রকার হয় তাহলে একটি enum মান নির্দিষ্ট করতে ব্যবহৃত হয়। এটি প্যারামিটার ক্ষেত্রগুলির জন্য প্রয়োজন যার প্রকারগুলি schema.org/Enumeration এর উপপ্রকার (উদাহরণস্বরূপ: MealTypeBreakfast )।

গুণাবলী:

  • android:key : অ্যাপ অ্যাকশনের জন্য সমর্থিত মান হল: sameAs
  • android:value : sameAs URL মান

আরও বিশদ বিবরণের জন্য, গণনাকৃত পরামিতি মানগুলির মিল দেখুন।

অভিপ্রায় পূরণের বিকল্প

অ্যাসিস্ট্যান্ট কীভাবে সেই সামর্থ্যের সাথে মেলে এমন ব্যবহারকারীর ভয়েস কমান্ডের প্রতি কীভাবে সাড়া দেয় বা পূরণ করে তা ঘোষণা করার জন্য আপনি <capability> এর মধ্যে intent উপাদানগুলিকে সংজ্ঞায়িত করেন। আপনার অ্যাপ নেভিগেশন কীভাবে গঠন করা হয়েছে তার উপর নির্ভর করে আপনার অ্যাপে একটি intent কীভাবে একটি পূরণের গন্তব্য চালু করে তা কনফিগার করার বিভিন্ন উপায় রয়েছে।

নিম্নলিখিত পূর্ণতা বিকল্প উপলব্ধ:

  • স্পষ্ট অভিপ্রায় : intent জন্য targetClass এবং targetPackage বৈশিষ্ট্যগুলি সংজ্ঞায়িত করে একটি নির্দিষ্ট অ্যাপ উপাদান চালু করুন। এটি প্রস্তাবিত অ্যাপ অ্যাকশন পূরণের পদ্ধতি।

  • গভীর লিঙ্ক : intent উপাদানের মধ্যে একটি <url-template> ট্যাগ সংজ্ঞায়িত করে Android ডিপ লিঙ্কগুলি ব্যবহার করে অ্যাপের গন্তব্যগুলি চালু করুন। এই পদ্ধতিটি উপযোগী যদি আপনার অ্যাপ নেভিগেশন ইতিমধ্যেই গভীর লিঙ্কের উপর নির্ভর করে।

  • ইনটেন্ট ডেটা : আপনি intent android:data অ্যাট্রিবিউটে একটি পূরণের URI প্রদান করতে পারেন। এই ক্ষেত্রটি <url-template> ডেটা দ্বারা ওভাররাইট করা হয় যদি সেই ট্যাগটি intent মধ্যেও সংজ্ঞায়িত করা হয়।

প্যারামিটার ডেটা এবং মিল

ডিফল্টরূপে, অ্যাসিস্ট্যান্ট ব্যবহারকারীর ক্যোয়ারী থেকে বের করা BII প্যারামিটারগুলিকে আপনার অ্যাপে capability সংজ্ঞায়িত Android intent extra ডেটা হিসাবে পাঠায়।

বিকল্পভাবে, আপনি capability মধ্যে একটি <url-template> ট্যাগ ঘোষণা করতে পারেন যাতে গতিশীল পরামিতির জন্য স্থানধারক রয়েছে। এই টেমপ্লেটটি একটি অ্যাপ লিঙ্ক ইউআরএল , একটি কাস্টম স্কিম, বা একটি ইন্টেন্ট-ভিত্তিক URL ব্যবহার করে আপনার 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>

উপরের নমুনাটি দেওয়া হয়েছে, "Hey Google, ExampleApp থেকে একটি ল্যাটে অর্ডার করুন" এর মতো একটি ব্যবহারকারীর প্রশ্নের জন্য অ্যাপটি এমন একটি intent পায় যা উপাদানটিকে আহ্বান করে: targetPackage , targetClass । কম্পোনেন্ট key = "exercise" , value = "Running" সহ একটি অতিরিক্ত পায়।

যদি আপনার অ্যাপ ইতিমধ্যেই ডায়নামিক প্যারামিটার সহ অ্যাপ-লিঙ্ক করা URLগুলি পরিচালনা করতে সক্ষম হয়, তাহলে আপনি পরিপূর্ণতার জন্য 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>

উপরের নমুনাটি দেওয়া হলে, "Hey Google, ExampleApp থেকে একটি ল্যাটে অর্ডার করুন" এর মতো ব্যবহারকারীর প্রশ্নের জন্য অ্যাপটি জেনারেট করা URLটি পায়: "myapp://start?exercise=Running"।

BII প্যারামিটারটিকে আপনার URL-এ একটি অবস্থানে ম্যাপ করতে, আপনি <parameter> ট্যাগের android:name বৈশিষ্ট্যটি ব্যবহার করুন। এই অ্যাট্রিবিউটটি ইউআরএল টেমপ্লেটের android:key মানের সাথে মিলে যা আপনি ব্যবহারকারীর তথ্য দিয়ে প্রতিস্থাপন করতে চান। android:key মান আপনার <url-template> -এ উপস্থিত থাকতে হবে এবং কোঁকড়া ধনুর্বন্ধনী ( {} ) দ্বারা আবদ্ধ থাকতে হবে।

গণনা করা পরামিতি মান মেলে

কিছু BII পরামিতি আপনার পূর্ণতার অভিপ্রায়ে গণিত মান প্রদান করে, উদাহরণস্বরূপ, RECORD_FOOD_OBSERVATION BII-এর সমর্থিত পাঠ্য মান । এই প্যারামিটারগুলির জন্য, সহকারী ব্যবহারকারীর কোয়েরি ("ব্রেকফাস্ট") এমন একটি সত্তার সাথে মেলে যার sameAs মান enum স্কিমা URL ( 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 এ উপলব্ধ।

অ্যাপ অ্যাকশনের জন্য ইনলাইন ইনভেন্টরি

কিছু BII প্যারামিটারের জন্য, শর্টকাটগুলি শর্টকাট shortcuts.xml এ নির্দিষ্ট করা সমর্থিত সত্তার সেটে সত্তা নিষ্কাশনকে গাইড করতে ব্যবহার করা যেতে পারে, যা ইনলাইন ইনভেন্টরি নামে পরিচিত৷ বিস্তারিত জানার জন্য, ইনলাইন ইনভেন্টরি দেখুন।

কাস্টম উদ্দেশ্য

কাস্টম অভিপ্রায়গুলি shortcuts.xml এ ঘোষণা করা যেতে পারে ভয়েস সক্ষম করার বৈশিষ্ট্যগুলি যা উপলব্ধ BIIগুলির সাথে মেলে না৷ কার্যকারিতা একটি BII সংজ্ঞার মতো হলেও, কাস্টম ইন্টেন্টের জন্য shortcuts.xml এ দুটি অতিরিক্ত বৈশিষ্ট্য প্রয়োজন:

  • app:queryPatterns : অ্যারে রিসোর্স যা একটি কাস্টম অভিপ্রায়ের জন্য বিভিন্ন ক্যোয়ারী প্যাটার্ন ঘোষণা করে।

  • android:mimeType : একটি কাস্টম অভিপ্রায়ের পরামিতি প্রকার। এই ক্ষেত্রটি BII-এর জন্য প্রয়োজন হয় না, যেখানে প্যারামিটারের ধরন জানা থাকে। কাস্টম ইন্টেন্ট প্যারামিটারের জন্য, একটি সমর্থিত শব্দার্থিক প্রকার ঘোষণা করতে হবে।

আরো বিস্তারিত জানার জন্য, কাস্টম ইন্টেন্ট দেখুন।

,

একবার আপনি আপনার অ্যাপ-মধ্যস্থ কার্যকারিতা এবং প্রয়োগ করার জন্য সংশ্লিষ্ট অন্তর্নির্মিত অভিপ্রায় (BII) সনাক্ত করার পরে, একটি shortcuts.xml রিসোর্স ফাইলে একটি capability উপাদান সংজ্ঞায়িত করে আপনার কার্যকারিতা সমর্থন করে এমন BII ঘোষণা করুন৷ একটি BII কে একটি capability হিসাবে ঘোষণা করা আপনার অ্যাপে সেই শব্দার্থিক অভিপ্রায়ের জন্য সমর্থন নিবন্ধন করে এবং Google সহকারী ব্যবহার করে অভিপ্রায়ের ভয়েস কোয়েরি পূরণ করতে সক্ষম করে।

সহকারী ব্যবহারকারীর কোয়েরি থেকে প্যারামিটার বের করতে প্রাকৃতিক ভাষা প্রক্রিয়াকরণ ব্যবহার করে। অন্তর্নির্মিত ইন্টেন্ট রেফারেন্স সেই ক্ষেত্রগুলিকে তালিকাভুক্ত করে যা প্রতিটি BII একটি সংশ্লিষ্ট ব্যবহারকারীর ক্যোয়ারী থেকে বের করতে সক্ষম। উদাহরণ স্বরূপ, যদি কোনো ব্যবহারকারী আপনার অ্যাপে [ actions.intent.GET_FOOD_OBSERVATION ][] ক্যাপাবিলিটি ব্যবহার করে বলেন, "Hey Google, ExampleApp কে জিজ্ঞাসা করুন আমি গত শুক্রবার দুপুরের খাবারে কি খেয়েছি" , সহকারী ব্যবহারকারীর অনুরোধ থেকে নিম্নলিখিত BII প্যারামিটারগুলি বের করে :

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

সহকারী BII পরামিতিগুলিকে capability মধ্যে সংজ্ঞায়িত পরিপূর্ণতার intent পাস করে। এক বা একাধিক intent উপাদানগুলিকে বিভিন্ন উপায়ে মিটমাট করার ক্ষমতার মধ্যে সংজ্ঞায়িত করা যেতে পারে যা একজন ব্যবহারকারী একটি BII আহ্বান করতে পারে। উদাহরণস্বরূপ, আপনি একটি পূর্ণতা intent নির্ধারণ করতে পারেন যার জন্য উপরের উদাহরণে উভয় BII পরামিতি প্রয়োজন। তারপরে আপনি একটি দ্বিতীয় উদ্দেশ্য সংজ্ঞায়িত করতে পারেন যার জন্য একটি একক BII প্যারামিটার প্রয়োজন, foodObservation.forMeal , যা একটি নির্দিষ্ট দিনে সমস্ত খাবারের জন্য রিপোর্ট করে, যেমন "Hey Google, ExampleApp কে জিজ্ঞাসা করুন আমি দুপুরের খাবারে কি খেয়েছি।"

ওভারভিউ

আপনি আপনার অ্যাপ প্রকল্পের res/xml ডিরেক্টরিতে রাখা একটি shortcuts.xml ফাইল ব্যবহার করে অ্যাপ অ্যাকশন কনফিগার করেন এবং তারপরে আপনার অ্যাপ ম্যানিফেস্টে shortcuts.xml এর একটি রেফারেন্স তৈরি করেন। এই পদক্ষেপগুলি অনুসরণ করে আপনার অ্যাপ ম্যানিফেস্টে shortcuts.xml এর একটি রেফারেন্স যোগ করুন:

  1. আপনার অ্যাপের ম্যানিফেস্ট ফাইলে ( AndroidManifest.xml ), এমন একটি কার্যকলাপ খুঁজুন যার অভিপ্রায় ফিল্টারগুলি android.intent.action.MAIN অ্যাকশন এবং android.intent.category.LAUNCHER বিভাগে সেট করা আছে৷

  2. Activity একটি <meta-data> ট্যাগ ব্যবহার করে AndroidManifest.xmlshortcuts.xml এর একটি রেফারেন্স যোগ করুন যাতে MAIN এবং LAUNCHER উভয়ের জন্যই উদ্দেশ্য ফিল্টার রয়েছে, নিম্নরূপ:

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

উপরের উদাহরণটি APK-এ xml/shortcuts.xml ফাইলের জন্য একটি XML সংস্থান ঘোষণা করে। শর্টকাট কনফিগার করার বিষয়ে আরও বিস্তারিত জানার জন্য, অ্যান্ড্রয়েড ডেভেলপার ডকুমেন্টেশনে স্ট্যাটিক শর্টকাট তৈরি করুন দেখুন।

আপনার Android প্রকল্পে Jetpack লাইব্রেরি androidx.core:core:1.6.0 (বা বড়) প্রয়োজন যাতে সংকলন ত্রুটিগুলি এড়াতে shortcuts.xml এ অ্যাপ অ্যাকশনের ক্ষমতা সংজ্ঞায়িত করা হয়। বিস্তারিত জানার জন্য, Android Jetpack এর সাথে শুরু করা দেখুন।

স্ট্যাটিক শর্টকাট

আপনার capability সংজ্ঞায়িত করার সময়, আপনি সক্ষমতার কার্যকারিতা প্রসারিত করতে shortcuts.xml এ স্ট্যাটিক shortcut উপাদান ঘোষণা করতে পারেন। আপনি যখন Google Play Console-এ রিলিজ আপলোড করেন তখন অ্যাসিস্ট্যান্ট দ্বারা স্ট্যাটিক শর্টকাট ইনজেস্ট করা হয়। যেহেতু স্ট্যাটিক শর্টকাটগুলি শুধুমাত্র নতুন রিলিজ তৈরি করে তৈরি এবং আপডেট করা যেতে পারে, তাই আপনার অ্যাপে সাধারণ ক্রিয়াকলাপ এবং বিষয়বস্তু হাইলাইট করার জন্য এগুলি সবচেয়ে কার্যকর।

আপনি স্ট্যাটিক শর্টকাট সহ নিম্নলিখিত অ্যাপ অ্যাকশন কার্যকারিতা সক্ষম করতে পারেন:

  • ক্ষমতা শর্টকাট . শর্টকাট তৈরি করুন যা পূর্বনির্ধারিত intent প্যারামিটার মান ধারণকারী আপনার capability একটি উদাহরণ চালু করে। উদাহরণ স্বরূপ, আপনি একটি অ্যাপ শর্টকাট ঘোষণা করতে পারেন "একটি দৌড় শুরু করুন" যা আপনার ফিটনেস অ্যাপে START_EXERCISE BII সক্ষমতাকে আহ্বান করে৷

    এই শর্টকাটগুলিতে intent , shortLabel এবং longLabel বৈশিষ্ট্য রয়েছে, যা এগুলিকে প্রোঅ্যাকটিভ সারফেস, যেমন অ্যাসিস্ট্যান্ট বা অ্যান্ড্রয়েড লঞ্চারে একটি অ্যাপ আইকন দীর্ঘক্ষণ চাপার সময় চিপ হিসাবে প্রস্তাবিত এবং পূরণ করার যোগ্য করে তোলে। একটি অ্যাকশন শর্টকাট একটি <capability-binding> ট্যাগ ব্যবহার করে একটি capability সাথে যুক্ত করে নিচে বিস্তারিতভাবে একটি সত্তা শর্টকাট হিসেবেও কাজ করতে পারে।

  • সত্তা শর্টকাট এন্টিটি শর্টকাট একটি capability ভয়েস ক্যোয়ারী পূরণের জন্য সমর্থিত প্যারামিটার মানগুলির একটি তালিকা প্রদান করে৷ উদাহরণ স্বরূপ, ব্যায়ামের প্রকারের একটি তালিকা সহ একটি সত্তা শর্টকাট ("হাইক," "রান," ইত্যাদি) START_EXERCISE ক্ষমতার exercise.name BII প্যারামিটারের সাথে আবদ্ধ৷ যদি কোনো ব্যবহারকারীর উচ্চারণ কোনো সত্তার সাথে মিলে যায়, তাহলে shortcutId আইডিটি কাঁচা ব্যবহারকারীর ক্যোয়ারী মানের পরিবর্তে অভিপ্রায়ে পাঠানো হয়।

    Entity শর্টকাটগুলি intent , shortLabel বা longLabel বৈশিষ্ট্যগুলিকে সংজ্ঞায়িত করে না এবং এটি সক্রিয় পৃষ্ঠগুলিতে প্রস্তাবিত নয়৷ বিস্তারিত জানার জন্য, অ্যাপ অ্যাকশনের জন্য ইনলাইন ইনভেন্টরি দেখুন।

সক্ষমতা স্কিমা

নিম্নলিখিত টেবিলটি shortcuts.xmlcapability উপাদানগুলির জন্য অ্যাপ অ্যাকশন স্কিমা বর্ণনা করে। একটি ট্যাগ অন্তর্ভুক্ত করার সময়, "ঐচ্ছিক" হিসাবে চিহ্নিত না হলে এর সমস্ত বৈশিষ্ট্য প্রয়োজন।

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>

শুধুমাত্র অ্যান্ড্রয়েড স্লাইস জন্য প্রযোজ্য

ক্ষমতা স্কিমা বিবরণ

এই বিভাগে capability স্কিমা উপাদান বর্ণনা.

<সামর্থ্য>

একটি capability যা আপনার অ্যাপ সমর্থন করে অ্যাপ অ্যাকশন অভিপ্রায় নির্ধারণ করে। আপনার shortcuts.xml ফাইলের প্রতিটি <capability> উপাদানকে অবশ্যই কর্মের পরিপূর্ণতা পরিচালনা করতে কমপক্ষে একটি <intent> প্রদান করতে হবে।

গুণাবলী:

  • android:name : অন্তর্নির্মিত অভিপ্রায় অ্যাকশন আইডি (উদাহরণস্বরূপ, [ actions.intent.GET_FOOD_OBSERVATION ][])। সমর্থিত অন্তর্নির্মিত অভিপ্রায়গুলির একটি তালিকার জন্য, অন্তর্নির্মিত অভিপ্রায় উল্লেখ দেখুন।
  • app:queryPatterns : এই উদ্দেশ্যের জন্য ব্যবহারকারীর কাছ থেকে প্রত্যাশিত প্রশ্নের একটি স্ট্রিং অ্যারে রিসোর্স। এই অ্যাট্রিবিউটটি শুধুমাত্র কাস্টম ইন্টেন্টের ক্ষেত্রে প্রযোজ্য, কারণ BII-তে ইতিমধ্যেই ব্যবহারকারীরা যে কাজগুলি করার চেষ্টা করছেন বা তারা যে তথ্য খুঁজছেন তা প্রকাশ করার সাধারণ উপায়গুলির মডেল অন্তর্ভুক্ত করে৷

<ইন্টেন্ট>

অ্যাপ-মধ্যস্থ কার্যকারিতা ব্যবহার করে ব্যবহারকারীর প্রশ্ন কীভাবে পূরণ করা উচিত তা নির্ধারণ করে Android intent উপাদান। বিকাশকারীরা একটি capability একাধিক <intent> ট্যাগ প্রদান করতে পারে। অ্যাসিস্ট্যান্ট প্রথম <intent> capability করে একটি ব্যবহারকারীর কোয়েরি পূরণ করার চেষ্টা করে যার জন্য সমস্ত প্রয়োজনীয় প্যারামিটার দেওয়া আছে।

গুণাবলী:

  • android:action : উদ্দেশ্য Action টাইপ। ACTION_VIEW এ ডিফল্ট।
  • android:targetClass : টার্গেট অ্যাক্টিভিটি ক্লাস, উদাহরণস্বরূপ: "com.example.exercise.ExerciseActivity"
  • android:targetPackage : টার্গেট অ্যাক্টিভিটি ক্লাস ধারণকারী প্যাকেজ, উদাহরণস্বরূপ: "com.example.exercise
  • android:data : এই ক্ষেত্রটি <url-template> দ্বারা ওভাররাইট করা হয় যদি সেই ট্যাগটি intent ঘোষণা করা হয়।

<url-টেমপ্লেট>

ডিভাইসে খোলার জন্য একটি গভীর লিঙ্ক URI নির্মাণের জন্য টেমপ্লেট। টেমপ্লেটের জন্য সমস্ত প্রয়োজনীয় পরামিতি উপলব্ধ থাকলে অন্তর্নির্মিত অভিপ্রায় পরামিতিগুলির সাথে টেমপ্লেটটি প্রসারিত করা যেতে পারে। HTTP URL টেমপ্লেটের উদাহরণের জন্য, URL টেমপ্লেটের উইকিপিডিয়া নিবন্ধটি দেখুন। টেমপ্লেট ফরম্যাট RFC6570 URI টেমপ্লেট স্পেসিফিকেশন অনুসরণ করে।

নীচে URL টেমপ্লেট মানগুলির কিছু উদাহরণ রয়েছে:

টেমপ্লেট মূল্যবোধ প্রসারিত মান
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

ইউআরএল টেমপ্লেট কনফিগার করার বিষয়ে আরও জানতে, পূরণে ইউআরএল টেমপ্লেট দেখুন।

<অতিরিক্ত>

একটি intent জন্য অতিরিক্ত ডেটা সংজ্ঞায়িত করে। অ্যাপ অ্যাকশনের জন্য, এই ক্ষেত্রটি শুধুমাত্র একটি capability জন্য [ফোরগ্রাউন্ড অ্যাপ ইনভোকেশন][] সক্ষম করতে ব্যবহার করা হয়।

<প্যারামিটার>

উদ্দেশ্য প্যারামিটার মানগুলির সাথে একটি BII প্যারামিটার ম্যাপ করে৷ আরও তথ্যের জন্য, প্যারামিটার ডেটা এবং ম্যাচিং দেখুন।

গুণাবলী:

  • android:name : এই intent প্যারামিটারের সাথে যুক্ত করার জন্য BII প্যারামিটারের নাম। নামটি BII প্যারামিটারের একটি পাতা-স্তরের ক্ষেত্র হওয়া উচিত (উদাহরণস্বরূপ, foodObservation.aboutFood.name )।
  • android:key : একটি BII প্যারামিটার মানের বিকাশকারী-সংজ্ঞায়িত কী। উদাহরণস্বরূপ, আপনি message.recipient.name BII প্যারামিটারের জন্য contact_name সংজ্ঞায়িত করতে পারেন।
  • android:mimeType : প্যারামিটারের mimeType, যেমন text/* । এই ক্ষেত্রটি শুধুমাত্র কাস্টম ইন্টেন্টের প্যারামিটারের জন্য প্রয়োজন।
  • android:required : এই অভিপ্রায় পূরণের জন্য ব্যবহার করার জন্য ব্যবহারকারীর কোয়েরিতে এই প্যারামিটারটি অন্তর্ভুক্ত করতে হবে কিনা তা ঘোষণা করে। প্যারামিটার উপলব্ধ না হলে, সহকারী capability জন্য সংজ্ঞায়িত পরবর্তী intent ব্যবহার করে ব্যবহারকারীর প্রশ্ন পূরণ করার চেষ্টা করে।

<শর্টকাট-পূরণ>

নির্দিষ্ট করে যে একটি নির্দিষ্ট প্যারামিটারের জন্য একটি ইনলাইন ইনভেন্টরি শর্টকাটে সংজ্ঞায়িত একটি intent পূরণের জন্য ব্যবহার করা হবে। বিশদ বিবরণের জন্য, শর্টকাট উদ্দেশ্য ব্যবহার করে পূর্ণতা দেখুন।

<প্যারামিটার> ( <shortcut-fulfillment> জন্য>)

ঐচ্ছিক বৈশিষ্ট্য যা ইনলাইন ইনভেন্টরি শর্টকাট পূরণের জন্য একটি একক BII প্যারামিটার ম্যাপ করে। বিশদ বিবরণের জন্য, শর্টকাট উদ্দেশ্য ব্যবহার করে পূর্ণতা দেখুন।

বৈশিষ্ট্য:

  • android:name : ইনলাইন ইনভেন্টরি শর্টকাট পূরণের সাথে যুক্ত করার জন্য BII প্যারামিটারের নাম। নামটি BII প্যারামিটারের একটি পাতা-স্তরের ক্ষেত্র হওয়া উচিত (উদাহরণস্বরূপ, menuItem.name )।

<স্লাইস>

একটি অ্যান্ড্রয়েড স্লাইস হিসাবে এই capability সাথে মেলে এমন একটি প্রশ্নের ফলাফল এম্বেড করতে সহায়ককে সক্ষম করে৷ বিশদ বিবরণের জন্য, 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 স্কিমা উপাদান বর্ণনা করা হয়.

<শর্টকাট>

একটি Android <shortcut> সংজ্ঞায়িত কিছু নির্দিষ্ট বৈশিষ্ট্য সহ shortcuts.xml এ যা অ্যাপ অ্যাকশনের জন্য প্রাসঙ্গিক। shortcutShortLabel এবং shortcutLongLabel ক্ষেত্রগুলির জন্য স্ট্রিং মানগুলি APK এর স্ট্রিং সংস্থানগুলির মাধ্যমে উল্লেখ করা হয়৷

গুণাবলী:

  • android:shortcutId : এই শর্টকাটের জন্য শনাক্তকারী।
  • android:shortcutShortLabel : স্ট্রিং রিসোর্স একটি সংক্ষিপ্ত শর্টকাট বাক্যাংশ উপস্থাপন করে। উদাহরণস্বরূপ, "@string/callDavidShort" মান প্রতিনিধিত্ব করে "ডেভিডকে কল করুন।"
  • android:shortcutLongLabel : স্ট্রিং রিসোর্স একটি দীর্ঘ শর্টকাট বাক্যাংশের প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, "@string/callDavidLong" মান প্রতিনিধিত্ব করে "ডেভিডকে একটি অডিও কল করুন।"

<ইন্টেন্ট>

এই শর্টকাটের সাথে যুক্ত Android অভিপ্রায়। এই intent কার্যকর করা হয় যখন কোনও ব্যবহারকারী ভয়েস বা স্পর্শ ব্যবহার করে এই শর্টকাটটি চালু করেন।

shortcut অভিপ্রায় বৈশিষ্ট্যগুলি capability intent বৈশিষ্ট্যগুলির সাথে অভিন্ন৷

<ক্যাপাবিলিটি-বাইন্ডিং>

একটি অ্যাপ অ্যাকশন capability একটি shortcut যুক্ত করে। একটি shortcut এই উপাদানটি যোগ করা হলে এটি Assistant ব্যবহার করে ভয়েস পূরণের জন্য সক্ষম করে।

গুণাবলী:

  • android:key : এই shortcut capability android:name বৈশিষ্ট্যটি আবদ্ধ। উদাহরণস্বরূপ, actions.intent.START_EXERCISE

<প্যারামিটার-বাইন্ডিং>

ঐচ্ছিক বৈশিষ্ট্য যা একটি অ্যাপ অ্যাকশন capability একটি একক প্যারামিটারের সাথে একটি shortcut যুক্ত করে। যদি একটি shortcut জন্য একটি parameter-binding সংজ্ঞায়িত করা হয়, তাহলে শর্টকাটটি একটি BII প্যারামিটারে একটি ইনলাইন ইনভেন্টরি সত্তা প্রদান করতে ব্যবহার করা যেতে পারে। আরও বিশদ বিবরণের জন্য, অ্যাপ অ্যাকশনের জন্য ইনলাইন ইনভেন্টরি দেখুন।

গুণাবলী:

  • android:key : এই শর্টকাটটির সাথে যুক্ত করার capability BII প্যারামিটারের নাম। উদাহরণস্বরূপ, exercise.name
  • android:value : entity মান। এটি একটি একক entity বা একটি সম্পদ তালিকা হতে পারে।

<অতিরিক্ত>

শর্টকাটের জন্য extra বান্ডেল ডেটা। sameAs হল অ্যাপ অ্যাকশন shortcut উপাদানগুলির সাথে প্রাসঙ্গিক একমাত্র ডেটা৷ sameAs URL একটি রেফারেন্স ওয়েব পৃষ্ঠাকে বোঝায় যা দ্ব্যর্থহীনভাবে সত্তাকে শনাক্ত করে৷ যদি এবং শুধুমাত্র যদি উদ্দেশ্য প্যারামিটারের ধরনটি schema.org/Enumeration- এর একটি উপপ্রকার হয় তাহলে একটি enum মান নির্দিষ্ট করতে ব্যবহৃত হয়। এটি প্যারামিটার ক্ষেত্রগুলির জন্য প্রয়োজন যার প্রকারগুলি schema.org/Enumeration এর উপপ্রকার (উদাহরণস্বরূপ: MealTypeBreakfast )।

গুণাবলী:

  • android:key : অ্যাপ অ্যাকশনের জন্য সমর্থিত মান হল: sameAs
  • android:value : sameAs URL মান

আরও বিশদ বিবরণের জন্য, গণনাকৃত পরামিতি মানগুলির মিল দেখুন।

অভিপ্রায় পূরণের বিকল্প

অ্যাসিস্ট্যান্ট কীভাবে সেই সামর্থ্যের সাথে মেলে এমন ব্যবহারকারীর ভয়েস কমান্ডের প্রতি কীভাবে সাড়া দেয় বা পূরণ করে তা ঘোষণা করার জন্য আপনি <capability> এর মধ্যে intent উপাদানগুলিকে সংজ্ঞায়িত করেন। আপনার অ্যাপ নেভিগেশন কীভাবে গঠন করা হয়েছে তার উপর নির্ভর করে আপনার অ্যাপে একটি intent কীভাবে একটি পূরণের গন্তব্য চালু করে তা কনফিগার করার বিভিন্ন উপায় রয়েছে।

নিম্নলিখিত পূর্ণতা বিকল্প উপলব্ধ:

  • স্পষ্ট অভিপ্রায় : intent জন্য targetClass এবং targetPackage বৈশিষ্ট্যগুলি সংজ্ঞায়িত করে একটি নির্দিষ্ট অ্যাপ উপাদান চালু করুন। এটি প্রস্তাবিত অ্যাপ অ্যাকশন পূরণের পদ্ধতি।

  • গভীর লিঙ্ক : intent উপাদানের মধ্যে একটি <url-template> ট্যাগ সংজ্ঞায়িত করে Android ডিপ লিঙ্কগুলি ব্যবহার করে অ্যাপের গন্তব্যগুলি চালু করুন। যদি আপনার অ্যাপ্লিকেশন নেভিগেশন ইতিমধ্যে গভীর লিঙ্কগুলির উপর নির্ভর করে তবে এই পদ্ধতিটি কার্যকর।

  • ইন্টেন্ট ডেটা : আপনি intent android:data অ্যাট্রিবিউটে একটি পরিপূর্ণতা ইউআরআই সরবরাহ করতে পারেন। এই ক্ষেত্রটি <url-template> ডেটা দ্বারা ওভাররাইট করা হয় যদি সেই ট্যাগটিও intent মধ্যে সংজ্ঞায়িত করা হয়।

প্যারামিটার ডেটা এবং ম্যাচিং

ডিফল্টরূপে, সহকারী capability হিসাবে সংজ্ঞায়িত অ্যান্ড্রয়েড intent extra ডেটা হিসাবে ব্যবহারকারী ক্যোয়ারী থেকে আপনার অ্যাপ্লিকেশনটিতে নিষ্কাশিত বিআইআই প্যারামিটারগুলি প্রেরণ করে।

পর্যায়ক্রমে, আপনি গতিশীল পরামিতিগুলির জন্য স্থানধারক রয়েছে এমন capability একটি <url-template> ট্যাগ ঘোষণা করতে পারেন। এই টেম্পলেটটি আপনার অ্যান্ড্রয়েড ক্রিয়াকলাপগুলির মধ্যে একটিতে মানচিত্র, একটি অ্যাপ্লিকেশন লিঙ্কগুলি ইউআরএল , একটি কাস্টম স্কিম বা একটি অভিপ্রায়-ভিত্তিক ইউআরএল ব্যবহার করে।

অভিপ্রায় অতিরিক্ত ব্যবহার করে

নিম্নলিখিত উদাহরণটি 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>

উপরের নমুনাটি দেওয়া, যেমন কোনও ব্যবহারকারীর প্রশ্নের জন্য, "আরে গুগল, উদাহরণ থেকে একটি ল্যাট অর্ডার করুন" অ্যাপ্লিকেশনটি এমন একটি intent পেয়েছে যা উপাদানটিকে অনুরোধ করে: targetPackage , targetClass । উপাদানটি key = "exercise" , value = "Running" সহ একটি অতিরিক্ত গ্রহণ করে।

যদি আপনার অ্যাপ্লিকেশনটি ইতিমধ্যে গতিশীল পরামিতিগুলির সাথে অ্যাপ-লিঙ্কযুক্ত ইউআরএলগুলি পরিচালনা করতে সক্ষম হয় তবে আপনি পরিপূরণ করার জন্য অ্যান্ড্রয়েড গভীর লিঙ্কগুলি তৈরি করার 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>

উপরের নমুনাটি দেওয়া, যেমন ব্যবহারকারীর প্রশ্নের জন্য, "আরে গুগল, উদাহরণ থেকে একটি ল্যাট অর্ডার করুন," অ্যাপটি উত্পন্ন ইউআরএল গ্রহণ করে: "মাই অ্যাপ: // শুরু? অনুশীলন = চলমান"।

আপনার ইউআরএল -তে কোনও অবস্থানে বিআইআই প্যারামিটারটি মানচিত্র করতে, আপনি অ্যান্ড্রয়েড ব্যবহার করুন: <parameter> প্যারামিটার> ট্যাগের android:name বৈশিষ্ট্য। এই বৈশিষ্ট্যটি android:key মান যা আপনি ব্যবহারকারীর কাছ থেকে তথ্যের সাথে প্রতিস্থাপন করতে চান। android:key মানটি অবশ্যই আপনার <url-template> এ উপস্থিত থাকতে হবে এবং কোঁকড়ানো ধনুর্বন্ধনী ( {} ) দ্বারা আবদ্ধ।

গণনা করা প্যারামিটার মানগুলি মেলে

কিছু বিআইআই প্যারামিটারগুলি আপনার পরিপূর্ণতা অভিপ্রায়গুলিতে গণিত মান সরবরাহ করে, উদাহরণস্বরূপ, RECORD_FOOD_OBSERVATION বিআইআইয়ের সমর্থিত পাঠ্য মানগুলি । এই পরামিতিগুলির জন্য, সহকারী ব্যবহারকারীর ক্যোয়ারী ("প্রাতঃরাশ") এর সাথে এমন একটি সত্তার সাথে মেলে যার sameAs মান এনুম স্কিমা ইউআরএল ( https://schema.googleapis.com/MealTypeBreakfast ) সাথে মেলে। সমর্থিত entity জন্য এনাম মানগুলি সংযুক্ত করার জন্য, আপনি আপনার 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 : একটি কাস্টম অভিপ্রায় প্যারামিটার ধরণ। এই ক্ষেত্রটি বিআইআইএসের জন্য প্রয়োজনীয় নয়, যেখানে প্যারামিটারের ধরণটি জানা যায়। কাস্টম ইনটেন্ট প্যারামিটারগুলির জন্য, একটি সমর্থিত শব্দার্থক প্রকারটি অবশ্যই ঘোষণা করতে হবে।

আরও তথ্যের জন্য, কাস্টম অভিপ্রায় দেখুন।

,

একবার আপনি প্রয়োগ করার জন্য আপনার অ্যাপ্লিকেশন কার্যকারিতা এবং সংশ্লিষ্ট বিল্ট-ইন ইন্টেন্ট (বিআইআই) সনাক্ত করার পরে, একটি shortcuts.xml রিসোর্স ফাইলে একটি capability উপাদান সংজ্ঞায়িত করে আপনার কার্যকারিতা সমর্থন করে BIIS ঘোষণা করুন। একটি বিআইআইকে একটি capability হিসাবে ঘোষণা করা আপনার অ্যাপ্লিকেশনটিতে সেই শব্দার্থক অভিপ্রায়টির জন্য সমর্থন নিবন্ধন করে এবং গুগল সহকারী ব্যবহার করে অভিপ্রায়টির ভয়েস ক্যোয়ারির পরিপূর্ণতা সক্ষম করে।

সহকারী কোনও ব্যবহারকারীর ক্যোয়ারী থেকে পরামিতিগুলি বের করতে প্রাকৃতিক ভাষা প্রক্রিয়াকরণ ব্যবহার করে। অন্তর্নির্মিত ইন্টেন্টস রেফারেন্সটি প্রতিটি বিআইআই সম্পর্কিত ব্যবহারকারীর ক্যোয়ারী থেকে উত্তোলন করতে সক্ষম এমন ক্ষেত্রগুলি তালিকাভুক্ত করে। উদাহরণস্বরূপ, যদি কোনও ব্যবহারকারী যদি [ actions.intent.GET_FOOD_OBSERVATION ] [ :

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

সহকারী capability সংজ্ঞায়িত পরিপূর্ণতা intent বিআইআই প্যারামিটারগুলি পাস করে। এক বা একাধিক intent উপাদানগুলি কোনও ব্যবহারকারী বিআইআইয়ের জন্য বিভিন্ন উপায়ে সামঞ্জস্য করার সক্ষমতা হিসাবে সংজ্ঞায়িত করা যেতে পারে। উদাহরণস্বরূপ, আপনি একটি পরিপূর্ণতা intent সংজ্ঞায়িত করতে পারেন যা উপরের উদাহরণে উভয় বিআইআই পরামিতি প্রয়োজন। তারপরে আপনি একটি দ্বিতীয় অভিপ্রায় সংজ্ঞায়িত করতে পারেন যার জন্য একটি একক বিআই প্যারামিটার, foodObservation.forMeal

ওভারভিউ

আপনি আপনার অ্যাপ্লিকেশন প্রকল্পের res/xml ডিরেক্টরিতে রাখা একটি shortcuts.xml ফাইল ব্যবহার করে অ্যাপ্লিকেশন ক্রিয়াগুলি কনফিগার করেন এবং তারপরে আপনার অ্যাপ্লিকেশন ম্যানিফেস্টে shortcuts.xml -এর একটি রেফারেন্স তৈরি করে। এই পদক্ষেপগুলি অনুসরণ করে আপনার অ্যাপ্লিকেশন প্রকাশে shortcuts.xml -তে একটি রেফারেন্স যুক্ত করুন:

  1. আপনার অ্যাপ্লিকেশনটির ম্যানিফেস্ট ফাইলে ( AndroidManifest.xml ), এমন একটি ক্রিয়াকলাপ সন্ধান করুন যার অভিপ্রায় ফিল্টারগুলি android.intent.action.MAIN অ্যাকশন এবং android.intent.category.LAUNCHER বিভাগে সেট করা আছে।

  2. AndroidManifest.xml -এ shortcuts.xml -তে একটি রেফারেন্স যুক্ত করুন <meta-data> > ট্যাগ ব্যবহার করে Activity MAIN এবং LAUNCHER উভয়ের জন্য অভিপ্রায় ফিল্টার রয়েছে:

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

উপরের উদাহরণটি এপিকে xml/shortcuts.xml ফাইলের জন্য একটি এক্সএমএল সংস্থান ঘোষণা করে। শর্টকাটগুলি কনফিগার করার বিষয়ে আরও তথ্যের জন্য, অ্যান্ড্রয়েড বিকাশকারী ডকুমেন্টেশনে স্ট্যাটিক শর্টকাট তৈরি করুন দেখুন।

জেটপ্যাক লাইব্রেরি androidx.core:core:1.6.0 (বা তার বেশি) আপনার অ্যান্ড্রয়েড প্রকল্পে সংকলন ত্রুটিগুলি এড়াতে প্রয়োজনীয় যখন shortcuts.xml অ্যাপ ক্রিয়াকলাপের ক্ষমতাগুলি সংজ্ঞায়িত করে। বিশদগুলির জন্য, অ্যান্ড্রয়েড জেটপ্যাক দিয়ে শুরু করা দেখুন।

স্ট্যাটিক শর্টকাটস

আপনার capability সংজ্ঞায়িত করার সময়, আপনি সামর্থ্যের কার্যকারিতা বাড়ানোর জন্য shortcuts.xml -এ স্ট্যাটিক shortcut উপাদানগুলি ঘোষণা করতে পারেন। আপনি যখন গুগল প্লে কনসোলে একটি রিলিজ আপলোড করেন তখন স্ট্যাটিক শর্টকাটগুলি সহকারী দ্বারা খাওয়া হয়। যেহেতু স্ট্যাটিক শর্টকাটগুলি কেবল নতুন রিলিজ তৈরি করে তৈরি এবং আপডেট করা যায়, তাই আপনার অ্যাপ্লিকেশনটিতে সাধারণ ক্রিয়াকলাপ এবং সামগ্রী হাইলাইট করতে এগুলি সবচেয়ে কার্যকর।

আপনি স্ট্যাটিক শর্টকাটগুলির সাথে নিম্নলিখিত অ্যাপ্লিকেশন ক্রিয়া কার্যকারিতা সক্ষম করতে পারেন:

  • সক্ষমতা শর্টকাটস । শর্টকাটগুলি তৈরি করুন যা পূর্বনির্ধারিত intent প্যারামিটার মানগুলি সহ আপনার capability একটি উদাহরণ চালু করে। উদাহরণস্বরূপ, আপনি একটি অ্যাপ্লিকেশন শর্টকাট "স্টার্ট এ রান" ঘোষণা করতে পারেন যা আপনার ফিটনেস অ্যাপে START_EXERCISE বিআইআই সক্ষমতা আহ্বান করে।

    এই শর্টকাটগুলিতে intent , shortLabel এবং longLabel বৈশিষ্ট্য রয়েছে, যা তাদেরকে প্র্যাকটিভ পৃষ্ঠগুলিতে চিপস হিসাবে প্রস্তাবিত এবং পরিপূর্ণ করার যোগ্য করে তোলে যেমন সহকারী বা যখন অ্যান্ড্রয়েড লঞ্চারগুলিতে কোনও অ্যাপ আইকন দীর্ঘ-চাপ দেওয়া। একটি অ্যাকশন শর্টকাট একটি <capability-binding> ট্যাগ ব্যবহার করে capability সাথে সংযুক্ত করে নীচে বিস্তারিত একটি সত্তা শর্টকাট হিসাবেও পরিবেশন করতে পারে।

  • সত্তা শর্টকাটস । সত্তা শর্টকাটগুলি একটি capability ভয়েস ক্যোয়ারী পূরণের জন্য সমর্থিত প্যারামিটার মানগুলির একটি তালিকা সরবরাহ করে। উদাহরণস্বরূপ, অনুশীলনের ধরণের তালিকা ("হাইক," "রান," ইত্যাদি) এর একটি তালিকা সহ একটি সত্তা শর্টকাট exercise.name সাথে আবদ্ধ START_EXERCISE যদি কোনও ব্যবহারকারীর উচ্চারণ কোনও সত্তার সাথে মেলে তবে shortcutId আইডিটি কাঁচা ব্যবহারকারী ক্যোয়ারী মানের পরিবর্তে অভিপ্রায়টিতে প্রেরণ করা হয়।

    Entity শর্টকাটগুলি intent , shortLabel বা longLabel বৈশিষ্ট্যগুলি সংজ্ঞায়িত করে না এবং এগুলি প্র্যাকটিভ পৃষ্ঠগুলিতে প্রস্তাবিত নয়। বিশদের জন্য, অ্যাপ্লিকেশন ক্রিয়াকলাপের জন্য ইনলাইন ইনভেন্টরি দেখুন।

সক্ষমতা স্কিমা

নিম্নলিখিত টেবিলটি shortcuts.xml -এ capability উপাদানগুলির জন্য অ্যাপ অ্যাকশন স্কিমা বর্ণনা করে। একটি ট্যাগ অন্তর্ভুক্ত করার সময়, "al চ্ছিক" চিহ্নিত না করা হলে এর সমস্ত বৈশিষ্ট্য প্রয়োজন।

শর্টকাটস.এক্সএমএল ট্যাগ এর মধ্যে রয়েছে গুণাবলী
<capability> <shortcuts>

android:name

app:queryPatterns (কেবল কাস্টম উদ্দেশ্যগুলির জন্য প্রযোজ্য)

<intent> <capability>

android:action (al চ্ছিক)

android:targetClass (al চ্ছিক)

android:targetPackage (al চ্ছিক)

android:data (al চ্ছিক)

<url-template> <intent>

android:value

<extra> <intent>

android:key

android:value

কেবল অগ্রভাগ অ্যাপ্লিকেশন অনুরোধের জন্য প্রযোজ্য

<parameter> <intent>

android:name

android:key

android:mimeType (কেবল কাস্টম উদ্দেশ্যগুলির জন্য প্রযোজ্য)

android:required (al চ্ছিক)

app:shortcutMatchRequired (al চ্ছিক)

<shortcut-fulfillment> <capability> কেবল ইনলাইন ইনভেন্টরির জন্য প্রযোজ্য
<parameter> <shortcut-fulfillment> android:name
<slice> <capability>

শুধুমাত্র অ্যান্ড্রয়েড স্লাইসের জন্য প্রযোজ্য

সক্ষমতা স্কিমা বিবরণ

এই বিভাগটি capability স্কিমা উপাদানগুলি বর্ণনা করে।

<সক্ষমতা>

আপনার অ্যাপ্লিকেশনটিকে সমর্থন করে এমন একটি capability যা অ্যাপ অ্যাকশন ইনটেন্টকে সংজ্ঞায়িত করে। আপনার shortcuts.xml ফাইলের প্রতিটি <capability> উপাদানটি অবশ্যই ক্রিয়াটির পরিপূর্ণতা পরিচালনা করতে কমপক্ষে একটি <intent> সরবরাহ করতে হবে।

গুণাবলী:

  • android:name : অন্তর্নির্মিত ইনটেন্ট অ্যাকশন আইডি (উদাহরণস্বরূপ, [ actions.intent.GET_FOOD_OBSERVATION ] [])। সমর্থিত অন্তর্নির্মিত উদ্দেশ্যগুলির তালিকার জন্য, অন্তর্নির্মিত অভিপ্রায় রেফারেন্সটি দেখুন।
  • app:queryPatterns : এই অভিপ্রায়টির জন্য ব্যবহারকারীর কাছ থেকে প্রত্যাশিত প্রশ্নের একটি স্ট্রিং অ্যারে রিসোর্স। এই বৈশিষ্ট্যটি কেবল কাস্টম অভিপ্রায়গুলির জন্যই প্রযোজ্য, কারণ বিআইআইএস ইতিমধ্যে ব্যবহারকারীরা যে কাজগুলি করার চেষ্টা করছে সেগুলি বা তারা যে তথ্যগুলি অনুসন্ধান করে তা প্রকাশ করে এমন সাধারণ উপায়গুলির মডেলগুলি অন্তর্ভুক্ত করে।

<ইনটেন্ট>

অ্যাপ্লিকেশন কার্যকারিতা ব্যবহার করে কীভাবে কোনও ব্যবহারকারীর ক্যোয়ারী পূরণ করা উচিত তা নির্ধারণ করে অ্যান্ড্রয়েড intent উপাদান। বিকাশকারীরা একটি capability একাধিক <intent> ট্যাগ সরবরাহ করতে পারে। সহকারী প্রথম <intent> একটি capability ব্যবহার করে ব্যবহারকারীর ক্যোয়ারী পূরণ করার চেষ্টা করে যার জন্য সমস্ত প্রয়োজনীয় পরামিতি সরবরাহ করা হয়।

গুণাবলী:

  • android:action : অভিপ্রায় Action টাইপ। ACTION_VIEW ডিফল্ট।
  • android:targetClass : টার্গেট ক্রিয়াকলাপ শ্রেণি, উদাহরণস্বরূপ: "com.example.exercise.ExerciseActivity"
  • android:targetPackage : লক্ষ্য ক্রিয়াকলাপ শ্রেণিযুক্ত প্যাকেজ, উদাহরণস্বরূপ: "com.example.exercise
  • android:data : এই ক্ষেত্রটি <url-template> দ্বারা ওভাররাইট করা হয়েছে যদি সেই ট্যাগটি intent ঘোষণা করা হয়।

<url-template>

ডিভাইসে খোলার জন্য একটি গভীর লিঙ্ক ইউআরআই নির্মাণের জন্য টেমপ্লেট। টেমপ্লেটের জন্য প্রয়োজনীয় সমস্ত পরামিতি পাওয়া গেলে টেমপ্লেটটি অন্তর্নির্মিত ইন্টেন্ট প্যারামিটারগুলির সাথে প্রসারিত হতে পারে। এইচটিটিপি ইউআরএল টেমপ্লেটের উদাহরণগুলির জন্য, ইউআরএল টেমপ্লেটগুলিতে উইকিপিডিয়া নিবন্ধটি দেখুন। টেমপ্লেট ফর্ম্যাটটি আরএফসি 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

ইউআরএল টেম্পলেটগুলি কনফিগার করার বিষয়ে আরও তথ্যের জন্য, পরিপূর্ণতায় ইউআরএল টেম্পলেটগুলি দেখুন।

<অতিরিক্ত>

একটি intent জন্য অতিরিক্ত ডেটা সংজ্ঞায়িত করে। অ্যাপ্লিকেশন ক্রিয়াকলাপের জন্য, এই ক্ষেত্রটি কেবল capability জন্য [অগ্রভাগের অ্যাপের অনুরোধ] ​​[] সক্ষম করতে ব্যবহৃত হয়।

<প্যারামিটার>

অভিপ্রায় প্যারামিটার মানগুলিতে একটি বিআইআই প্যারামিটার মানচিত্র। আরও তথ্যের জন্য, প্যারামিটার ডেটা এবং ম্যাচিং দেখুন।

গুণাবলী:

  • android:name : এই intent প্যারামিটারের সাথে যুক্ত করতে বিআইআই প্যারামিটারের নাম। নামটি বিআইআই প্যারামিটারের একটি পাতা-স্তরের ক্ষেত্র হওয়া উচিত (উদাহরণস্বরূপ, foodObservation.aboutFood.name )।
  • android:key : একটি বিআইআই প্যারামিটার মানের বিকাশকারী-সংজ্ঞায়িত কী। উদাহরণস্বরূপ, আপনি message.recipient.name জন্য contact_name সংজ্ঞায়িত করতে পারেন rec
  • android:mimeType : প্যারামিটারের মিমেটাইপ যেমন text/* । এই ক্ষেত্রটি কেবল কাস্টম উদ্দেশ্যগুলির পরামিতিগুলির জন্য প্রয়োজনীয়।
  • android:required : ব্যবহারকারীর ক্যোয়ারিকে এই অভিপ্রায়টি পরিপূর্ণতার জন্য ব্যবহার করার জন্য এই প্যারামিটারটি অন্তর্ভুক্ত করা দরকার কিনা তা ঘোষণা করে। যদি প্যারামিটারটি উপলভ্য না থাকে তবে সহকারী capability জন্য সংজ্ঞায়িত পরবর্তী intent ব্যবহার করে ব্যবহারকারীর ক্যোয়ারীটি পূরণ করার চেষ্টা করে।

<শর্টকাট-ফুলফিলমেন্ট>

নির্দিষ্ট করে যে নির্দিষ্ট প্যারামিটারের জন্য একটি ইনলাইন ইনভেন্টরি শর্টকাটে সংজ্ঞায়িত একটি intent পরিপূর্ণতার জন্য ব্যবহার করা উচিত। বিশদের জন্য, শর্টকাট অভিপ্রায় ব্যবহার করে পরিপূর্ণতা দেখুন।

<প্যারামিটার> ( <shortcut-fulfillment> > এর জন্য)

Oth চ্ছিক বৈশিষ্ট্য যা ইনলাইন ইনলাইন ইনভেন্টরি শর্টকাট পরিপূরণ করতে একক বিআইআই প্যারামিটারকে মানচিত্র করে। বিশদের জন্য, শর্টকাট অভিপ্রায় ব্যবহার করে পরিপূর্ণতা দেখুন।

বৈশিষ্ট্য:

  • android:name : ইনলাইন ইনভেন্টরি শর্টকাট পরিপূর্ণতার সাথে সংযুক্ত করতে বিআইআই প্যারামিটারের নাম। নামটি বিআইআই প্যারামিটারের একটি পাতা-স্তরের ক্ষেত্র হওয়া উচিত (উদাহরণস্বরূপ, menuItem.name )।

<স্লাইস>

অ্যান্ড্রয়েড স্লাইস হিসাবে এই capability সাথে মেলে একটি কোয়েরির ফলাফল এম্বেড করতে সহকারীকে সক্ষম করে। বিশদের জন্য, অ্যান্ড্রয়েড স্লাইসগুলির সাথে সংহত অ্যাপ্লিকেশন ক্রিয়াগুলি দেখুন।

শর্টকাট স্কিমা

নিম্নলিখিত টেবিলটি shortcut উপাদানগুলির বৈশিষ্ট্যগুলি বর্ণনা করে যা অ্যাপ্লিকেশন ক্রিয়া কার্যকারিতা সক্ষম করতে ব্যবহৃত হয়। একটি ট্যাগ অন্তর্ভুক্ত করার সময়, "al চ্ছিক" চিহ্নিত না করা হলে এর সমস্ত বৈশিষ্ট্য প্রয়োজন।

শর্টকাটস.এক্সএমএল ট্যাগ এর মধ্যে রয়েছে গুণাবলী
<shortcut> <shortcuts>

android:shortcutId

android:shortcutShortLabel

android:shortcutLongLabel (al চ্ছিক)

android:icon (al চ্ছিক)

<intent> <shortcut>

android:action

android:targetClass (al চ্ছিক)

android:targetPackage (al চ্ছিক)

android:data (al চ্ছিক)

<capability-binding> <shortcut>

android:key

<parameter-binding> <capability-binding>

android:key (al চ্ছিক)

android:value

<extra> <shortcut>

android:name (al চ্ছিক)

android:value

শুধুমাত্র এনাম প্যারামিটার ম্যাচের জন্য প্রযোজ্য।

শর্টকাট স্কিমা বর্ণনা

এই বিভাগটি shortcut স্কিমা উপাদানগুলি বর্ণনা করে।

<শর্টকাট>

একটি অ্যান্ড্রয়েড <shortcut> shortcuts.xml -এ সংজ্ঞায়িত নির্দিষ্ট বৈশিষ্ট্যগুলির সাথে সংজ্ঞায়িত করা হয়েছে যা অ্যাপ্লিকেশন ক্রিয়াকলাপের জন্য প্রাসঙ্গিক। shortcutShortLabel এবং shortcutLongLabel ক্ষেত্রগুলির জন্য স্ট্রিং মানগুলি এপিকে স্ট্রিং রিসোর্সের মাধ্যমে উল্লেখ করা হয়।

গুণাবলী:

  • android:shortcutId : এই শর্টকাটের জন্য সনাক্তকারী।
  • android:shortcutShortLabel : একটি সংক্ষিপ্ত শর্টকাট বাক্যাংশ উপস্থাপন করে স্ট্রিং রিসোর্স। উদাহরণস্বরূপ, "@string/callDavidShort" মানটি উপস্থাপন করে "কল ডেভিড"।
  • android:shortcutLongLabel : স্ট্রিং রিসোর্স একটি দীর্ঘ শর্টকাট বাক্যাংশ উপস্থাপন করে। উদাহরণস্বরূপ, "@string/callDavidLong" মানটি উপস্থাপন করে "ডেভিডকে একটি অডিও কল করুন।"

<ইনটেন্ট>

এই শর্টকাটের সাথে সম্পর্কিত অ্যান্ড্রয়েড অভিপ্রায়। যখন কোনও ব্যবহারকারী ভয়েস বা স্পর্শ ব্যবহার করে এই শর্টকাটটি চালু করে তখন এই intent কার্যকর করা হয়।

shortcut ইনটেন্ট বৈশিষ্ট্যগুলি capability intent বৈশিষ্ট্যগুলির সাথে অভিন্ন।

<সক্ষমতা-বাইন্ডিং>

একটি অ্যাপ্লিকেশন ক্রিয়া capability সাথে একটি shortcut যুক্ত করে। একটি shortcut এই উপাদান যুক্ত করা Assistant ব্যবহার করে ভয়েস পরিপূর্ণতার জন্য এটি সক্ষম করে।

গুণাবলী:

  • android:key : অ্যান্ড্রয়েড: এই shortcut capability android:name বৈশিষ্ট্যটি আবদ্ধ। উদাহরণস্বরূপ, actions.intent.START_EXERCISE এক্সারসাইজ।

<প্যারামিটার-বাইন্ডিং>

Application চ্ছিক বৈশিষ্ট্য যা একটি অ্যাপ্লিকেশন ক্রিয়াকলাপের capability একক প্যারামিটারের সাথে একটি shortcut যুক্ত করে। যদি কোনও parameter-binding shortcut জন্য সংজ্ঞায়িত করা হয় তবে শর্টকাটটি বিআইআই প্যারামিটারে একটি ইনলাইন ইনভেন্টরি সত্তা সরবরাহ করতে ব্যবহার করা যেতে পারে। আরও তথ্যের জন্য, অ্যাপ্লিকেশন ক্রিয়াগুলির জন্য ইনলাইন ইনভেন্টরি দেখুন।

গুণাবলী:

  • android:key : এই শর্টকাটটিতে যুক্ত করতে capability বিআইআই প্যারামিটারের নাম। উদাহরণস্বরূপ, exercise.name
  • android:value : entity মান। এটি একটি একক entity বা একটি সংস্থান তালিকা হতে পারে।

<অতিরিক্ত>

শর্টকাটের জন্য extra বান্ডিল ডেটা। স্যামিয়াস হ'ল অ্যাপ অ্যাকশন shortcut উপাদানগুলির সাথে প্রাসঙ্গিক একমাত্র ডেটা। সামিয়াস ইউআরএল একটি রেফারেন্স ওয়েব পৃষ্ঠাকে বোঝায় যা সত্তাকে নির্বিঘ্নে চিহ্নিত করে। কোনও এনাম মান নির্দিষ্ট করতে ব্যবহৃত হয় যদি এবং কেবলমাত্র যদি অভিপ্রায় প্যারামিটার প্রকারটি স্কিমা.অর্গ/এনামারেশনের একটি সাব টাইপ হয়। এটি প্যারামিটার ক্ষেত্রগুলির জন্য প্রয়োজনীয় যাদের প্রকারগুলি schema.org/Enumeration সাব টাইপ (উদাহরণস্বরূপ: MealTypeBreakfast )।

গুণাবলী:

  • android:key : অ্যাপের ক্রিয়াকলাপগুলির জন্য সমর্থিত মান: sameAs
  • android:value : sameAs ইউআরএল মান

আরও তথ্যের জন্য, গণনা করা প্যারামিটার মানগুলি দেখুন।

অভিপ্রায় পরিপূর্ণতা বিকল্প

সহকারী কীভাবে সাড়া দেয় বা পূরণ করে, সেই সক্ষমতার সাথে মেলে এমন ব্যবহারকারী ভয়েস কমান্ডগুলিতে আপনি একটি <capability> এর মধ্যে intent উপাদানগুলি সংজ্ঞায়িত করেন। আপনার অ্যাপ্লিকেশন নেভিগেশন কীভাবে কাঠামোগত হয় তার উপর নির্ভর করে কীভাবে কোনও intent আপনার অ্যাপ্লিকেশনটিতে একটি পরিপূর্ণতা গন্তব্য চালু করে তা কনফিগার করার বিভিন্ন উপায় রয়েছে।

নিম্নলিখিত পরিপূর্ণতা বিকল্পগুলি উপলব্ধ:

  • সুস্পষ্ট অভিপ্রায় : intent জন্য targetClass এবং targetPackage বৈশিষ্ট্যগুলি সংজ্ঞায়িত করে একটি নির্দিষ্ট অ্যাপ্লিকেশন উপাদান চালু করুন। এটি প্রস্তাবিত অ্যাপ্লিকেশন ক্রিয়া পরিপূর্ণ পদ্ধতি।

  • গভীর লিঙ্কগুলি : intent উপাদানটির মধ্যে একটি <url-template> ট্যাগ সংজ্ঞায়িত করে অ্যান্ড্রয়েড গভীর লিঙ্কগুলি ব্যবহার করে অ্যাপ গন্তব্যগুলি চালু করুন। যদি আপনার অ্যাপ্লিকেশন নেভিগেশন ইতিমধ্যে গভীর লিঙ্কগুলির উপর নির্ভর করে তবে এই পদ্ধতিটি কার্যকর।

  • ইন্টেন্ট ডেটা : আপনি intent android:data অ্যাট্রিবিউটে একটি পরিপূর্ণতা ইউআরআই সরবরাহ করতে পারেন। এই ক্ষেত্রটি <url-template> ডেটা দ্বারা ওভাররাইট করা হয় যদি সেই ট্যাগটিও intent মধ্যে সংজ্ঞায়িত করা হয়।

প্যারামিটার ডেটা এবং ম্যাচিং

ডিফল্টরূপে, সহকারী capability হিসাবে সংজ্ঞায়িত অ্যান্ড্রয়েড intent extra ডেটা হিসাবে ব্যবহারকারী ক্যোয়ারী থেকে আপনার অ্যাপ্লিকেশনটিতে নিষ্কাশিত বিআইআই প্যারামিটারগুলি প্রেরণ করে।

পর্যায়ক্রমে, আপনি গতিশীল পরামিতিগুলির জন্য স্থানধারক রয়েছে এমন capability একটি <url-template> ট্যাগ ঘোষণা করতে পারেন। এই টেম্পলেটটি আপনার অ্যান্ড্রয়েড ক্রিয়াকলাপগুলির মধ্যে একটিতে মানচিত্র, একটি অ্যাপ্লিকেশন লিঙ্কগুলি ইউআরএল , একটি কাস্টম স্কিম বা একটি অভিপ্রায়-ভিত্তিক ইউআরএল ব্যবহার করে।

অভিপ্রায় অতিরিক্ত ব্যবহার করে

নিম্নলিখিত উদাহরণটি 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>

উপরের নমুনাটি দেওয়া, যেমন কোনও ব্যবহারকারীর প্রশ্নের জন্য, "আরে গুগল, উদাহরণ থেকে একটি ল্যাট অর্ডার করুন" অ্যাপ্লিকেশনটি এমন একটি intent পেয়েছে যা উপাদানটিকে অনুরোধ করে: targetPackage , targetClass । উপাদানটি key = "exercise" , value = "Running" সহ একটি অতিরিক্ত গ্রহণ করে।

যদি আপনার অ্যাপ্লিকেশনটি ইতিমধ্যে গতিশীল পরামিতিগুলির সাথে অ্যাপ-লিঙ্কযুক্ত ইউআরএলগুলি পরিচালনা করতে সক্ষম হয় তবে আপনি পরিপূরণ করার জন্য অ্যান্ড্রয়েড গভীর লিঙ্কগুলি তৈরি করার 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>

উপরের নমুনাটি দেওয়া, যেমন ব্যবহারকারীর প্রশ্নের জন্য, "আরে গুগল, উদাহরণ থেকে একটি ল্যাট অর্ডার করুন," অ্যাপটি উত্পন্ন ইউআরএল গ্রহণ করে: "মাই অ্যাপ: // শুরু? অনুশীলন = চলমান"।

আপনার ইউআরএল -তে কোনও অবস্থানে বিআইআই প্যারামিটারটি মানচিত্র করতে, আপনি অ্যান্ড্রয়েড ব্যবহার করুন: <parameter> প্যারামিটার> ট্যাগের android:name বৈশিষ্ট্য। এই বৈশিষ্ট্যটি android:key মান যা আপনি ব্যবহারকারীর কাছ থেকে তথ্যের সাথে প্রতিস্থাপন করতে চান। android:key মানটি অবশ্যই আপনার <url-template> এ উপস্থিত থাকতে হবে এবং কোঁকড়ানো ধনুর্বন্ধনী ( {} ) দ্বারা আবদ্ধ।

গণনা করা প্যারামিটার মানগুলি মেলে

কিছু বিআইআই প্যারামিটারগুলি আপনার পরিপূর্ণতা অভিপ্রায়গুলিতে গণিত মান সরবরাহ করে, উদাহরণস্বরূপ, RECORD_FOOD_OBSERVATION বিআইআইয়ের সমর্থিত পাঠ্য মানগুলি । এই পরামিতিগুলির জন্য, সহকারী ব্যবহারকারীর ক্যোয়ারী ("প্রাতঃরাশ") এর সাথে এমন একটি সত্তার সাথে মেলে যার sameAs মান এনুম স্কিমা ইউআরএল ( https://schema.googleapis.com/MealTypeBreakfast ) সাথে মেলে। সমর্থিত entity জন্য এনাম মানগুলি সংযুক্ত করার জন্য, আপনি আপনার 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 : একটি কাস্টম অভিপ্রায় প্যারামিটার ধরণ। এই ক্ষেত্রটি বিআইআইএসের জন্য প্রয়োজনীয় নয়, যেখানে প্যারামিটারের ধরণটি জানা যায়। কাস্টম ইনটেন্ট প্যারামিটারগুলির জন্য, একটি সমর্থিত শব্দার্থক প্রকারটি অবশ্যই ঘোষণা করতে হবে।

আরও তথ্যের জন্য, কাস্টম অভিপ্রায় দেখুন।

,

একবার আপনি প্রয়োগ করার জন্য আপনার অ্যাপ্লিকেশন কার্যকারিতা এবং সংশ্লিষ্ট বিল্ট-ইন ইন্টেন্ট (বিআইআই) সনাক্ত করার পরে, একটি shortcuts.xml রিসোর্স ফাইলে একটি capability উপাদান সংজ্ঞায়িত করে আপনার কার্যকারিতা সমর্থন করে BIIS ঘোষণা করুন। একটি বিআইআইকে একটি capability হিসাবে ঘোষণা করা আপনার অ্যাপ্লিকেশনটিতে সেই শব্দার্থক অভিপ্রায়টির জন্য সমর্থন নিবন্ধন করে এবং গুগল সহকারী ব্যবহার করে অভিপ্রায়টির ভয়েস ক্যোয়ারির পরিপূর্ণতা সক্ষম করে।

সহকারী কোনও ব্যবহারকারীর ক্যোয়ারী থেকে পরামিতিগুলি বের করতে প্রাকৃতিক ভাষা প্রক্রিয়াকরণ ব্যবহার করে। অন্তর্নির্মিত ইন্টেন্টস রেফারেন্সটি প্রতিটি বিআইআই সম্পর্কিত ব্যবহারকারীর ক্যোয়ারী থেকে উত্তোলন করতে সক্ষম এমন ক্ষেত্রগুলি তালিকাভুক্ত করে। উদাহরণস্বরূপ, যদি কোনও ব্যবহারকারী যদি [ actions.intent.GET_FOOD_OBSERVATION ] [ :

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

সহকারী capability সংজ্ঞায়িত পরিপূর্ণতা intent বিআইআই প্যারামিটারগুলি পাস করে। এক বা একাধিক intent উপাদানগুলি কোনও ব্যবহারকারী বিআইআইয়ের জন্য বিভিন্ন উপায়ে সামঞ্জস্য করার সক্ষমতা হিসাবে সংজ্ঞায়িত করা যেতে পারে। উদাহরণস্বরূপ, আপনি একটি পরিপূর্ণতা intent সংজ্ঞায়িত করতে পারেন যা উপরের উদাহরণে উভয় বিআইআই পরামিতি প্রয়োজন। তারপরে আপনি একটি দ্বিতীয় অভিপ্রায় সংজ্ঞায়িত করতে পারেন যার জন্য একটি একক বিআই প্যারামিটার, foodObservation.forMeal

ওভারভিউ

আপনি আপনার অ্যাপ্লিকেশন প্রকল্পের res/xml ডিরেক্টরিতে রাখা একটি shortcuts.xml ফাইল ব্যবহার করে অ্যাপ্লিকেশন ক্রিয়াগুলি কনফিগার করেন এবং তারপরে আপনার অ্যাপ্লিকেশন ম্যানিফেস্টে shortcuts.xml -এর একটি রেফারেন্স তৈরি করে। এই পদক্ষেপগুলি অনুসরণ করে আপনার অ্যাপ্লিকেশন প্রকাশে shortcuts.xml -তে একটি রেফারেন্স যুক্ত করুন:

  1. আপনার অ্যাপ্লিকেশনটির ম্যানিফেস্ট ফাইলে ( AndroidManifest.xml ), এমন একটি ক্রিয়াকলাপ সন্ধান করুন যার অভিপ্রায় ফিল্টারগুলি android.intent.action.MAIN অ্যাকশন এবং android.intent.category.LAUNCHER বিভাগে সেট করা আছে।

  2. AndroidManifest.xml -এ shortcuts.xml -তে একটি রেফারেন্স যুক্ত করুন <meta-data> > ট্যাগ ব্যবহার করে Activity MAIN এবং LAUNCHER উভয়ের জন্য অভিপ্রায় ফিল্টার রয়েছে:

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

উপরের উদাহরণটি এপিকে xml/shortcuts.xml ফাইলের জন্য একটি এক্সএমএল সংস্থান ঘোষণা করে। শর্টকাটগুলি কনফিগার করার বিষয়ে আরও তথ্যের জন্য, অ্যান্ড্রয়েড বিকাশকারী ডকুমেন্টেশনে স্ট্যাটিক শর্টকাট তৈরি করুন দেখুন।

জেটপ্যাক লাইব্রেরি androidx.core:core:1.6.0 (বা তার বেশি) আপনার অ্যান্ড্রয়েড প্রকল্পে সংকলন ত্রুটিগুলি এড়াতে প্রয়োজনীয় যখন shortcuts.xml অ্যাপ ক্রিয়াকলাপের ক্ষমতাগুলি সংজ্ঞায়িত করে। বিশদগুলির জন্য, অ্যান্ড্রয়েড জেটপ্যাক দিয়ে শুরু করা দেখুন।

স্ট্যাটিক শর্টকাটস

আপনার capability সংজ্ঞায়িত করার সময়, আপনি সামর্থ্যের কার্যকারিতা বাড়ানোর জন্য shortcuts.xml -এ স্ট্যাটিক shortcut উপাদানগুলি ঘোষণা করতে পারেন। আপনি যখন গুগল প্লে কনসোলে একটি রিলিজ আপলোড করেন তখন স্ট্যাটিক শর্টকাটগুলি সহকারী দ্বারা খাওয়া হয়। যেহেতু স্ট্যাটিক শর্টকাটগুলি কেবল নতুন রিলিজ তৈরি করে তৈরি এবং আপডেট করা যায়, তাই আপনার অ্যাপ্লিকেশনটিতে সাধারণ ক্রিয়াকলাপ এবং সামগ্রী হাইলাইট করতে এগুলি সবচেয়ে কার্যকর।

আপনি স্ট্যাটিক শর্টকাটগুলির সাথে নিম্নলিখিত অ্যাপ্লিকেশন ক্রিয়া কার্যকারিতা সক্ষম করতে পারেন:

  • সক্ষমতা শর্টকাটস । শর্টকাটগুলি তৈরি করুন যা পূর্বনির্ধারিত intent প্যারামিটার মানগুলি সহ আপনার capability একটি উদাহরণ চালু করে। উদাহরণস্বরূপ, আপনি একটি অ্যাপ্লিকেশন শর্টকাট "স্টার্ট এ রান" ঘোষণা করতে পারেন যা আপনার ফিটনেস অ্যাপে START_EXERCISE বিআইআই সক্ষমতা আহ্বান করে।

    এই শর্টকাটগুলিতে intent , shortLabel এবং longLabel বৈশিষ্ট্য রয়েছে, যা তাদেরকে প্র্যাকটিভ পৃষ্ঠগুলিতে চিপস হিসাবে প্রস্তাবিত এবং পরিপূর্ণ করার যোগ্য করে তোলে যেমন সহকারী বা যখন অ্যান্ড্রয়েড লঞ্চারগুলিতে কোনও অ্যাপ আইকন দীর্ঘ-চাপ দেওয়া। একটি অ্যাকশন শর্টকাট একটি <capability-binding> ট্যাগ ব্যবহার করে capability সাথে সংযুক্ত করে নীচে বিস্তারিত একটি সত্তা শর্টকাট হিসাবেও পরিবেশন করতে পারে।

  • সত্তা শর্টকাটস । সত্তা শর্টকাটগুলি একটি capability ভয়েস ক্যোয়ারী পূরণের জন্য সমর্থিত প্যারামিটার মানগুলির একটি তালিকা সরবরাহ করে। উদাহরণস্বরূপ, অনুশীলনের ধরণের তালিকা ("হাইক," "রান," ইত্যাদি) এর একটি তালিকা সহ একটি সত্তা শর্টকাট exercise.name সাথে আবদ্ধ START_EXERCISE যদি কোনও ব্যবহারকারীর উচ্চারণ কোনও সত্তার সাথে মেলে তবে shortcutId আইডিটি কাঁচা ব্যবহারকারী ক্যোয়ারী মানের পরিবর্তে অভিপ্রায়টিতে প্রেরণ করা হয়।

    Entity শর্টকাটগুলি intent , shortLabel বা longLabel বৈশিষ্ট্যগুলি সংজ্ঞায়িত করে না এবং এগুলি প্র্যাকটিভ পৃষ্ঠগুলিতে প্রস্তাবিত নয়। বিশদের জন্য, অ্যাপ্লিকেশন ক্রিয়াকলাপের জন্য ইনলাইন ইনভেন্টরি দেখুন।

সক্ষমতা স্কিমা

নিম্নলিখিত টেবিলটি shortcuts.xml -এ capability উপাদানগুলির জন্য অ্যাপ অ্যাকশন স্কিমা বর্ণনা করে। একটি ট্যাগ অন্তর্ভুক্ত করার সময়, "al চ্ছিক" চিহ্নিত না করা হলে এর সমস্ত বৈশিষ্ট্য প্রয়োজন।

শর্টকাটস.এক্সএমএল ট্যাগ এর মধ্যে রয়েছে গুণাবলী
<capability> <shortcuts>

android:name

app:queryPatterns (কেবল কাস্টম উদ্দেশ্যগুলির জন্য প্রযোজ্য)

<intent> <capability>

android:action (al চ্ছিক)

android:targetClass (al চ্ছিক)

android:targetPackage (al চ্ছিক)

android:data (al চ্ছিক)

<url-template> <intent>

android:value

<extra> <intent>

android:key

android:value

কেবল অগ্রভাগ অ্যাপ্লিকেশন অনুরোধের জন্য প্রযোজ্য

<parameter> <intent>

android:name

android:key

android:mimeType (কেবল কাস্টম উদ্দেশ্যগুলির জন্য প্রযোজ্য)

android:required (al চ্ছিক)

app:shortcutMatchRequired (al চ্ছিক)

<shortcut-fulfillment> <capability> কেবল ইনলাইন ইনভেন্টরির জন্য প্রযোজ্য
<parameter> <shortcut-fulfillment> android:name
<slice> <capability>

শুধুমাত্র অ্যান্ড্রয়েড স্লাইসের জন্য প্রযোজ্য

সক্ষমতা স্কিমা বিবরণ

এই বিভাগটি capability স্কিমা উপাদানগুলি বর্ণনা করে।

<সক্ষমতা>

আপনার অ্যাপ্লিকেশনটিকে সমর্থন করে এমন একটি capability যা অ্যাপ অ্যাকশন ইনটেন্টকে সংজ্ঞায়িত করে। আপনার shortcuts.xml ফাইলের প্রতিটি <capability> উপাদানটি অবশ্যই ক্রিয়াটির পরিপূর্ণতা পরিচালনা করতে কমপক্ষে একটি <intent> সরবরাহ করতে হবে।

গুণাবলী:

  • android:name : অন্তর্নির্মিত ইনটেন্ট অ্যাকশন আইডি (উদাহরণস্বরূপ, [ actions.intent.GET_FOOD_OBSERVATION ] [])। সমর্থিত অন্তর্নির্মিত উদ্দেশ্যগুলির তালিকার জন্য, অন্তর্নির্মিত অভিপ্রায় রেফারেন্সটি দেখুন।
  • app:queryPatterns : এই অভিপ্রায়টির জন্য ব্যবহারকারীর কাছ থেকে প্রত্যাশিত প্রশ্নের একটি স্ট্রিং অ্যারে রিসোর্স। এই বৈশিষ্ট্যটি কেবল কাস্টম অভিপ্রায়গুলির জন্যই প্রযোজ্য, কারণ বিআইআইএস ইতিমধ্যে ব্যবহারকারীরা যে কাজগুলি করার চেষ্টা করছে সেগুলি বা তারা যে তথ্যগুলি অনুসন্ধান করে তা প্রকাশ করে এমন সাধারণ উপায়গুলির মডেলগুলি অন্তর্ভুক্ত করে।

<ইনটেন্ট>

অ্যাপ্লিকেশন কার্যকারিতা ব্যবহার করে কীভাবে কোনও ব্যবহারকারীর ক্যোয়ারী পূরণ করা উচিত তা নির্ধারণ করে অ্যান্ড্রয়েড intent উপাদান। বিকাশকারীরা একটি capability একাধিক <intent> ট্যাগ সরবরাহ করতে পারে। সহকারী প্রথম <intent> একটি capability ব্যবহার করে ব্যবহারকারীর ক্যোয়ারী পূরণ করার চেষ্টা করে যার জন্য সমস্ত প্রয়োজনীয় পরামিতি সরবরাহ করা হয়।

গুণাবলী:

  • android:action : অভিপ্রায় Action টাইপ। ACTION_VIEW ডিফল্ট।
  • android:targetClass : টার্গেট ক্রিয়াকলাপ শ্রেণি, উদাহরণস্বরূপ: "com.example.exercise.ExerciseActivity"
  • android:targetPackage : লক্ষ্য ক্রিয়াকলাপ শ্রেণিযুক্ত প্যাকেজ, উদাহরণস্বরূপ: "com.example.exercise
  • android:data : এই ক্ষেত্রটি <url-template> দ্বারা ওভাররাইট করা হয়েছে যদি সেই ট্যাগটি intent ঘোষণা করা হয়।

<url-template>

ডিভাইসে খোলার জন্য একটি গভীর লিঙ্ক ইউআরআই নির্মাণের জন্য টেমপ্লেট। টেমপ্লেটের জন্য প্রয়োজনীয় সমস্ত পরামিতি পাওয়া গেলে টেমপ্লেটটি অন্তর্নির্মিত ইন্টেন্ট প্যারামিটারগুলির সাথে প্রসারিত হতে পারে। এইচটিটিপি ইউআরএল টেমপ্লেটের উদাহরণগুলির জন্য, ইউআরএল টেমপ্লেটগুলিতে উইকিপিডিয়া নিবন্ধটি দেখুন। টেমপ্লেট ফর্ম্যাটটি আরএফসি 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

ইউআরএল টেম্পলেটগুলি কনফিগার করার বিষয়ে আরও তথ্যের জন্য, পরিপূর্ণতায় ইউআরএল টেম্পলেটগুলি দেখুন।

<অতিরিক্ত>

একটি intent জন্য অতিরিক্ত ডেটা সংজ্ঞায়িত করে। অ্যাপ্লিকেশন ক্রিয়াকলাপের জন্য, এই ক্ষেত্রটি কেবল capability জন্য [অগ্রভাগের অ্যাপের অনুরোধ] ​​[] সক্ষম করতে ব্যবহৃত হয়।

<প্যারামিটার>

অভিপ্রায় প্যারামিটার মানগুলিতে একটি বিআইআই প্যারামিটার মানচিত্র। আরও তথ্যের জন্য, প্যারামিটার ডেটা এবং ম্যাচিং দেখুন।

গুণাবলী:

  • android:name : এই intent প্যারামিটারের সাথে যুক্ত করতে বিআইআই প্যারামিটারের নাম। নামটি বিআইআই প্যারামিটারের একটি পাতা-স্তরের ক্ষেত্র হওয়া উচিত (উদাহরণস্বরূপ, foodObservation.aboutFood.name )।
  • android:key : একটি বিআইআই প্যারামিটার মানের বিকাশকারী-সংজ্ঞায়িত কী। উদাহরণস্বরূপ, আপনি message.recipient.name জন্য contact_name সংজ্ঞায়িত করতে পারেন rec
  • android:mimeType : প্যারামিটারের মিমেটাইপ যেমন text/* । এই ক্ষেত্রটি কেবল কাস্টম উদ্দেশ্যগুলির পরামিতিগুলির জন্য প্রয়োজনীয়।
  • android:required : ব্যবহারকারীর ক্যোয়ারিকে এই অভিপ্রায়টি পরিপূর্ণতার জন্য ব্যবহার করার জন্য এই প্যারামিটারটি অন্তর্ভুক্ত করা দরকার কিনা তা ঘোষণা করে। যদি প্যারামিটারটি উপলভ্য না থাকে তবে সহকারী capability জন্য সংজ্ঞায়িত পরবর্তী intent ব্যবহার করে ব্যবহারকারীর ক্যোয়ারীটি পূরণ করার চেষ্টা করে।

<শর্টকাট-ফুলফিলমেন্ট>

নির্দিষ্ট করে যে নির্দিষ্ট প্যারামিটারের জন্য একটি ইনলাইন ইনভেন্টরি শর্টকাটে সংজ্ঞায়িত একটি intent পরিপূর্ণতার জন্য ব্যবহার করা উচিত। বিশদের জন্য, শর্টকাট অভিপ্রায় ব্যবহার করে পরিপূর্ণতা দেখুন।

<প্যারামিটার> ( <shortcut-fulfillment> > এর জন্য)

Optional attribute that maps a single BII parameter to inline inventory shortcut fulfillment. For details, see Fulfillment using shortcut intents .

বৈশিষ্ট্য:

  • android:name : Name of the BII parameter to associate to inline inventory shortcut fulfillment. The name should be a leaf-level field of the BII parameter (for example, menuItem.name ).

<slice>

Enables Assistant to embed the result of a query matching this capability as an Android Slice. For details, see Integrate App Actions with Android Slices .

Shortcut schema

The following table describes attributes of shortcut elements that are used to enable App Actions functionality. When including a tag, all of its attributes are required unless marked "optional".

Shortcuts.xml tag এর মধ্যে রয়েছে গুণাবলী
<shortcut> <shortcuts>

android:shortcutId

android:shortcutShortLabel

android:shortcutLongLabel (optional)

android:icon (optional)

<intent> <shortcut>

android:action

android:targetClass (optional)

android:targetPackage (optional)

android:data (optional)

<capability-binding> <shortcut>

android:key

<parameter-binding> <capability-binding>

android:key (optional)

android:value

<extra> <shortcut>

android:name (optional)

android:value

Only applicable for Enum parameter matching .

Shortcut schema description

This section describes the shortcut schema elements.

<shortcut>

An Android <shortcut> defined in shortcuts.xml with certain attributes that are relevant for App Actions. String values for the shortcutShortLabel and shortcutLongLabel fields are referenced via the APK's string resources .

গুণাবলী:

  • android:shortcutId : Identifier for this shortcut.
  • android:shortcutShortLabel : String resource representing a brief shortcut phrase. For example, "@string/callDavidShort" representing the value "Call David."
  • android:shortcutLongLabel : String resource representing a long shortcut phrase. For example, "@string/callDavidLong" representing the value "Make an audio call to David."

<intent>

Android intent associated to this shortcut. This intent is executed when a user launches this shortcut using voice or touch.

shortcut intent attributes are identical to capability intent attributes.

<capability-binding>

Associates a shortcut to an App Actions capability . Adding this element to a shortcut enables it for voice fulfillment using Assistant .

গুণাবলী:

  • android:key : The android:name attribute of the capability this shortcut is bound to. For example, actions.intent.START_EXERCISE .

<parameter-binding>

Optional attribute that associates a shortcut to a single parameter of an App Actions capability . If a parameter-binding is defined for a shortcut , the shortcut can be used to provide an inline inventory entity to a BII parameter. For more details, see Inline inventory for App Actions .

গুণাবলী:

  • android:key : The name of the capability BII parameter to associate this shortcut to. For example, exercise.name .
  • android:value : the entity value. This can be a single entity or a resource list.

<extra>

The extra bundle data for the shortcut. sameAs is the only data relevant to App Actions shortcut elements. The sameAs URL refers to a reference web page that unambiguously identifies the entity. Used to specify an enum value if and only if the intent parameter type is a subtype of schema.org/Enumeration . It is required for parameter fields whose types are subtypes of schema.org/Enumeration (for example: MealTypeBreakfast ).

গুণাবলী:

  • android:key : The supported value for App Actions is: sameAs
  • android:value : The sameAs URL value

For more details, see Matching enumerated parameter values .

Intent fulfillment options

You define intent elements within a <capability> to declare how Assistant responds to, or fulfills, user voice commands that match that capability. There are several ways to configure how an intent launches a fulfillment destination in your app, depending on how your app navigation is structured.

The following fulfillment options are available:

  • Explicit intents : Launch a specific app component by defining the targetClass and targetPackage attributes for the intent . This is the recommended App Actions fulfillment method.

  • Deep links : Launch app destinations using Android deep links by defining a <url-template> tag within the intent element. This method is useful if your app navigation already relies on deep links.

  • Intent data : You can provide a fulfillment URI in the intent android:data attribute. This field is overwritten by <url-template> data if that tag is also defined within the intent .

Parameter data and matching

By default, Assistant sends BII parameters extracted from the user query to your app as extra data of the Android intent defined in the capability .

Alternately, you can declare a <url-template> tag in the capability that contains placeholders for dynamic parameters. This template maps to one of your Android activities, using an App Links URL , a custom scheme, or an Intent-based URL .

Using intent Extras

The following example demonstrates an explicit intent defined for a capability fulfillment:

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

Given the above sample, for a user query like, "Hey Google, order a latte from ExampleApp," the app receives an intent that invokes the component: targetPackage , targetClass . The component receives an Extra with key = "exercise" , value = "Running" .

If your app is already able to handle app-linked URLs, with dynamic parameters, you can define a <url-template> in the intent to generate Android deep links for fulfillment. The following sample defines a <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>

Given the above sample, for a user query like, “Hey Google, order a latte from ExampleApp," the app receives the generated URL: "myapp://start?exercise=Running".

To map the BII parameter to a position in your URL, you use the android:name attribute of the <parameter> tag. This attribute corresponds to the android:key value in the URL template that you want to substitute with information from the user. The android:key value must be present in your <url-template> and enclosed by curly braces ( {} ).

Match enumerated parameter values

Some BII parameters provide enumerated values to your fulfillment intent, for example, the supported text values of the RECORD_FOOD_OBSERVATION BII. For these parameters, Assistant matches the user's query ("Breakfast") to an entity whose sameAs value matches the enum schema URL ( https://schema.googleapis.com/MealTypeBreakfast ). To associate enum values for a supported entity , you declare a sameAs association in your shortcut . The following sample demonstrates a sameAs association for an inline entity shortcut:

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

In the above example, if the RECORD_FOOD_OBSERVATION capability triggers a match for the "breakfast" meal type, the following Extra is sent with the fulfillment intent :

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

বৈশিষ্ট্য

The following App Actions features are available in shortcuts.xml .

Inline inventory for App Actions

For some BII parameters, shortcuts can be used to guide entity extraction to a set of supported entities specified in shortcuts.xml , known as inline inventory. For details, see Inline inventory .

Custom intents

Custom intents can be declared in shortcuts.xml to voice enable features in your app that don't match available BIIs. While similar in functionality to a BII definition, custom intents require two additional attributes in shortcuts.xml :

  • app:queryPatterns : Array resource that declares the different query patterns for a custom intent.

  • android:mimeType : Parameter type of a custom intent. This field is not required for BIIs, where the parameter type is known. For custom intent parameters, a supported semantic type must be declared.

For more details, see Custom intents .