Informazioni sull'interazione vocale

L'API Voice Interaction Service fornisce un'astrazione su diverse potenziali app di controllo vocale. Le implementazioni possono essere sviluppate seguendo le linee guida descritte in Sviluppo di app. I contenuti di questa guida all'integrazione descrivono come integrare queste app in un'immagine di sistema Android Automotive OS (AAOS) specifica.

Terminologia

I seguenti termini vengono utilizzati in questa guida:

  • Dati di assistenza. Quando viene avviata una sessione di interazione vocale, il sistema è in grado di acquisire visualizzazioni e screenshot e di trasmettere queste informazioni alla sessione. Le app possono mostrare informazioni aggiuntive implementando Activity#onProvideAssistData() e Activity#onProvideAssistContent().
  • Push-to-talk (PTT). Pulsante di controllo vocale fisico, solitamente situato sul volante.
  • RecognitionService (RS). Servizio di riconoscimento vocale utilizzato dalle app tramite l'API SpeechRecognizer . I VIA devono includere sia VoiceInteractionService che RecognitionService.
  • Tocca per parlare (TTT). Pulsante di controllo vocale software, solitamente incluso nell'interfaccia utente di sistema. In Android è noto anche come Gesto di assistenza.
  • VoiceInteractionService. Servizio di sistema leggero implementato dallo sviluppatore VIA. Il servizio selezionato è associato al servizio di sistema all'avvio ed è sempre in esecuzione.
  • VoiceInteractionSession (VIS). Questa classe incapsula la logica di business dell'interazione utente. È responsabile della presentazione all'utente dello stato dell'interazione vocale, della gestione delle richieste di VoiceInteractor e della ricezione dei dati di assistenza e screenshot.
  • VoiceInteractionSessionService (VSS). Un servizio, parte di un VIA, responsabile della gestione di una sessione di interazione vocale. Questo servizio è associato al servizio di sistema di Android durante un'interazione vocale con un utente. Tutta la logica di business di questa sessione è implementata nella classe VoiceSession. La disponibilità di questo servizio è garantita solo durante una sessione vocale di un singolo utente.
  • App di interazione vocale (VIA). App per Android progettata per fungere da controllo vocale (indicata come assistente). Queste app possono essere identificate includendo un VoiceInteractionService nel file manifest. Nel sistema è possibile selezionare come predefinita una sola di queste app alla volta. Solo l'app predefinita verrà mantenuta attiva (associata a un servizio di sistema) e sarà il destinatario degli eventi Push-to-Talk (PTT) o Tap-to-Talk (TTT).

Responsabilità

Questa tabella descrive le responsabilità di ciascuna parte.

Costruttori di auto (OEM) AOSP Sviluppatori di app
  • Crea un sistema di infotainment compatibile con AAOS.
  • Implementa l'input e l'output audio, eventualmente incluso il supporto del rilevamento della hotword DSP.
  • Concedi autorizzazioni con privilegi di sistema per i servizi di interazione vocale.
  • Rispetta i requisiti di VoiceInteractionService relativi all'accesso alle schermate delle impostazioni dell'app.
  • Definisci ed evolvi VoiceInteractionService e le API correlate.
  • Fornire documentazione dell'API, codice di esempio e altro materiale di supporto agli sviluppatori VIA.
  • Fornire indicazioni sull'esperienza utente con requisiti e consigli.
  • Implementa l'API VoiceInteractionService, l'API RecognitionService e l'API NotificationListenerService (vedi la descrizione dettagliata in Sviluppo di app).
  • Fornire un'interfaccia utente personalizzabile che può essere regolata dagli OEM in base a ogni sistema di design dell'auto.

Requisiti UX

Gli OEM hanno la responsabilità ultima di fornire ai clienti un'esperienza utente positiva. Gli OEM devono assicurarsi che tutti i servizi di interazione vocale preinstallati soddisfino i requisiti descritti in Assistenti preinstallati: linee guida per l'esperienza utente.

Esperienza di base con l'assistente

Un'applicazione di interazione vocale (VIA) per auto e motori esegue le seguenti azioni:

  • [OBBLIGATORI] Rispondere agli attivatori di interazione vocale gestiti dal sistema (PTT, TTT).
  • [OBBLIGATORI] Mostrare una rappresentazione visiva dei progressi (ad esempio ascolto, lavorazione e adempimento).
  • [OBBLIGATORIO] Utilizza la voce o dei suoni per indicare la comprensione e il completamento delle richieste degli utenti.
  • [OBBLIGATORIO] Deve fungere da riconoscitore vocale per altre app (consulta l'API SpeechRecognizer).
  • [DEVE] Rispondere a un trigger hotword.
  • [MAY] Mostrare un'attività di impostazioni in cui gli utenti possono configurare questa VIA (ad esempio, autorizzazioni, configurazione della hotword e accesso).
  • [MAY] Gestire i dati di assistenza (Intent#ACTION_ASSIST)
  • [MAGGIO] Supporto dell'interazione vocale dalla schermata di blocco (schermo di blocco).

Componenti

In linea generale, un'app di interazione vocale interagisce con questi attori:

Attori di interazione vocale

Figura 1. Attori di interazione vocale

Dettagli:

  • VoiceInteractionManagerService. Questo servizio di sistema è responsabile della gestione del VIA predefinito e dell'esposizione della relativa funzionalità al resto del sistema.
  • RecognitionService. Questo servizio mette a disposizione le funzionalità di riconoscimento vocale per altre app del sistema.
  • SoundTrigger. Implementa la gestione della hotword ed è disponibile per le interfacce vocali tramite AlwaysOnHotwordDetector.
  • MediaRecorder. Fornisce l'accesso all'input audio sia per il rilevamento della hotword (quando si utilizza la CPU) sia per il riconoscimento vocale.
  • PhoneWindowManager/CarInputService. Questi servizi sono responsabili (tra le altre cose) della gestione di eventi chiave, dell'instradamento del PTT alla VIA tramite VoiceInteractionManagerService.
  • User. L'utente interagisce con una VIA tramite gli attivatori (PTT, TTT, Hotword) o l'interfaccia utente della piastra vocale.
  • CarService, Notifiche, Media, Telefonia, ContactsProvider e così via. Servizi e app utilizzati da VoiceInteractionSession per eseguire i comandi dell'utente.

Concetti specifici per i veicoli

AAOS si discosta da Android nei seguenti aspetti:

  • Oltre alle normali funzionalità dell'assistente, le interfacce vocali di AAOS possono controllare le funzioni del veicolo (ad esempio, climatizzazione, sedili e luci interne). Queste funzionalità possono essere integrate utilizzando l'API CarPropertyManager (scopri di più nella sezione Leggere una proprietà del veicolo) a condizione che gli OEM configurino l'accesso correttamente come descritto nella sezione Lista consentita di autorizzazioni privilegiate.
  • La personalizzazione e la coerenza sono più importanti nel settore auto e motori rispetto a qualsiasi altro fattore di forma. Per scoprire di più sull'implementazione di queste linee guida, consulta la sezione Personalizzazione.