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 . Il contenuto di questa guida all'integrazione descrive come integrare queste app in un'immagine di sistema specifica del sistema operativo Android Automotive (AAOS).
Terminologia
Questi termini vengono utilizzati in questa guida:
- Assistere i dati. Quando viene avviata una sessione di interazione vocale, il sistema è in grado di acquisire visualizzazioni e schermate e trasmettere queste informazioni alla sessione. Le app possono esporre informazioni aggiuntive implementando
Activity#onProvideAssistData()
eActivity#onProvideAssistContent()
. - Push-to-talk (PTT) . Pulsante fisico del controllo vocale, solitamente situato nel volante.
- Servizio di Riconoscimento (RS). Servizio di riconoscimento vocale utilizzato dalle app tramite l'API
SpeechRecognizer
. I VIA devono includere siaVoiceInteractionService
cheRecognitionService
. - Tocca per parlare (TTT) . Pulsante di controllo vocale del software, solitamente incluso come parte dell'interfaccia utente del sistema). In Android questo viene chiamato anche Gesto assistito .
-
VoiceInteractionService
. Servizio di sistema leggero implementato dallo sviluppatore VIA. Il servizio selezionato è associato al servizio di sistema all'avvio ed è sempre in esecuzione. - Sessione di interazione vocale (VIS). Questa classe incapsula la logica aziendale dell'interazione dell'utente. È responsabile della presentazione all'utente dello stato dell'interazione vocale, della gestione delle richieste di VoiceInteractor e della ricezione di dati di assistenza e screenshot.
- VoiceInteractionSessionService (VSS). Un servizio, parte di un VIA, responsabile della gestione di una sessione di interazione vocale. Questo servizio è vincolato al servizio di sistema di Android durante un'interazione vocale con un utente. Tutta la logica aziendale di questa sessione è implementata nella classe
VoiceSession
. È garantito che questo servizio rimanga attivo solo durante una sessione vocale per singolo utente. - App di interazione vocale (VIA). App Android progettata per fungere da controllo vocale (denominato assistente ). Queste app possono essere identificate includendo un
VoiceInteractionService
nel loro manifest. È possibile selezionare come predefinita solo una di queste app alla volta nel sistema. Solo l'app predefinita verrà mantenuta attiva (legata 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.
Produttori di automobili (OEM) | AOSP | Sviluppatori di app |
---|---|---|
|
|
|
Requisiti UX
Gli OEM hanno la responsabilità ultima di fornire una buona esperienza utente ai clienti. Gli OEM devono garantire che tutti i servizi di interazione vocale preinstallati soddisfino i requisiti descritti in Assistenti precaricati: linee guida UX .
Esperienza fondamentale dell'assistente
Un'applicazione di interazione vocale automobilistica (VIA) esegue le seguenti azioni:
- [OBBLIGATORIO] Rispondere ai trigger di interazione vocale gestiti dal sistema (PTT, TTT).
- [DEVE] Visualizzare una rappresentazione visiva dei loro progressi (ad esempio, ascolto, elaborazione e realizzazione).
- [OBBLIGATORIO] Utilizzare la voce o i suoni per indicare la comprensione e il completamento delle richieste dell'utente.
- [DEVE] Fungere da riconoscimento vocale per altre app (vedi SpeechRecognizer API ).
- [DOVREBBE] Rispondere a un trigger di hotword.
- [MAGGIO] Visualizza un'attività di impostazione in cui gli utenti possono configurare questo VIA (ad esempio, autorizzazioni, configurazione hotword e accesso).
- [MAGGIO] Gestire i dati di assistenza (
Intent#ACTION_ASSIST
) - [MAGGIO] Supporta l'interazione vocale da Keyguard (schermata di blocco).
Componenti
Ad alto livello, un'app di interazione vocale interagisce con questi attori:
Figura 1. Attori dell'interazione vocale
Dettagli:
-
VoiceInteractionManagerService
. Questo servizio di sistema è responsabile della gestione del VIA predefinito e dell'esposizione delle sue funzionalità al resto del sistema. -
RecognitionService
. Questo servizio espone le funzionalità di riconoscimento vocale ad altre app nel sistema. -
SoundTrigger
. Implementa la gestione delle hotword ed è disponibile per i VIA tramite AlwaysOnHotwordDetector. -
MediaRecorder
. Fornisce l'accesso all'input audio sia per il rilevamento delle hotword (quando si utilizza la CPU) che per il riconoscimento vocale. -
PhoneWindowManager
/CarInputService
. Questi servizi sono responsabili (tra le altre cose) della gestione degli eventi chiave, instradando PTT al VIA, tramiteVoiceInteractionManagerService
. -
User
. L'utente interagisce con un VIA tramite Trigger (PTT, TTT, Hotword) o la Voice Plate UI. - CarService, Notifiche, Media, Telefonia, ContattiProvider e così via. Servizi e app utilizzati da VoiceInteractionSession per eseguire i comandi dell'utente.
Concetti specifici del settore automobilistico
AAOS differisce da Android nei seguenti aspetti:
- Oltre alle normali funzionalità dell'Assistente, i VIA AAOS possono controllare le funzioni del veicolo (ad esempio, HVAC, sedili e luci interne). Queste funzionalità possono essere integrate utilizzando l'API CarPropertyManager (maggiori informazioni in Leggere una proprietà del veicolo ) a condizione che gli OEM configurino correttamente l'accesso come descritto in Elenco consentito delle autorizzazioni privilegiate .
- La personalizzazione e la coerenza sono più rilevanti nel settore automobilistico che in qualsiasi altro fattore di forma. Consulta Personalizzazione per ulteriori informazioni sull'implementazione di queste linee guida.