App-Aktionen für Autos

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.

Diagramm, das die Ausführung eines Autos zeigt.

  1. Ein Nutzer löst Assistant aus und sendet eine Sprachanfrage für eine bestimmte App.
  2. Assistant ordnet die Anfrage einem vortrainierten Modell (BII) zu und extrahiert alle vom BII unterstützten Parameter.
  3. 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.
  4. Die App wird über die Auftragsausführungsdefinition für diesen BII ausgelöst.
  5. 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:

Voraussetzungen

So bereiten Sie Ihre Auto-App für App Actions vor:

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:

  1. Öffne deine Hauptaktivität AndroidManifest.xml und deklariere die Unterstützung für Android Tastenkombinationen. Für die Deklaration für Assistant verwendest du capability 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" />
    
  2. 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> von 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>
    
  3. 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 eine capability 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>
    
  4. 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ür Session.onCreateScreen() und Session.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.