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 nella sezione 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()
eActivity#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 siaVoiceInteractionService
siaRecognitionService
. - 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 dal 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 soltanto 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 (collegata da un servizio di sistema) e sarà il ricevitore 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 |
---|---|---|
|
|
|
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: indicazioni 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).
- [OBBLIGATORIO] 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.
- [MAGGIO] Visualizza un'attività relativa alle impostazioni in cui gli utenti possono configurare questo VIA (ad esempio, autorizzazioni, configurazione della hotword e accesso).
- [MAY] Gestire i dati di assistenza (
Intent#ACTION_ASSIST
) - [MAGGIO] Supporto per l'interazione vocale da Keyguard (schermata di blocco).
Componenti
In linea generale, un'app di interazione vocale interagisce con questi attori:
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 tramiteVoiceInteractionManagerService
.User
. L'utente interagisce con una VIA mediante trigger (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, i sistemi VIA AAOS possono controllare le funzionalità del veicolo (ad es. 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 Elenco consentito 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.