Dank Sprachsteuerung können Autofahrer Aufgaben erledigen, ohne die Hände zu nehmen. das Lenkrad oder den Blick von der Straße abwenden. Mit App Actions für Auto-Apps können Autofahrer Google Assistant nutzen, um Android-Apps auf ihrem Infotainmentsystem zu steuern, Sagen Sie zum Beispiel „Hey Google, such in ExampleApp einen Parkplatz an der Straße“.
App Actions funktioniert mit POI-Apps. In diesem Leitfaden wird Folgendes behandelt: Bestimmte Anforderungen und Einschränkungen für die Integration von App Actions in deinen POI
Funktionsweise
Mit App Actions kannst du deine In-App-Funktionen auf Assistant erweitern, sodass Nutzer
per Sprachbefehl auf App-Funktionen zugreifen. Wenn ein Nutzer eine App Action aufruft,
Assistant ordnet die Anfrage einem integrierten Intent (BII) zu, der im
shortcuts.xml
und startet deine App auf dem angeforderten Bildschirm.
Sie deklarieren die Unterstützung von BIIs in Ihrer App mithilfe von Android-capability
-Elementen.
Wenn Sie Ihre App über die Google Play Console hochladen, registriert Google die
Funktionen, die in Ihrer App deklariert sind, und den Nutzern für den Zugriff
von Assistant.
- Ein Nutzer löst Assistant aus und sendet eine Sprachanfrage für eine bestimmte App.
- Assistant ordnet die Anfrage einem vortrainierten Modell (BII) zu und extrahiert alle vom BII unterstützten Parameter.
- In diesem Beispiel ordnet Assistant die Anfrage dem
GET_CHARGING_STATION
zu BII, extrahiert den Standortparameter „SFO“ und übersetzt den Standort in seine geografischen Koordinaten. - Die App wird über die Auftragsausführungsdefinition für diesen BII ausgelöst.
- Die App verarbeitet die Auftragsausführung und zeigt Ladestationsoptionen in das Infotainmentsystem des Fahrers.
Beschränkungen
Für Fahrzeugimplementierungen von App Actions gelten die folgenden Einschränkungen:
Auto-App-Aktionen müssen über Android-Deeplinks ausgeführt werden. Weitere Informationen zu App Actions-Ausführungen finden Sie unter Details zur Ausführung für integrierte Intents angeben
In Fahrzeugimplementierungen werden nur die folgenden BIIs unterstützt:
- Parkplatz –
GET_PARKING_FACILITY
- Wird geladen –
GET_CHARGING_STATION
- Parkplatz –
Voraussetzungen
So bereiten Sie Ihre Auto-App für App Actions vor:
- Sie müssen die allgemeinen Anforderungen für Android-Apps für App Actions erfüllen.
- Fügen Sie die Abhängigkeit der Car App Library hinzu. Weitere Informationen finden Sie unter Abhängigkeiten angeben:
Intent und Erfüllung bestimmen
Der erste Schritt zur Sprachaktivierung einer Auto-App mit App Actions besteht darin, welche Sprachbefehle oder Intents von Nutzern Ihre App unterstützt. Dann definieren Sie ein Auftragsausführung für jeden Intent, um anzugeben, wie Ihre App die Anfrage erfüllen soll.
Welche Intents unterstützt deine Auto-App?
App Actions bietet vortrainierte Sprachmodelle, sogenannte integrierte Intents (BII). die die Sprachbefehle der Nutzenden verstehen und interpretieren können, „Hey Google“: Wenn du auf Sprachanfragen reagieren möchtest, deklariere einfach Assistant die von Ihrer App unterstützten BIIs. Wenn Sie beispielsweise möchten, dass Ihre App für die Parkplatzsuche implementieren Sie die
GET_PARKING_FACILITY
BII. Alternativ: BIIGET_CHARGING_STATION
implementieren, um Nutzern bei der Suche nach Elektrofahrzeugen zu helfen und Ladestationen für Autos.Wie sollte deine App die jeweilige Absicht erfüllen?
Ihre App führt die Sprachanfrage aus, indem sie sich an den entsprechenden Bildschirm. Über App Actions werden für die Auftragsausführung Parameter verwendet, die aus folgenden Quellen extrahiert wurden: der Nutzeranfrage, sodass Sie Ihre Antwort an die Anforderungen des Nutzers anpassen können.
App Actions einbinden
Nachdem Sie Ihre Auftragsausführungsstrategie festgelegt haben, folgen Sie diesen Schritten, um die Sprachsteuerung zu aktivieren Deine Auto-App:
Öffne deine Hauptaktivität
AndroidManifest.xml
und deklariere die Unterstützung für Android Tastenkombinationen. Für die Deklaration für Assistant verwendest ducapability
Verknüpfungselemente die von Ihrer App unterstützten BIIs. Weitere Informationen finden Sie unter Fügen Sie Funktionen hinzu.<!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
Fügen Sie dann
AndroidManifest.xml
ein<intent-filter>
-Element hinzu. Dieses ermöglicht Assistant, Deeplinks zu den Inhalten deiner App zu verwenden.Bei der Auftragsausführung mit Android Auto ist
<intent-filter>
mit Ihrer mobile App.Bei Android Automotive OS wird die
CarAppService
-Sitzung Ihrer App ausgelöst Assistent. Damit der Deeplink in einer Sitzung ausgelöst wird, müssen Sie einen Wert für<intent-filter>
im Element<activity>
vonAndroidManifest.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>
Wenn du noch keine
shortcuts.xml
-Datei hast:res/xml
deiner App erstellen Sie ein neues. Informationen zur Verwendung von App Actions Android-Verknüpfungen finden Sie unter shortcuts.xml erstellen.Implementiere in
shortcuts.xml
einecapability
für den ausgewählten BII. Als Nächstes Füge einen verschachtelten<intent>
hinzu, um die Auftragsausführung der Anwendung zu definieren.<!-- 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>
Aktualisiere zum Schluss die
Session()
-Logik der Auto-App, um eingehende App-Anfragen zu verarbeiten. Aktionsausführung. In den folgenden Beispielen wird die Intent-Verarbeitung fürSession.onCreateScreen()
undSession.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 ... } }
App als Vorschau ansehen, testen und veröffentlichen
App Actions bietet Tools, mit denen du dir eine Vorschau deiner App ansehen und sie testen kannst. Besuchen Sie die Übersicht zu App Actions. Dort finden Sie weitere Informationen zu diesem Tool und zu den wie Sie Ihre sprachgesteuerte Auto-App im Play Store veröffentlichen.