Azioni app per le auto

Il controllo vocale consente ai conducenti di svolgere le attività senza togliere le mani dal volante o che lo facciano fuori dalla strada. Con Azioni app per le app per auto, i conducenti possono usare l'Assistente Google per controllare le app Android sul proprio sistema di infotainment tramite dicendo frasi del tipo "Hey Google, trova parcheggio in strada su ExampleApp".

Le Azioni app sono compatibili con le app per auto di punti d'interesse (PDI). Questa guida tratta le limitazioni e requisiti specifici per l'integrazione delle Azioni app nel PDI dell'app.

Come funziona

Le Azioni app estendono la funzionalità in-app all'assistente, consentendo agli utenti di accedere alle funzionalità delle app tramite comandi vocali. Quando un utente richiama un'Azione app, L'assistente associa la query a un intent integrato (BII) dichiarato nella shortcuts.xml e avvia l'app nella schermata richiesta.

Dichiari il supporto degli intent integrati nella tua app utilizzando gli elementi capability di Android. Quando carichi l'app utilizzando Google Play Console, Google registra il dichiarate nella tua app e le rende disponibili per l'accesso da parte degli utenti dall'assistente.

Grafico che mostra la distribuzione auto.

  1. Un utente attiva l'assistente ed effettua una richiesta vocale per un'app specifica.
  2. L'assistente abbina la richiesta a un modello preaddestrato (BII) ed estrae a qualsiasi parametro supportato dall'intent integrato.
  3. In questo esempio, l'assistente associa la query a GET_CHARGING_STATION L'intent integrato estrae il parametro di località "SFO" e traduce la posizione in le sue coordinate geografiche.
  4. L'app viene attivata tramite la sua definizione di completamento per questo intent integrato.
  5. L'app elabora l'evasione degli ordini, mostrando le opzioni delle stazioni di ricarica in il sistema di infotainment del conducente.

Limitazioni

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

Requisiti

Per preparare l'app dell'auto per le Azioni app, segui questi passaggi:

  • Devi soddisfare i requisiti generali dell'app per Android per Azioni app.
  • Includi la dipendenza dalla libreria di app dell'auto. Per maggiori dettagli, vedi Dichiarare le dipendenze.

Determina l'intenzione e la realizzazione

Il primo passaggio per attivare la voce di un'app per auto con Azioni app è stabilire I comandi vocali, o intent dell'utente, supportati dalla tua app. Quindi definisci un per ogni intent per specificare in che modo la tua app deve soddisfare la richiesta.

  • Quali intent supporta la tua app per auto?

    Le Azioni app forniscono modelli vocali preaddestrati, chiamati intent integrati (BII), che è in grado di comprendere e interpretare i comandi vocali di un utente quando dice: "Hey Google". Per rispondere alle richieste vocali, dichiari semplicemente all'assistente gli intent integrati supportati dalla tua app. Ad esempio, se vuoi che la tua app ti aiuti per trovare un parcheggio, devi implementare GET_PARKING_FACILITY intent integrato. In alternativa, implementa l'intent integrato GET_CHARGING_STATION per aiutare gli utenti a trovare impianti elettrici stazioni di ricarica per auto.

  • In che modo la tua app deve soddisfare ogni intento?

    L'app soddisfa la richiesta vocale avviandosi nell'app schermo. Le Azioni app forniscono il fulfillment con i parametri estratti da la richiesta dell'utente, consentendoti di personalizzare la risposta in base alle sue esigenze.

Integrare le Azioni app

Dopo aver definito la tua strategia di evasione degli ordini, segui questi passaggi per l'attivazione vocale l'app della tua auto:

  1. Apri la tua attività principale AndroidManifest.xml e dichiara il supporto per Android scorciatoie. Utilizzi elementi delle scorciatoie di capability per dichiarare all'assistente gli intent integrati supportati dalla tua app. Per ulteriori informazioni, vedi Aggiungi funzionalità.

     <!-- AndroidManifest.xml -->
     <meta-data
         android:name="android.app.shortcuts"
         android:resource="@xml/shortcuts" />
    
  2. Poi, aggiungi un elemento <intent-filter> a AndroidManifest.xml. Questo Consente all'assistente di usare i link diretti per connettersi ai contenuti della tua app.

    • Per la distribuzione Android Auto, il campo <intent-filter> è uguale al app mobile.

    • Per Android Automotive OS, gli attivatori di sessione CarAppService della tua app Assistente Google. Per consentire a una sessione di attivare il tuo 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 ancora un file shortcuts.xml, i res/xml della tua app esistente, creane una nuova. Per informazioni su come Azioni app utilizza Scorciatoie per Android, vedi Creare scorciatoie.xml.

    In shortcuts.xml, implementa capability per l'intent integrato scelto. Poi, aggiungi un elemento <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 dell'auto per gestire l'app in entrata Completamento azioni. I seguenti esempi dimostrano la gestione dell'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

Azioni app fornisce strumenti per visualizzare in anteprima e testare la tua app. Visita il Panoramica delle Azioni app per informazioni su questi strumenti e per i dettagli su come pubblicare la tua app per auto con riconoscimento vocale sul Play Store.