ভয়েস কন্ট্রোল চালকদের স্টিয়ারিং হুইল থেকে হাত বা রাস্তা থেকে চোখ না সরিয়েই বিভিন্ন কাজ সম্পাদন করতে সক্ষম করে। গাড়ির অ্যাপের জন্য অ্যাপ অ্যাকশন-এর মাধ্যমে, চালকরা জেমিনি বা গুগল অ্যাসিস্ট্যান্ট ব্যবহার করে তাদের ইনফোটেইনমেন্ট সিস্টেমের অ্যান্ড্রয়েড অ্যাপগুলো নিয়ন্ত্রণ করতে পারেন, যেমন— “হে গুগল, ExampleApp-এ রাস্তার পার্কিং খুঁজে দাও” বলার মাধ্যমে।
অ্যাপ অ্যাকশনস পয়েন্ট অফ ইন্টারেস্ট (POI) কার অ্যাপের সাথে কাজ করে। এই নির্দেশিকায় আপনার POI অ্যাপে অ্যাপ অ্যাকশনস সংহত করার জন্য নির্দিষ্ট প্রয়োজনীয়তা এবং সীমাবদ্ধতাগুলো আলোচনা করা হয়েছে।
এটি কীভাবে কাজ করে
অ্যাপ অ্যাকশন আপনার অ্যাপের ভেতরের কার্যকারিতাকে জেমিনি বা গুগল অ্যাসিস্ট্যান্ট পর্যন্ত প্রসারিত করে, যার ফলে ব্যবহারকারীরা তাদের কণ্ঠস্বর ব্যবহার করে অ্যাপের বিভিন্ন ফিচার অ্যাক্সেস করতে পারেন। যখন কোনো ব্যবহারকারী একটি অ্যাপ অ্যাকশন চালু করেন, তখন জেমিনি বা গুগল অ্যাসিস্ট্যান্ট আপনার অ্যাপের shortcuts.xml রিসোর্সে ঘোষিত একটি বিল্ট-ইন ইন্টেন্ট ( BII )-এর সাথে কোয়েরিটি মিলিয়ে দেখে এবং অনুরোধ করা স্ক্রিনে আপনার অ্যাপটি চালু করে।
আপনি অ্যান্ড্রয়েড capability এলিমেন্ট ব্যবহার করে আপনার অ্যাপে BII-এর জন্য সমর্থন ঘোষণা করেন। যখন আপনি গুগল প্লে কনসোল ব্যবহার করে আপনার অ্যাপ আপলোড করেন, তখন গুগল আপনার অ্যাপে ঘোষিত ক্যাপাবিলিটিগুলো রেজিস্টার করে এবং ব্যবহারকারীদের জন্য জেমিনি বা গুগল অ্যাসিস্ট্যান্ট থেকে সেগুলো অ্যাক্সেস করার সুযোগ করে দেয়।

