ভয়েস কন্ট্রোল ব্যবহার করে ড্রাইভাররা স্টিয়ারিং হুইল থেকে হাত না সরিয়ে বা রাস্তা থেকে চোখ না সরিয়েই বিভিন্ন কাজ করতে পারেন। গাড়ির অ্যাপের জন্য অ্যাপ অ্যাকশনের মাধ্যমে, ড্রাইভাররা Gemini বা Google Assistant ব্যবহার করে তাদের ইনফোটেনমেন্ট সিস্টেমে Android অ্যাপ কন্ট্রোল করতে পারবেন, যেমন, "Ok Google, ExampleApp-এ স্ট্রিট পার্কিং খুঁজে দাও"।
অ্যাপ অ্যাকশন উল্লেখযোগ্য স্থান (POI) কার অ্যাপের সাথে কাজ করে। এই গাইডে আপনার POI অ্যাপে অ্যাপ অ্যাকশন ইন্টিগ্রেট করার জন্য নির্দিষ্ট প্রয়োজনীয়তা এবং সীমাবদ্ধতা কভার করা হয়েছে।
এটি কীভাবে কাজ করে
অ্যাপ অ্যাকশন আপনার অ্যাপ-মধ্যস্থ কার্যকারিতাকে Gemini বা Google Assistant-এ প্রসারিত করে, যা ব্যবহারকারীদের
তাদের ভয়েস ব্যবহার করে অ্যাপ ফিচার অ্যাক্সেস করতে সক্ষম করে। কোনও ব্যবহারকারী অ্যাপ অ্যাকশন চালু করলে,
Gemini বা Google Assistant আপনার অ্যাপের shortcuts.xml রিসোর্সে ঘোষণা করা বিল্ট-ইন ইনটেন্টের (BII) সাথে কোয়েরি ম্যাচ করে
এবং অনুরোধ করা স্ক্রিনে আপনার অ্যাপ চালু করে।
আপনি Android capability এলিমেন্ট ব্যবহার করে আপনার অ্যাপে BII-এর জন্য সহায়তা ঘোষণা করেন।
Google Play কনসোল ব্যবহার করে আপনার অ্যাপ আপলোড করার সময়, Google আপনার অ্যাপে ঘোষিত
ক্ষমতা রেজিস্টার করে এবং Gemini বা Google Assistant থেকে অ্যাক্সেস করার জন্য
ব্যবহারকারীদের কাছে তা উপলভ্য করে।
- ব্যবহারকারী Gemini বা Google Assistant ট্রিগার করে এবং নির্দিষ্ট অ্যাপের জন্য ভয়েস অনুরোধ করে।
- Gemini বা Google Assistant অনুরোধটি আগে থেকে ট্রেনিং দেওয়া মডেলের (BII) সাথে ম্যাচ করে এবং BII-এর মাধ্যমে কাজ করে এমন যেকোনও প্যারামিটার এক্সট্র্যাক্ট করে।
- এই উদাহরণে, Gemini বা Google Assistant কোয়েরিটি
GET_CHARGING_STATIONBII-এর সাথে ম্যাচ করে, লোকেশন প্যারামিটার “SFO” এক্সট্র্যাক্ট করে এবং লোকেশনটি এর জিও কোঅর্ডিনেটে অনুবাদ করে। - এই BII-এর জন্য অ্যাপটি তার ফুলফিলমেন্ট ডেফিনিশনের মাধ্যমে ট্রিগার করা হয়।
- অ্যাপটি ফুলফিলমেন্ট প্রসেস করে, ড্রাইভারের ইনফোটেইনমেন্ট সিস্টেমে চার্জিং স্টেশনের বিকল্প দেখায়।
সীমাবদ্ধতা
গাড়িতে অ্যাপ অ্যাকশন ইমপ্লিমেন্ট করার ক্ষেত্রে নিম্নলিখিত সীমাবদ্ধতা রয়েছে:
Android ডিপ লিঙ্ক ব্যবহার করে Car App Actions পূরণ করতে হবে। অ্যাপ অ্যাকশন সম্পূর্ণ করার বিষয়ে তথ্যের জন্য, বিল্ট-ইন ইনটেন্টের জন্য সম্পূর্ণ করার বিবরণ প্রদান করুন দেখুন।
গাড়িতে ইমপ্লিমেন্টেশনের ক্ষেত্রে শুধু নিম্নলিখিত BII কাজ করে:
- পার্কিং -
GET_PARKING_FACILITY - চার্জ হচ্ছে -
GET_CHARGING_STATION
- পার্কিং -
প্রয়োজনীয়তা
App Actions-এর জন্য আপনার গাড়ির অ্যাপ প্রস্তুত করতে নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- অ্যাপ অ্যাকশনের জন্য সাধারণ Android অ্যাপ প্রয়োজনীয়তা পূরণ করুন।
- Car App Library ডিপেন্ডেন্সি অন্তর্ভুক্ত করুন। আরও জানতে, ডিপেন্ডেন্সি ঘোষণা করা দেখুন।
আপনার উদ্দেশ্য ও তা পূরণ করার উপায় নির্ধারণ করা
অ্যাপ অ্যাকশনের মাধ্যমে কোনও গাড়ির অ্যাপে ভয়েস চালু করার প্রথম ধাপ হল, আপনার অ্যাপ কোন ব্যবহারকারীর ভয়েস কমান্ড বা ইনটেন্ট সাপোর্ট করে তা নির্ধারণ করা। তারপর আপনি প্রতিটি ইনটেন্টের জন্য একটি ফুলফিলমেন্ট নির্ধারণ করেন যাতে আপনার অ্যাপ কীভাবে অনুরোধ পূরণ করবে তা নির্দিষ্ট করা যায়।
আপনার গাড়ির অ্যাপ কোন কোন ইনটেন্ট সাপোর্ট করে?
অ্যাপ অ্যাকশন আগে থেকে ট্রেনিং দেওয়া ভয়েস মডেল প্রদান করে, যাকে বিল্ট-ইন ইনটেন্ট (BII) বলা হয়, যা ব্যবহারকারী "Ok Google" বলার পরে তার ভয়েস কমান্ড বুঝতে ও ব্যাখ্যা করতে পারে। ভয়েস অনুরোধের উত্তর দিতে, আপনার অ্যাপ যেসব BII সাপোর্ট করে, সেগুলি Gemini বা Google Assistant-এর কাছে ঘোষণা করুন। যেমন, আপনার অ্যাপ যদি পার্কিংয়ের সুবিধা খুঁজতে সাহায্য করুক বলে আপনি চান, তাহলে আপনাকে
GET_PARKING_FACILITYBII প্রয়োগ করতে হবে। অথবা, ব্যবহারকারীদের ইলেকট্রিক কার চার্জিং স্টেশন খুঁজতে সাহায্য করতেGET_CHARGING_STATIONBII প্রয়োগ করুন।আপনার অ্যাপ কীভাবে প্রতিটি ইনটেন্ট পূরণ করবে?
আপনার অ্যাপ উপযুক্ত স্ক্রিনে নিজেকে লঞ্চ করে ভয়েস অনুরোধ পূরণ করে। ব্যবহারকারীর অনুরোধ থেকে এক্সট্র্যাক্ট করা প্যারামিটার সহ অ্যাপ অ্যাকশন আপনার ফুলফিলমেন্ট প্রদান করে, যা আপনাকে ব্যবহারকারীর প্রয়োজন অনুযায়ী আপনার উত্তর তৈরি করতে সক্ষম করে।
অ্যাপ অ্যাকশন ইন্টিগ্রেট করা
আপনার ফুলফিলমেন্ট স্ট্র্যাটেজি নির্ধারণ করার পরে, আপনার কার অ্যাপে ভয়েস চালু করতে এইসব ধাপ অনুসরণ করুন:
আপনার প্রধান অ্যাক্টিভিটি
AndroidManifest.xmlখুলুন এবং Android শর্টকাটের জন্য সমর্থন ঘোষণা করুন। আপনার অ্যাপ যেসব BII সাপোর্ট করে, সেগুলি Gemini বা Google Assistant-এর কাছে ঘোষণা করতে আপনিcapabilityশর্টকাট এলিমেন্ট ব্যবহার করেন। আরও তথ্যের জন্য, ক্ষমতা যোগ করুন দেখুন।<!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />এরপর,
AndroidManifest.xml-এ একটি<intent-filter>এলিমেন্ট যোগ করুন। এটি Gemini বা Google Assistant-কে আপনার অ্যাপের কন্টেন্টের সাথে কানেক্ট করার জন্য ডিপ লিঙ্ক ব্যবহার করার অনুমতি দেয়।Android Auto-এর জন্য,
<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ফাইল না থাকলে, নতুন একটি তৈরি করুন। অ্যাপ অ্যাকশন কীভাবে Android শর্টকাট ব্যবহার করে সেই সম্পর্কে তথ্য পেতে, 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()
Kotlin
@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()
Kotlin
@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 ... } }
আপনার অ্যাপ প্রিভিউ, টেস্ট ও প্রকাশ করা
অ্যাপ অ্যাকশন আপনার অ্যাপ প্রিভিউ ও টেস্ট করার জন্য টুল প্রদান করে। এই টুলিং সম্পর্কে তথ্য এবং ভয়েস-চালিত কার অ্যাপ কীভাবে Play Store-এ প্রকাশ করবেন সেই সম্পর্কে বিশদ বিবরণের জন্য অ্যাপ অ্যাকশন ওভারভিউ দেখুন।