کنترل صوتی به رانندگان این امکان را میدهد تا بدون برداشتن دستهای خود از روی فرمان یا چشمانشان از جاده، وظایف خود را انجام دهند. با App Actions برای برنامههای خودرو، رانندگان میتوانند از Google Assistant برای کنترل برنامههای Android در سیستم اطلاعات سرگرمی خود با گفتن عبارتهایی مانند «Hey Google, parking street را در ExampleApp پیدا کن» استفاده کنند.
App Actions با برنامههای خودروی نقطهنظر (POI) کار میکند. این راهنما الزامات و محدودیت های خاص را برای ادغام App Actions در برنامه POI شما پوشش می دهد.
چگونه کار می کند
App Actions عملکرد درونبرنامه شما را به Assistant گسترش میدهد و به کاربران امکان میدهد با استفاده از صدای خود به ویژگیهای برنامه دسترسی داشته باشند. وقتی کاربر یک Action APP را فراخوانی میکند، «دستیار» درخواست را با یک هدف داخلی ( BII ) که در منبع shortcuts.xml
برنامه شما اعلام شده است مطابقت میدهد و برنامه شما را در صفحه درخواستی راهاندازی میکند.
شما با استفاده از عناصر capability
Android از BII ها در برنامه خود پشتیبانی می کنید. هنگامی که برنامه خود را با استفاده از کنسول Google Play آپلود می کنید، Google قابلیت های اعلام شده در برنامه شما را ثبت می کند و آنها را در دسترس کاربران قرار می دهد تا از دستیار به آن دسترسی داشته باشند.
- کاربر دستیار را فعال می کند و برای یک برنامه خاص درخواست صوتی می کند.
- Assistant درخواست را با یک مدل از پیش آموزش دیده (BII) مطابقت می دهد و هر پارامتری را که توسط BII پشتیبانی می شود استخراج می کند.
- در این مثال، Assistant پرس و جو را با
GET_CHARGING_STATION
BII مطابقت می دهد، پارامتر مکان "SFO" را استخراج می کند و مکان را به مختصات جغرافیایی آن ترجمه می کند. - برنامه از طریق تعریف تکمیل آن برای این BII فعال می شود.
- این برنامه تکمیل را پردازش می کند و گزینه های ایستگاه شارژ را در سیستم اطلاعات سرگرمی راننده نمایش می دهد.
محدودیت ها
پیادهسازی اپ اکشنهای خودرو دارای محدودیتهای زیر است:
اقدامات برنامه ماشین باید با استفاده از پیوندهای عمیق Android انجام شود. برای کسب اطلاعات در مورد انجام عملیات برنامه، به ارائه جزئیات تکمیل برای اهداف داخلی مراجعه کنید.
پیاده سازی خودرو فقط از BII های زیر پشتیبانی می کند:
- پارکینگ -
GET_PARKING_FACILITY
- شارژ -
GET_CHARGING_STATION
- پارکینگ -
الزامات
مراحل زیر را برای آماده کردن برنامه ماشین خود برای App Actions انجام دهید:
- الزامات کلی برنامه Android را برای App Actions برآورده کنید.
- وابستگی کتابخانه برنامه خودرو را نیز لحاظ کنید. برای جزئیات، به اعلام وابستگی ها مراجعه کنید.
نیت و تحقق خود را مشخص کنید
اولین گام برای فعالسازی صوتی یک برنامه ماشین با App Actions این است که تعیین کنید برنامه شما از کدام دستورات صوتی یا اهداف صوتی کاربر پشتیبانی میکند. سپس برای هر هدف یک تحقق تعریف می کنید تا مشخص کنید برنامه شما چگونه باید درخواست را برآورده کند.
برنامه ماشین شما از کدام هدف پشتیبانی می کند؟
App Actions مدلهای صوتی از پیش آموزشدیدهشدهای به نام Intent-in Intent (BII) ارائه میکند که میتواند فرمانهای صوتی کاربر را با گفتن «Hey Google» درک و تفسیر کند. برای پاسخ به درخواستهای صوتی، شما به سادگی BIIهایی را که برنامه شما پشتیبانی میکند به دستیار اعلام کنید. برای مثال، اگر میخواهید برنامهتان به پیدا کردن یک پارکینگ کمک کند،
GET_PARKING_FACILITY
BII را اجرا میکنید. یا،GET_CHARGING_STATION
BII را برای کمک به کاربران در یافتن ایستگاههای شارژ خودروهای الکتریکی پیادهسازی کنید.چگونه برنامه شما باید هر هدف را برآورده کند؟
برنامه شما با راهاندازی خود در صفحه مناسب، درخواست صوتی را برآورده میکند. App Actions برآورده شدن شما را با پارامترهای استخراج شده از درخواست کاربر فراهم می کند و به شما امکان می دهد پاسخ خود را مطابق با نیازهای کاربر تنظیم کنید.
ادغام اقدامات برنامه
پس از تعیین استراتژی اجرای خود، این مراحل را دنبال کنید تا برنامه ماشین خود را به صورت صوتی فعال کنید:
فعالیت اصلی خود را
AndroidManifest.xml
باز کنید و از میانبرهای Android پشتیبانی کنید. شما از عناصر میانبرcapability
برای اعلام BII هایی که برنامه شما پشتیبانی می کند به دستیار استفاده می کنید. برای اطلاعات بیشتر، به افزودن قابلیت ها مراجعه کنید.<!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
سپس، یک عنصر
<intent-filter>
را بهAndroidManifest.xml
اضافه کنید. این به دستیار امکان میدهد از پیوندهای عمیق برای اتصال به محتوای برنامه شما استفاده کند.برای اجرای Android Auto،
<intent-filter>
همانند برنامه تلفن همراه شما است.برای سیستم عامل Android Automotive، جلسه
CarAppService
برنامه شما دستیار را فعال میکند. برای اینکه به یک جلسه اجازه دهید پیوند عمیق شما را راه اندازی کند، یک<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 از میانبرهای Android، به ایجاد 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 و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2024-08-23 بهوقت ساعت هماهنگ جهانی.
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"اطلاعاتی که نیاز دارم وجود ندارد" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"بیشازحد پیچیده/ مراحل بسیار زیاد" },{ "type": "thumb-down", "id": "outOfDate", "label":"قدیمی" },{ "type": "thumb-down", "id": "translationIssue", "label":"مشکل ترجمه" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"مشکل کد / نمونهها" },{ "type": "thumb-down", "id": "otherDown", "label":"غیره" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"درک آسان" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"مشکلم را برطرف کرد" },{ "type": "thumb-up", "id": "otherUp", "label":"غیره" }] { "last_modified": "تاریخ آخرین بهروزرسانی 2024-08-23 بهوقت ساعت هماهنگ جهانی.", "state": "" }