کنترل صوتی به رانندگان این امکان را میدهد که بدون برداشتن دست از روی فرمان یا چشم از جاده، وظایف خود را انجام دهند. با استفاده از App Actions برای برنامههای خودرو، رانندگان میتوانند با گفتن جملاتی مانند «هی گوگل، جای پارک کنار خیابان را در ExampleApp پیدا کن» از Gemini یا دستیار گوگل برای کنترل برنامههای اندروید روی سیستم اطلاعات و سرگرمی خود استفاده کنند.
App Actions با اپلیکیشنهای خودرو که به نقاط مورد علاقه (POI) شما متصل میشوند، کار میکند. این راهنما الزامات و محدودیتهای خاص برای ادغام App Actions در اپلیکیشن POI شما را پوشش میدهد.
چگونه کار میکند؟
App Actions قابلیتهای درونبرنامهای شما را به Gemini یا دستیار گوگل گسترش میدهد و به کاربران این امکان را میدهد که با استفاده از صدای خود به ویژگیهای برنامه دسترسی پیدا کنند. وقتی کاربری یک App Action را فراخوانی میکند، Gemini یا دستیار گوگل، عبارت جستجو شده را با یک intent داخلی ( BII ) که در منبع shortcuts.xml برنامه شما اعلام شده است، مطابقت میدهد و برنامه شما را در صفحه درخواست شده اجرا میکند.
شما با استفاده از عناصر capability اندروید، پشتیبانی از BIIها را در برنامه خود اعلام میکنید. وقتی برنامه خود را با استفاده از کنسول Google Play آپلود میکنید، Google قابلیتهای اعلام شده در برنامه شما را ثبت میکند و آنها را برای دسترسی کاربران از طریق Gemini یا Google Assistant در دسترس قرار میدهد.

- کاربر Gemini یا دستیار گوگل را فعال میکند و درخواست صوتی برای یک برنامه خاص ارسال میکند.
- جمینی یا دستیار گوگل درخواست را با یک مدل از پیش آموزشدیده (BII) مطابقت میدهد و هر پارامتری را که توسط BII پشتیبانی میشود، استخراج میکند.
- در این مثال، جمینی یا دستیار گوگل عبارت جستجو را با
GET_CHARGING_STATIONBII مطابقت میدهد، پارامتر مکان «SFO» را استخراج میکند و مکان را به مختصات جغرافیایی آن ترجمه میکند. - این برنامه از طریق تعریف تحقق آن برای این BII فعال میشود.
- این اپلیکیشن، سفارش را پردازش میکند و گزینههای ایستگاه شارژ را در سیستم اطلاعات سرگرمی راننده نمایش میدهد.
محدودیتها
پیادهسازیهای App Actions در خودرو محدودیتهای زیر را به همراه دارد:
اقدامات برنامه خودرو باید با استفاده از پیوندهای عمیق اندروید انجام شوند. برای اطلاعات در مورد انجام اقدامات برنامه، به ارائه جزئیات انجام برای اهداف داخلی مراجعه کنید.
پیادهسازیهای خودرو فقط از BII های زیر پشتیبانی میکنند:
- پارکینگ -
GET_PARKING_FACILITY - شارژ -
GET_CHARGING_STATION
- پارکینگ -
الزامات
مراحل زیر را برای آمادهسازی برنامه خودرو خود برای App Actions انجام دهید:
- الزامات عمومی برنامه اندروید برای App Actions را برآورده کنید.
- وابستگی کتابخانه برنامه خودرو (Car App Library) را اضافه کنید. برای جزئیات بیشتر، به بخش «اعلان وابستگیها» مراجعه کنید.
نیت و تحقق خواستههایتان را مشخص کنید
اولین قدم برای فعال کردن صدای یک برنامه خودرو با App Actions، تعیین این است که برنامه شما از کدام دستورات صوتی کاربر یا intentها پشتیبانی میکند. سپس برای هر intent یک تکمیل تعریف میکنید تا مشخص شود که برنامه شما چگونه باید درخواست را برآورده کند.
اپلیکیشن ماشین شما از چه اهدافی پشتیبانی میکند؟
App Actions مدلهای صوتی از پیش آموزشدیدهای به نام Intentهای داخلی (BII) ارائه میدهد که میتوانند دستورات صوتی کاربر را هنگام گفتن «Hey Google» درک و تفسیر کنند. برای پاسخ به درخواستهای صوتی، کافیست BIIهایی را که برنامه شما پشتیبانی میکند به Gemini یا Google Assistant اعلام کنید. به عنوان مثال، اگر میخواهید برنامه شما در یافتن پارکینگ کمک کند،
GET_PARKING_FACILITYBII را پیادهسازی میکنید. یاGET_CHARGING_STATIONBII را برای کمک به کاربران در یافتن ایستگاههای شارژ خودروهای برقی پیادهسازی کنید.اپلیکیشن شما چگونه باید هر هدف را برآورده کند؟
اپلیکیشن شما با اجرای خود در صفحه مناسب، درخواست صوتی را انجام میدهد. App Actions با پارامترهای استخراج شده از درخواست کاربر، درخواست شما را برآورده میکند و به شما این امکان را میدهد که پاسخ خود را متناسب با نیازهای کاربر تنظیم کنید.
ادغام اقدامات برنامه
پس از تعیین استراتژی تکمیل سفارش خود، برای فعال کردن صوتی برنامه خودرو، این مراحل را دنبال کنید:
AndroidManifest.xmlبه activity اصلی خود را باز کنید و پشتیبانی از میانبرهای اندروید را اعلام کنید. شما از عناصر میانبرcapabilityبرای اعلام BII هایی که برنامه شما پشتیبانی میکند به Gemini یا دستیار گوگل استفاده میکنید. برای اطلاعات بیشتر، به افزودن قابلیتها مراجعه کنید.<!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />در مرحله بعد، یک عنصر
<intent-filter>بهAndroidManifest.xmlاضافه کنید. این کار Gemini یا دستیار گوگل را قادر میسازد تا از لینکهای عمیق برای اتصال به محتوای برنامه شما استفاده کنند.برای انجام خودکار درخواست در اندروید،
<intent-filter>همان برنامه تلفن همراه شما است.برای سیستم عامل اندروید اتوموبیل، جلسه
CarAppServiceبرنامه شما، Gemini یا دستیار گوگل را فعال میکند. برای اینکه به یک جلسه اجازه دهید پیوند عمیق شما را فعال کند، یک<intent-filter>در عنصر<activity>ازAndroidManifest.xmlمشخص کنید.
<!-- 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>اگر از قبل فایل
shortcuts.xmlدر دایرکتوریres/xmlبرنامه خود ندارید، یک فایل جدید ایجاد کنید. برای اطلاعات بیشتر در مورد نحوه استفاده App Actions از میانبرهای اندروید، به بخش Create shortcuts.xml مراجعه کنید.در
shortcuts.xml، یکcapabilityبرای BII انتخابی خود پیادهسازی کنید. سپس، یک<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()برنامه ماشین خود را بهروزرسانی کنید تا اجرای App Actions ورودی را مدیریت کند. نمونههای زیر، مدیریت intent را برای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 ... } }
پیشنمایش، آزمایش و انتشار برنامه شما
App Actions ابزارهایی برای پیشنمایش و آزمایش برنامه شما ارائه میدهد. برای کسب اطلاعات در مورد این ابزار و جزئیات نحوه انتشار برنامه خودرو با قابلیت فرمان صوتی خود در فروشگاه Play، به نمای کلی App Actions مراجعه کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2026-07-17 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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 بهوقت ساعت هماهنگ جهانی."],[],[]]