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, আমার রান শুরু করুন" এর মতো একটি ব্যবহারকারীর প্রশ্নের জন্য অ্যাপটি এমন একটি 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, আমার রান শুরু কর" এর মতো ব্যবহারকারীর প্রশ্নের জন্য অ্যাপটি জেনারেট করা 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-এর জন্য প্রয়োজন হয় না, যেখানে প্যারামিটারের ধরন জানা থাকে। কাস্টম ইন্টেন্ট প্যারামিটারের জন্য, একটি সমর্থিত শব্দার্থিক প্রকার ঘোষণা করতে হবে।

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