- একজন ব্যবহারকারী জেমিনি বা গুগল অ্যাসিস্ট্যান্ট চালু করে একটি নির্দিষ্ট অ্যাপের জন্য ভয়েস রিকোয়েস্ট করেন।
- জেমিনি বা গুগল অ্যাসিস্ট্যান্ট অনুরোধটিকে একটি পূর্ব-প্রশিক্ষিত মডেলের (BII) সাথে মেলায় এবং BII দ্বারা সমর্থিত প্যারামিটারগুলো বের করে নেয়।
- এই উদাহরণে, জেমিনি বা গুগল অ্যাসিস্ট্যান্ট কোয়েরিটিকে
GET_CHARGING_STATIONBII-এর সাথে মেলায়, “SFO” লোকেশন প্যারামিটারটি বের করে এবং লোকেশনটিকে তার ভূ-স্থানাঙ্কে রূপান্তর করে। - এই BII-এর জন্য এর পরিপূরণ সংজ্ঞার মাধ্যমে অ্যাপটি সক্রিয় করা হয়।
- অ্যাপটি অর্ডারটি সম্পন্ন করে এবং ড্রাইভারের ইনফোটেইনমেন্ট সিস্টেমে চার্জিং স্টেশনের বিকল্পগুলো প্রদর্শন করে।
সীমাবদ্ধতা
অ্যাপ অ্যাকশন-এর কার ইমপ্লিমেন্টেশনগুলোর নিম্নলিখিত সীমাবদ্ধতা রয়েছে:
অ্যান্ড্রয়েড ডিপ লিঙ্ক ব্যবহার করে কার অ্যাপ অ্যাকশনগুলি সম্পন্ন করতে হবে। অ্যাপ অ্যাকশন সম্পন্নকরণ সম্পর্কে তথ্যের জন্য, বিল্ট-ইন ইন্টেন্টগুলির জন্য সম্পন্নকরণের বিবরণ দিন দেখুন।
গাড়ির বাস্তবায়ন শুধুমাত্র নিম্নলিখিত BII-গুলিকে সমর্থন করে:
- পার্কিং -
GET_PARKING_FACILITY - চার্জিং -
GET_CHARGING_STATION
- পার্কিং -
প্রয়োজনীয়তা
অ্যাপ অ্যাকশনের জন্য আপনার গাড়ির অ্যাপ প্রস্তুত করতে নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- অ্যাপ অ্যাকশনের জন্য অ্যান্ড্রয়েড অ্যাপের সাধারণ প্রয়োজনীয়তাগুলো পূরণ করুন।
- কার অ্যাপ লাইব্রেরি ডিপেন্ডেন্সিটি অন্তর্ভুক্ত করুন। বিস্তারিত জানতে, ডিপেন্ডেন্সি ঘোষণা দেখুন।
আপনার উদ্দেশ্য ও পরিতৃপ্তি নির্ধারণ করুন
অ্যাপ অ্যাকশন ব্যবহার করে একটি গাড়ির অ্যাপকে ভয়েস কমান্ড-সক্ষম করার প্রথম ধাপ হলো, আপনার অ্যাপটি ব্যবহারকারীর কোন কোন ভয়েস কমান্ড বা ইন্টেন্ট সমর্থন করে তা নির্ধারণ করা। এরপর, আপনার অ্যাপটি কীভাবে অনুরোধটি পূরণ করবে তা নির্দিষ্ট করার জন্য প্রতিটি ইন্টেন্টের জন্য একটি ফুলফিলমেন্ট সংজ্ঞায়িত করতে হয়।
আপনার গাড়ির অ্যাপটি কোন কোন ইন্টেন্ট সমর্থন করে?
অ্যাপ অ্যাকশনস আগে থেকে প্রশিক্ষিত ভয়েস মডেল সরবরাহ করে, যেগুলোকে বিল্ট-ইন ইনটেন্ট (BII) বলা হয়। যখন কোনো ব্যবহারকারী "হে গুগল" বলেন, তখন এই মডেলগুলো তার ভয়েস কমান্ড বুঝতে ও ব্যাখ্যা করতে পারে। ভয়েস অনুরোধে সাড়া দেওয়ার জন্য, আপনাকে কেবল জেমিনি বা গুগল অ্যাসিস্ট্যান্টকে আপনার অ্যাপের সমর্থিত BII-গুলো ঘোষণা করতে হবে। উদাহরণস্বরূপ, যদি আপনি চান আপনার অ্যাপ কোনো পার্কিং সুবিধা খুঁজে পেতে সহায়তা করুক, তাহলে আপনি
GET_PARKING_FACILITYBII-টি প্রয়োগ করবেন। অথবা, ব্যবহারকারীদের ইলেকট্রিক গাড়ির চার্জিং স্টেশন খুঁজে পেতে সাহায্য করার জন্যGET_CHARGING_STATIONBII-টি প্রয়োগ করুন।আপনার অ্যাপ প্রতিটি ইন্টেন্ট কীভাবে পূরণ করবে?
আপনার অ্যাপটি উপযুক্ত স্ক্রিনে নিজেকে চালু করার মাধ্যমে ভয়েস অনুরোধটি পূরণ করে। অ্যাপ অ্যাকশনস ব্যবহারকারীর অনুরোধ থেকে সংগৃহীত প্যারামিটারের সাহায্যে আপনাকে অনুরোধটি পূরণের সুযোগ দেয়, যা আপনাকে ব্যবহারকারীর প্রয়োজন অনুযায়ী আপনার প্রতিক্রিয়াকে সাজিয়ে নিতে সক্ষম করে।
অ্যাপ অ্যাকশনগুলিকে একীভূত করুন
আপনার ফুলফিলমেন্ট কৌশল নির্ধারণ করার পর, আপনার গাড়ির অ্যাপটিকে ভয়েস-সক্ষম করতে এই ধাপগুলো অনুসরণ করুন:
আপনার প্রধান অ্যাক্টিভিটির
AndroidManifest.xmlফাইলটি খুলুন এবং অ্যান্ড্রয়েড শর্টকাটের জন্য সমর্থন ঘোষণা করুন। আপনার অ্যাপ যে BII-গুলো সমর্থন করে, তা Gemini বা Google Assistant-কে জানানোর জন্য আপনিcapabilityশর্টকাট এলিমেন্ট ব্যবহার করেন। আরও তথ্যের জন্য, ‘Add capabilities’ দেখুন।<!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />এরপর,
AndroidManifest.xmlএ একটি<intent-filter>এলিমেন্ট যোগ করুন। এটি Gemini বা Google Assistant-কে আপনার অ্যাপের কন্টেন্টের সাথে সংযোগ করার জন্য ডিপ লিঙ্ক ব্যবহার করতে সক্ষম করে।অ্যান্ড্রয়েড অটো ফুলফিলমেন্টের ক্ষেত্রে,
<intent-filter>আপনার মোবাইল অ্যাপের মতোই হবে।Android Automotive OS-এর ক্ষেত্রে, আপনার অ্যাপের
CarAppServiceসেশনটি Gemini বা Google Assistant-কে সক্রিয় করে। কোনো সেশনকে আপনার ডিপ লিঙ্ক সক্রিয় করার অনুমতি দিতে,AndroidManifest.xmlএর<activity>এলিমেন্টে একটি<intent-filter>উল্লেখ করুন।
<!-- AndroidManifest.xml --> <activity ... android:name="androidx.car.app.activity.CarAppActivity"> ... <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="YOUR_SCHEME" android:host="YOUR_HOST" /> </intent-filter> </activity>আপনার অ্যাপের
res/xmlডিরেক্টরিতে যদি আগে থেকেইshortcuts.xmlফাইল না থাকে, তাহলে একটি নতুন ফাইল তৈরি করুন। অ্যাপ অ্যাকশনস কীভাবে অ্যান্ড্রয়েড শর্টকাট ব্যবহার করে সে সম্পর্কে জানতে, Create shortcuts.xml দেখুন।shortcuts.xmlফাইলে, আপনার নির্বাচিত BII-এর জন্য একটিcapabilityপ্রয়োগ করুন। এরপর, অ্যাপ ফুলফিলমেন্ট সংজ্ঞায়িত করতে একটি নেস্টেড<intent>যোগ করুন।<!-- shortcuts.xml --> <?xml version="1.0" encoding="utf-8"?> <shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> <capability android:name="actions.intent.GET_PARKING_FACILITY"> <intent> <url-template android:value="YOUR_SCHEME://YOUR_HOST{?name,address,disambiguatingDescription,latitude,longitude}"> <!-- Facility name, e.g. "Googleplex" --> <parameter android:name="parkingFacility.name" android:key="name"/> <!-- Address, e.g. "1600 Amphitheatre Pkwy, Mountain View, CA 94043" --> <parameter android:name="parkingFacility.address" android:key="address"/> <!-- Disambiguate the type of service, e.g. "valet" --> <parameter android:name="parkingFacility.disambiguatingDescription" android:key="disambiguatingDescription"/> <!-- Latitude, e.g. "37.3861" --> <parameter android:name="parkingFacility.geo.latitude" android:key="latitude"/> <!-- Longitude, e.g. "-122.084" --> <parameter android:name="parkingFacility.geo.longitude" android:key="longitude"/> </intent> </capability> </shortcuts>অবশেষে, আগত অ্যাপ অ্যাকশনগুলো সম্পন্ন করার জন্য আপনার গাড়ির অ্যাপের
Session()লজিক আপডেট করুন। নিম্নলিখিত নমুনাগুলোতেSession.onCreateScreen()এবংSession.onNewIntent()এর জন্য ইন্টেন্ট হ্যান্ডলিং দেখানো হয়েছে।onCreateScreen()
কোটলিন
@Override fun onCreateScreen(@NonNull intent: Intent): Screen { if (intent.getData() != null) { val uri: Uri = intent.getData() // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } }
জাভা
@Override public Screen onCreateScreen(@NonNull Intent intent) { if (intent.getData() != null) { Uri uri = intent.getData(); // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } }
onNewIntent()
কোটলিন
@Override fun onNewIntent(@NonNull intent: Intent): Screen { if (intent.getData() != null) { val uri: Uri = intent.getData() // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } }
জাভা
@Override public void onNewIntent(@NonNull Intent intent) { if (intent.getData() != null) { Uri uri = intent.getData(); // uri = "YOUR_SCHEME://YOUR_HOST?name=Levis%20center" // Build your Templates with parsed uri parameters ... } }
আপনার অ্যাপের প্রিভিউ দেখুন, পরীক্ষা করুন এবং প্রকাশ করুন।
অ্যাপ অ্যাকশনস আপনার অ্যাপের প্রিভিউ ও পরীক্ষা করার জন্য বিভিন্ন টুল সরবরাহ করে। এই টুলিং সম্পর্কে তথ্যের জন্য এবং আপনার ভয়েস-সক্ষম কার অ্যাপটি প্লে স্টোরে কীভাবে প্রকাশ করবেন তার বিস্তারিত জানতে অ্যাপ অ্যাকশনস ওভারভিউ দেখুন।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2026-07-17 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2026-07-17 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[]]