Sesli kontrol, sürücülerin ellerini kullanmadan görevleri tamamlamalarına olanak tanır dikkatlerini yoldan ayırmasına neden olabilir. Araba uygulamaları için Uygulama İşlemleri sayesinde sürücüler Google Asistan'ı kullanarak bilgi-eğlence sistemindeki Android uygulamalarını kontrol ederek "Ok Google, ExampleApp'te cadde üzerinde park yeri bul" gibi bir şey söylediğinizde.
Uygulama İşlemleri, önemli yer (ÖY) araba uygulamalarıyla çalışır. Bu kılavuzda ele alınan konular: Uygulama İşlemleri'ni ÖY'nize entegre etmeye yönelik belirli koşullar ve sınırlamalar uygulamasını indirin.
İşleyiş şekli
Uygulama İşlemleri, uygulama içi işlevlerinizi Asistan'a genişleterek kullanıcıların şunları yapmasına olanak tanır:
seslerini kullanarak uygulama özelliklerine erişebilir. Kullanıcı bir Uygulama İşlemini çağırdığında
Asistan, sorguyu uygulamanızın
shortcuts.xml
kaynak ve istenen ekranda uygulamanızı başlatır.
Android capability
öğelerini kullanarak uygulamanızda BBI'leri desteklediğini beyan etmeniz gerekir.
Uygulamanızı Google Play Console'u kullanarak yüklediğinizde Google,
uygulamanızda beyan edilen ve kullanıcıların bunlara erişebilmesini sağlayan özellikler
Google Asistan'dan.
- Kullanıcı Asistan'ı tetikler ve belirli bir uygulama için sesli istekte bulunur.
- Asistan, isteği önceden eğitilmiş bir modelle (BII) eşleştirir ve BII tarafından desteklenen parametreler.
- Bu örnekte Asistan, sorguyu
GET_CHARGING_STATION
ile eşleştirir. BII, "SFO" konum parametresini çıkarır ve konumu coğrafi koordinatlarını öğrenebilirsiniz. - Uygulama, bu BII'deki yerine getirme tanımı aracılığıyla tetiklenir.
- Uygulama, sipariş karşılama işlemini gerçekleştirir ve şurada şarj istasyonu seçeneklerini gösterir: sürücünün bilgi-eğlence sistemi.
Sınırlamalar
Uygulama İşlemleri'nin araba uygulamaları için aşağıdaki sınırlamalar geçerlidir:
Araba Uygulaması İşlemleri, Android derin bağlantıları kullanılarak yerine getirilmelidir. Daha fazla bilgi için daha fazla bilgi edinmek için Yerleşik amaçlar için karşılama ayrıntıları sağlayın.
Araba uygulamaları yalnızca aşağıdaki BII'leri destekler:
- Otopark -
GET_PARKING_FACILITY
- Şarj oluyor -
GET_CHARGING_STATION
- Otopark -
Gereksinimler
Araba uygulamanızı Uygulama İşlemleri'ne hazırlamak için aşağıdaki adımları uygulayın:
- Uygulama İşlemleri ile ilgili genel Android uygulama gereksinimlerini karşılayın.
- Araba Uygulaması Kitaplığı bağımlılığını ekleyin. Ayrıntılar için bkz. Bağımlılıkları bildirme.
Niyetinizi ve hedeflerinizi belirleyin
Uygulama İşlemleri ile bir araba uygulamasını sesli olarak etkinleştirmenin ilk adımı, Uygulamanızın hangi kullanıcı sesli komutlarını veya amaçlarını desteklediğini gösterir. Daha sonra uygulamanızın isteği nasıl karşılayacağını belirtmek için her bir amacın yerine getirilmesini sağlar.
Araba uygulamanız hangi amaçları destekliyor?
Uygulama İşlemleri, yerleşik intentler (BII) adı verilen önceden eğitilmiş ses modelleri sunar. Kullanıcı şunu dediğinde sesli komutlarını anlayabilir ve yorumlayabilir: "Ok Google". Sesli isteklere yanıt vermek için Asistan'a beyan etmeniz yeterlidir uygulamanızın desteklediği BBI'leri gösterir. Örneğin, uygulamanızın bir park yeri bulma konusunda,
GET_PARKING_FACILITY
BBI. Alternatif olarak, kullanıcıların elektrikli elektrik tesisatı bulmasına yardımcı olmak içinGET_CHARGING_STATION
BII'yi uygulayabilirsiniz. araç şarj istasyonları.Uygulamanız her bir amacı nasıl yerine getirmeli?
Uygulamanız, kendisini uygun tıklayın. Uygulama İşlemleri, karşılamanız için Böylece, yanıtınızı kullanıcının ihtiyaçlarına göre özelleştirebilirsiniz.
Uygulama İşlemleri'ni entegre etme
Sipariş karşılama stratejinizi belirledikten sonra, sesli etkinleştirme için aşağıdaki adımları uygulayın araba uygulamanız:
AndroidManifest.xml
ana etkinliğinizi açıp Android için destek beyan edin kısayollar. Asistan'a bildirmek içincapability
kısayol öğelerini kullanıyorsunuz uygulamanızın desteklediği BBI'leri gösterir. Daha fazla bilgi için bkz. Özellikler ekleyin.<!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
Daha sonra,
AndroidManifest.xml
içine bir<intent-filter>
öğesi ekleyin. Bu Asistan'ın, uygulamanızın içeriğine bağlanmak için derin bağlantılar kullanabilmesini sağlar.Android Auto sipariş karşılama için
<intent-filter>
değeri mobil uygulama.Android Automotive OS için uygulamanızın
CarAppService
oturumu tetikleyicileri Asistan Bir oturumun derin bağlantınızı tetiklemesine izin vermek içinAndroidManifest.xml
öğesinin<activity>
öğesinde<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>
Henüz bir
shortcuts.xml
dosyanız yoksa uygulamanızınres/xml
yeni bir dizin oluşturun. Uygulama İşlemleri'nin Android kısayolları için Kısayollar.xml oluşturma bölümüne bakın.shortcuts.xml
içinde, seçtiğiniz BII için bircapability
uygulayın. Sonra, Uygulama istek karşılamayı tanımlamak için iç içe yerleştirilmiş bir<intent>
ekleyin.<!-- 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>
Son olarak, gelen uygulamayı işleyebilmek için araba uygulamanızın
Session()
mantığını güncelleyin İşlemlerin karşılanması. Aşağıdaki örnekler,Session.onCreateScreen()
veSession.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 ... } }
Java
@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 ... } }
Java
@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 ... } }
Uygulamanızı önizleme, test etme ve yayınlama
Uygulama İşlemleri, uygulamanızı önizlemek ve test etmek için araçlar sağlar. Şurayı ziyaret edin: Uygulama İşlemlerine genel bakış, bu araç hakkında bilgi ve sesle etkinleştirilen araç uygulamanızı Play Store'da nasıl yayınlayacağınızı öğrenin.