Mit der Sprachsteuerung können Fahrer Aufgaben erledigen, ohne die Hände vom Lenkrad oder den Blick von der Straße zu nehmen. Mit App Actions für Auto-Apps können Fahrer Gemini oder Google Assistant verwenden, um Android-Apps auf ihrem Infotainmentsystem zu steuern. Sie können beispielsweise „Hey Google, suche in BeispielApp nach Parkplätzen an der Straße“ sagen.
App Actions funktioniert mit POI-Apps für Autos. In dieser Anleitung werden die spezifischen Anforderungen und Einschränkungen für die Integration von App Actions in Ihre POI-App behandelt.
Funktionsweise
Mit App Actions können Sie die In-App-Funktionen auf Gemini oder Google Assistant ausweiten, sodass Nutzer per Sprachbefehl auf App-Funktionen zugreifen können. Wenn ein Nutzer eine App Action aufruft, ordnen Gemini oder Google Assistant die Anfrage einem integrierten Intent (Built-in Intent, BII) zu, der in der shortcuts.xml-Ressource Ihrer App deklariert ist, und starten Ihre App auf dem angeforderten Bildschirm.
Sie deklarieren die Unterstützung für BIIs in Ihrer App mit Android-Elementen vom Typ capability.
Wenn Sie Ihre App über die Google Play Console hochladen, registriert Google die in Ihrer App deklarierten Funktionen und stellt sie Nutzern für den Zugriff über Gemini oder Google Assistant zur Verfügung.
- Ein Nutzer löst Gemini oder Google Assistant aus und gibt einen Sprachbefehl für eine bestimmte App.
- Gemini oder Google Assistant ordnet die Anfrage einem vortrainierten Modell (BII) zu und extrahiert alle vom BII unterstützten Parameter.
- In diesem Beispiel ordnen Gemini oder Google Assistant die Anfrage der
GET_CHARGING_STATION-BII zu, extrahieren den Standortparameter „SFO“ und übersetzen den Standort in seine geografischen Koordinaten. - Die App wird über die Fulfillment-Definition für diesen BII ausgelöst.
- Die App verarbeitet die Auftragserfüllung und zeigt dem Fahrer im Infotainmentsystem Optionen für Ladestationen an.
Beschränkungen
Für die Implementierung von App Actions für Autos gelten die folgenden Einschränkungen:
Car App Actions müssen über Android-Deeplinks ausgeführt werden. Informationen zur Ausführung von App Actions finden Sie unter Details zur Ausführung für integrierte Intents angeben.
Bei Autoimplementierungen werden nur die folgenden BIIs unterstützt:
- Parken –
GET_PARKING_FACILITY - Wird geladen –
GET_CHARGING_STATION
- Parken –
Voraussetzungen
So bereiten Sie Ihre Auto-App für App Actions vor:
- Erfüllen Sie die allgemeinen Anforderungen an Android-Apps für App Actions.
- Fügen Sie die Abhängigkeit der Car App Library hinzu. Weitere Informationen finden Sie unter Abhängigkeiten deklarieren.
Absicht und Erfüllung bestimmen
Der erste Schritt, um eine Auto-App mit App Actions sprachgesteuert zu machen, besteht darin, festzulegen, welche Sprachbefehle oder Intents Ihre App unterstützt. Anschließend definieren Sie für jede Intention eine Ausführung, um anzugeben, wie Ihre App die Anfrage erfüllen soll.
Welche Intents werden von Ihrer Auto-App unterstützt?
App Actions bietet vortrainierte Sprachmodelle, sogenannte integrierte Intents (Built-in Intents, BIIs), die Sprachbefehle von Nutzern verstehen und interpretieren können, wenn sie Hey Google sagen. Um auf Sprachanfragen zu reagieren, müssen Sie Gemini oder Google Assistant einfach die BIIs deklarieren, die Ihre App unterstützt. Wenn Ihre App beispielsweise bei der Suche nach einem Parkplatz helfen soll, implementieren Sie den BII
GET_PARKING_FACILITY. Oder implementieren SieGET_CHARGING_STATIONBII, damit Nutzer Ladestationen für Elektroautos finden können.Wie sollte Ihre App die einzelnen Intents erfüllen?
Ihre App erfüllt die Sprachanfrage, indem sie sich selbst auf dem entsprechenden Bildschirm startet. App Actions stellt Ihrer Auftragsausführung Parameter zur Verfügung, die aus der Nutzeranfrage extrahiert wurden. So können Sie Ihre Antwort an die Bedürfnisse des Nutzers anpassen.
App Actions einbinden
Nachdem Sie Ihre Fulfillment-Strategie festgelegt haben, gehen Sie so vor, um Ihre Auto-App für die Sprachsteuerung zu aktivieren:
Öffnen Sie Ihre Hauptaktivität
AndroidManifest.xmlund deklarieren Sie die Unterstützung für Android-Verknüpfungen. Mitcapability-Kürzelelementen deklarieren Sie gegenüber Gemini oder Google Assistant die BIIs, die Ihre App unterstützt. Weitere Informationen finden Sie unter Funktionen hinzufügen.<!-- AndroidManifest.xml --> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />Fügen Sie als Nächstes ein
<intent-filter>-Element zuAndroidManifest.xmlhinzu. So können Gemini oder Google Assistant Deeplinks verwenden, um eine Verbindung zum Inhalt Ihrer App herzustellen.Bei der Android Auto-Ausführung ist die
<intent-filter>dieselbe wie Ihre mobile App.Bei Android Automotive OS werden Gemini oder Google Assistant durch die
CarAppService-Sitzungstrigger Ihrer App ausgelöst. Damit eine Sitzung Ihren Deeplink auslösen kann, geben Sie ein<intent-filter>im Element<activity>vonAndroidManifest.xmlan.
<!-- 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 Sie noch keine
shortcuts.xml-Datei imres/xml-Verzeichnis Ihrer App haben, erstellen Sie eine neue. Informationen dazu, wie App Actions Android-Verknüpfungen verwenden, finden Sie unter shortcuts.xml erstellen.Implementiere in
shortcuts.xmleincapabilityfür den ausgewählten BII. Fügen Sie als Nächstes ein verschachteltes<intent>hinzu, um die App-Ausführung 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>Aktualisieren Sie schließlich die
Session()-Logik Ihrer Auto-App, um die eingehende App Actions-Ausführung zu verarbeiten. In den folgenden Beispielen wird die Intent-Verarbeitung fürSession.onCreateScreen()undSession.onNewIntent()veranschaulicht.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 in der Vorschau ansehen, testen und veröffentlichen
App Actions bietet Tools zum Anzeigen der Vorschau und zum Testen Ihrer App. Weitere Informationen zu diesen Tools und dazu, wie Sie Ihre sprachgesteuerte Auto-App im Google Play Store veröffentlichen, finden Sie in der Übersicht zu App Actions.