Interfejs API usługi interakcji głosowej zapewnia abstrakcję różnych potencjalnych aplikacji do sterowania głosowego. Wdrożenia można opracowywać zgodnie z wytycznymi opisanymi w dziale Tworzenie aplikacji . Treść tego przewodnika integracji opisuje, jak zintegrować te aplikacje z konkretnym obrazem systemu Android Automotive OS (AAOS).
Terminologia
W tym przewodniku używane są następujące terminy:
- Dane pomocnicze. Po rozpoczęciu sesji interakcji głosowej system może przechwytywać widoki i zrzuty ekranu oraz przekazywać te informacje do sesji. Aplikacje mogą udostępniać dodatkowe informacje, implementując
Activity#onProvideAssistData()
iActivity#onProvideAssistContent()
. - Funkcja „Naciśnij i mów” (PTT) . Fizyczny przycisk sterowania głosowego, zwykle umieszczony na kierownicy.
- Usługa rozpoznawania (RS). Usługa rozpoznawania głosu używana przez aplikacje za pośrednictwem interfejsu API
SpeechRecognizer
. VIA muszą zawierać zarównoVoiceInteractionService
, jak iRecognitionService
. - Dotknij i mów (TTT) . Programowy przycisk sterowania głosowego, zwykle zawarty w interfejsie użytkownika systemu). W systemie Android nazywa się to także gestem wspomagającym .
-
VoiceInteractionService
. Lekka usługa systemowa wdrożona przez programistę VIA. Wybrana usługa jest powiązana z usługą systemową podczas rozruchu i zawsze działa. - Sesja interakcji głosowej (VIS). Ta klasa hermetyzuje logikę biznesową interakcji użytkownika. Odpowiada za prezentowanie użytkownikowi statusu interakcji głosowej, obsługę żądań VoiceInteractor oraz otrzymywanie danych pomocniczych i zrzutów ekranu.
- Usługa VoiceInteractionSessionService (VSS). Usługa będąca częścią VIA, odpowiedzialna za obsługę sesji interakcji głosowej. Ta usługa jest powiązana z usługą systemową Androida podczas interakcji głosowej z użytkownikiem. Cała logika biznesowa tej sesji jest zaimplementowana w klasie
VoiceSession
. Gwarantujemy, że ta usługa będzie działać tylko podczas sesji głosowej jednego użytkownika. - Aplikacja do interakcji głosowej (VIA). Aplikacja na Androida służąca do sterowania głosowego (tzw. asystent ). Te aplikacje można rozpoznać po umieszczeniu w ich manifeście
VoiceInteractionService
. W danym momencie w systemie można wybrać tylko jedną z tych aplikacji jako domyślną . Tylko domyślna aplikacja będzie utrzymywana przy życiu (powiązana z usługą systemową) i będzie odbiorcą zdarzeń Push-To-Talk (PTT) lub Tap-To-Talk (TTT) .
Obowiązki
W poniższej tabeli opisano obowiązki każdej ze stron.
Producenci samochodów (OEM) | AOSP | Twórcy aplikacji |
---|---|---|
|
|
|
Wymagania UX
Producenci OEM ponoszą ostateczną odpowiedzialność za zapewnienie klientom dobrego doświadczenia użytkownika. Producenci OEM muszą upewnić się, że wszystkie wstępnie zainstalowane usługi interakcji głosowej spełniają wymagania opisane w sekcji Fabrycznie załadowani asystenci: Wskazówki dotyczące UX .
Podstawowe doświadczenie asystenta
Aplikacja samochodowej interakcji głosowej (VIA) wykonuje następujące czynności:
- [MUSI] Reagować na obsługiwane przez system wyzwalacze interakcji głosowych (PTT, TTT).
- [MUSI] Wyświetlać wizualną reprezentację swoich postępów (na przykład słuchanie, przetwarzanie i spełnianie).
- [MUSI] Użyj głosu lub dźwięków, aby wskazać zrozumienie i wykonanie żądań użytkownika.
- [MUSI] Służyć jako moduł rozpoznawania mowy dla innych aplikacji (zobacz interfejs API SpeechRecognizer ).
- [POWINNO] odpowiedzieć na słowo-klucz wywołujący.
- [MAJ] Wyświetl działanie ustawień, w którym użytkownicy mogą skonfigurować ten VIA (na przykład uprawnienia, konfiguracja słów kluczowych i logowanie).
- [MAJ] Obsługa danych wspomagających (
Intent#ACTION_ASSIST
) - [MAJ] Obsługa interakcji głosowej z Keyguard (ekran blokady).
składniki
Na wysokim poziomie aplikacja do interakcji głosowej wchodzi w interakcję z następującymi aktorami:
Rysunek 1. Aktorzy interakcji głosowej
Detale:
-
VoiceInteractionManagerService
. Ta usługa systemowa jest odpowiedzialna za zarządzanie domyślnym VIA i udostępnianie jego funkcjonalności reszcie systemu. -
RecognitionService
. Ta usługa udostępnia możliwości rozpoznawania mowy innym aplikacjom w systemie. -
SoundTrigger
. Implementuje zarządzanie słowami-kluczami i jest dostępne dla VIA poprzez AlwaysOnHotwordDetector. -
MediaRecorder
. Zapewnia dostęp do wejścia audio zarówno w celu wykrywania słów kluczowych (przy użyciu procesora), jak i rozpoznawania mowy. -
PhoneWindowManager
/CarInputService
. Usługi te odpowiadają m.in. za obsługę kluczowych zdarzeń, kierowanie PTT do VIA za pośrednictwem usługiVoiceInteractionManagerService
. -
User
. Użytkownik komunikuje się z VIA za pomocą wyzwalaczy (PTT, TTT, Hotword) lub interfejsu użytkownika Voice Plate. - CarService, Powiadomienia, Media, Telefonia, Dostawca kontaktów i tak dalej. Usługi i aplikacje używane przez VoiceInteractionSession do wykonywania poleceń użytkownika.
Koncepcje specyficzne dla motoryzacji
AAOS różni się od Androida pod następującymi względami:
- Oprócz normalnych funkcji Asystenta, AAOS VIA mogą sterować funkcjami pojazdu (na przykład HVAC, siedzeniami i oświetleniem wnętrza). Funkcje te można zintegrować za pomocą interfejsu API CarPropertyManager (więcej informacji można znaleźć w artykule Przeczytaj właściwość pojazdu ), pod warunkiem, że producenci OEM prawidłowo skonfigurują dostęp zgodnie z opisem w sekcji Lista dozwolonych uprawnień uprzywilejowanych .
- Dostosowanie i spójność są bardziej istotne w branży motoryzacyjnej niż w jakimkolwiek innym formacie. Zobacz Dostosowywanie , aby dowiedzieć się więcej o wdrażaniu tych wytycznych.