Die Voice Interaction Service API bietet eine Abstraktion über verschiedene potenzielle Sprachsteuerungs-Apps. Implementierungen können gemäß den unter App-Entwicklung beschriebenen Richtlinien entwickelt werden. Der Inhalt dieses Integrationsleitfadens beschreibt, wie diese Apps in ein bestimmtes Android Automotive OS (AAOS)-Systemabbild integriert werden.
Terminologie
Diese Begriffe werden in diesem Leitfaden verwendet:
- Assist-Daten. Wenn eine Sprachinteraktionssitzung gestartet wird, kann das System Ansichten und Screenshots erfassen und diese Informationen an die Sitzung weitergeben. Apps können zusätzliche Informationen offenlegen, indem sie
Activity#onProvideAssistData()
undActivity#onProvideAssistContent()
implementieren. - Push-to-talk (PTT) . Physische Sprachsteuerungstaste, die sich normalerweise im Lenkrad befindet.
- RecognitionService (RS). Spracherkennungsdienst, der von Apps über die
SpeechRecognizer
API verwendet wird. VIAs müssen sowohl denVoiceInteractionService
als auch denRecognitionService
enthalten. - Tap-to-talk (TTT) . Software-Sprachsteuerungstaste, normalerweise als Teil der System-Benutzeroberfläche enthalten. In Android wird dies auch als Assist Gesture bezeichnet.
-
VoiceInteractionService
. Leichter Systemdienst, der vom VIA-Entwickler implementiert wurde. Der ausgewählte Dienst wird beim Booten an den Systemdienst gebunden und wird immer ausgeführt. - VoiceInteractionSession (VIS). Diese Klasse kapselt die Geschäftslogik für die Benutzerinteraktion. Es ist dafür verantwortlich, dem Benutzer den Status der Sprachinteraktion anzuzeigen, VoiceInteractor-Anfragen zu bearbeiten und Unterstützungs- und Screenshot-Daten zu empfangen.
- VoiceInteractionSessionService (VSS). Ein Dienst, Teil einer VIA, der für die Abwicklung einer Sprachinteraktionssitzung verantwortlich ist. Dieser Dienst wird während einer Sprachinteraktion mit einem Benutzer an den Systemdienst von Android gebunden. Die gesamte Geschäftslogik dieser Sitzung ist in der
VoiceSession
Klasse implementiert. Es wird garantiert, dass dieser Dienst nur während einer einzelnen Benutzer-Sprachsitzung aktiv bleibt. - Sprachinteraktions-App (VIA). Android-App zur Sprachsteuerung (genannt Assistent ). Diese Apps können identifiziert werden, indem ein
VoiceInteractionService
in ihr Manifest aufgenommen wird. Es kann jeweils nur eine dieser Apps als Standard im System ausgewählt werden. Nur die Standard-App wird aktiv gehalten (an einen Systemdienst gebunden) und ist der Empfänger von Push-To-Talk (PTT) - oder Tap-To-Talk (TTT) -Ereignissen.
Verantwortlichkeiten
In dieser Tabelle werden die Verantwortlichkeiten jeder Partei beschrieben.
Automobilhersteller (OEMs) | AOSP | App-Entwickler |
---|---|---|
|
|
|
UX-Anforderungen
OEMs tragen die letztendliche Verantwortung dafür, den Kunden ein gutes Benutzererlebnis zu bieten. OEMs müssen sicherstellen, dass alle vorinstallierten Sprachinteraktionsdienste die in „Vorinstallierte Assistenten: UX-Anleitung“ beschriebenen Anforderungen erfüllen.
Kernerfahrung als Assistent
Eine Automotive Voice Interaction Application (VIA) führt die folgenden Aktionen aus:
- [MUSS] Auf vom System verwaltete Sprachinteraktionsauslöser (PTT, TTT) reagieren.
- [MUSS] Zeigen Sie eine visuelle Darstellung ihres Fortschritts (z. B. Zuhören, Verarbeiten und Erfüllen).
- [MUSS] Stimme oder Töne verwenden, um anzuzeigen, dass Benutzeranfragen verstanden und abgeschlossen wurden.
- [MUSS] Als Spracherkennung für andere Apps dienen (siehe SpeechRecognizer-API ).
- [SOLLTE] Auf einen Hotword-Auslöser reagieren.
- [KANN] Zeigt eine Einstellungsaktivität an, in der Benutzer diese VIA konfigurieren können (z. B. Berechtigungen, Hotword-Konfiguration und Anmeldung).
- [KANN] Assist-Daten verarbeiten (
Intent#ACTION_ASSIST
) - [MAI] Unterstützt Sprachinteraktion von Keyguard (Sperrbildschirm).
Komponenten
Auf hoher Ebene interagiert eine Sprachinteraktions-App mit diesen Akteuren:
Abbildung 1. Akteure der Sprachinteraktion
Einzelheiten:
-
VoiceInteractionManagerService
. Dieser Systemdienst ist für die Verwaltung des Standard-VIA und die Offenlegung seiner Funktionalität für den Rest des Systems verantwortlich. -
RecognitionService
. Dieser Dienst stellt Spracherkennungsfunktionen für andere Apps im System bereit. -
SoundTrigger
. Implementiert die Hotword-Verwaltung und steht VIAs über den AlwaysOnHotwordDetector zur Verfügung. -
MediaRecorder
. Bietet Zugriff auf die Audioeingabe sowohl für die Hotword-Erkennung (bei Verwendung der CPU) als auch für die Spracherkennung. -
PhoneWindowManager
/CarInputService
. Diese Dienste sind (unter anderem) für die Verarbeitung wichtiger Ereignisse und die Weiterleitung von PTT an die VIA mithilfe desVoiceInteractionManagerService
verantwortlich. -
User
. Der Benutzer interagiert mit einem VIA über Trigger (PTT, TTT, Hotword) oder die Voice Plate-Benutzeroberfläche. - CarService, Benachrichtigungen, Medien, Telefonie, ContactsProvider und so weiter. Dienste und Apps, die von der VoiceInteractionSession verwendet werden, um die Befehle des Benutzers auszuführen.
Automobilspezifische Konzepte
AAOS unterscheidet sich in folgenden Aspekten von Android:
- Neben den normalen Assistentenfunktionen können AAOS VIAs Fahrzeugfunktionen steuern (z. B. Klimaanlage, Sitze und Innenbeleuchtung). Diese Funktionalitäten können mithilfe der CarPropertyManager-API integriert werden (weitere Informationen finden Sie unter Lesen einer Fahrzeugeigenschaft ), sofern OEMs den Zugriff korrekt konfigurieren, wie in der Zulassungsliste für privilegierte Berechtigungen beschrieben.
- Anpassung und Konsistenz sind in der Automobilindustrie wichtiger als in jedem anderen Formfaktor. Weitere Informationen zur Implementierung dieser Richtlinien finden Sie unter „Anpassung“ .