Azioni app per le auto

Il controllo vocale consente ai conducenti di eseguire attività senza togliere le mani dal volante o distogliere lo sguardo dalla strada. Con le Azioni app per le app per auto, i conducenti possono utilizzare Gemini o l'Assistente Google per controllare le app Android sul sistema di infotainment dicendo, ad esempio, "Hey Google, trova parcheggio in strada su ExampleApp".

Le Azioni app funzionano con le app per auto relative ai punti d'interesse (POI). Questa guida illustra i requisiti e le limitazioni specifici per l'integrazione delle Azioni app nella tua app per POI.

Come funziona

Le Azioni app estendono la funzionalità in-app a Gemini o all'Assistente Google, consentendo agli utenti di accedere alle funzionalità dell'app utilizzando la voce. Quando un utente richiama un'Azione app, Gemini o l'Assistente Google associa la query a un intent integrato (BII) dichiarato nella risorsa shortcuts.xml dell'app e avvia l'app nella schermata richiesta.

Dichiari il supporto per i BII nella tua app utilizzando gli elementi capability di Android. Quando carichi l'app utilizzando Google Play Console, Google registra le funzionalità dichiarate nell'app e le rende disponibili agli utenti per l'accesso da Gemini o dall'Assistente Google.

Grafico che mostra l'evasione dell'auto.

  1. Un utente attiva Gemini o l'Assistente Google ed effettua una richiesta vocale per un'app specifica.
  2. Gemini o l'Assistente Google associa la richiesta a un modello pre-addestrato (BII) ed estrae tutti i parametri supportati dal BII.
  3. In questo esempio, Gemini o l'Assistente Google associa la query al GET_CHARGING_STATION BII, estrae il parametro di località "SFO" e traduce la località nelle relative coordinate geografiche.
  4. L'app viene attivata tramite la definizione di fulfillment per questo BII.
  5. L'app elabora il fulfillment, visualizzando le opzioni delle stazioni di ricarica nel sistema di infotainment del conducente.

Limitazioni

Le implementazioni delle Azioni app per auto presentano le seguenti limitazioni:

Requisiti

Per preparare l'app per auto per le Azioni app:

Determinare l'intent e il completamento

Il primo passo per attivare la voce in un'app per auto con le Azioni app è determinare quali comandi vocali dell'utente, o intent, sono supportati dall'app. Poi definisci un completamento per ogni intent per specificare in che modo l'app deve soddisfare la richiesta.

  • Quali intent sono supportati dall'app per auto?

    Le Azioni app forniscono modelli vocali pre-addestrati, chiamati intent integrati (BII), che possono comprendere e interpretare i comandi vocali di un utente quando dice, "Hey Google". Per rispondere alle richieste vocali, devi semplicemente dichiarare a Gemini o all'Assistente Google i BII supportati dalla tua app. Ad esempio, se vuoi che la tua app ti aiuti a trovare un parcheggio, implementa il GET_PARKING_FACILITY BII. In alternativa, implementa ilGET_CHARGING_STATION BII per aiutare gli utenti a trovare le stazioni di ricarica per auto elettriche.

  • In che modo l'app deve completare ogni intent?

    L'app completa la richiesta vocale avviandosi nella schermata appropriata. Le Azioni app forniscono al completamento i parametri estratti dalla richiesta dell'utente, consentendoti di personalizzare la risposta in base alle esigenze dell'utente.

Integrare le Azioni app

Dopo aver determinato la strategia di completamento, segui questi passaggi per attivare la voce nell'app per auto:

  1. Apri l'attività principale AndroidManifest.xml e dichiara il supporto per le scorciatoie Android. Utilizza gli elementi di scorciatoia capability per dichiarare a Gemini o all'Assistente Google i BII supportati dalla tua app. Per maggiori informazioni, vedi Aggiungere funzionalità.

     <!-- AndroidManifest.xml -->
     <meta-data
         android:name="android.app.shortcuts"
         android:resource="@xml/shortcuts" />
    
  2. Poi aggiungi un <intent-filter> elemento a AndroidManifest.xml. In questo modo, Gemini o l'Assistente Google può utilizzare i link diretti per connettersi ai contenuti dell'app.

    • Per il completamento di Android Auto, il <intent-filter> è lo stesso della tua app mobile.

    • Per Android Automotive OS, la sessione CarAppService dell'app attiva Gemini o l'Assistente Google. Per consentire a una sessione di attivare il link diretto, specifica un <intent-filter> nell'elemento <activity> di 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. Se non hai già un file shortcuts.xml nella directory res/xml dell'app, creane uno nuovo. Per informazioni su come le Azioni app utilizzano le scorciatoie Android, vedi Creare shortcuts.xml.

    In shortcuts.xml, implementa una capability per il BII scelto. Poi, aggiungi un <intent> nidificato per definire il completamento dell'app.

    <!-- 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. Infine, aggiorna la logica Session() dell'app per auto per gestire il completamento delle Azioni app in entrata. Gli esempi seguenti mostrano la gestione degli intent per Session.onCreateScreen() e 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
     ...
    }
    }

Visualizzare l'anteprima, testare e pubblicare l'app

Le Azioni app forniscono strumenti per visualizzare l'anteprima e testare l'app. Visita la panoramica delle Azioni app per informazioni su questi strumenti e per dettagli su come pubblicare l'app per auto con funzionalità vocali sul Play Store.