Interfejs API usługi interakcji głosowej zapewnia abstrakcję różnych potencjalnych aplikacji sterowania głosem. Implementacje można tworzyć zgodnie ze wskazówkami opisanymi w artykule o programowaniu aplikacji. Treści w tym przewodniku po integracji opisują, jak zintegrować te aplikacje z określonym obrazem systemu Android Automotive (AAOS).
Terminologia
W tym przewodniku używamy tych terminów:
- Dane o pomocy. Gdy rozpocznie się sesja interakcji głosowej, system może rejestrować widoki i zrzuty ekranu oraz przekazywać te informacje do sesji. Aplikacje mogą udostępniać dodatkowe informacje, implementując
Activity#onProvideAssistData()
iActivity#onProvideAssistContent()
. - Tryb mówienia (PTT). Przycisk sterowania głosem, zwykle umieszczony na kierownicy.
- RecognitionService (RS). Usługa rozpoznawania głosu używana przez aplikacje za pomocą interfejsu API
SpeechRecognizer
. Dokumenty VIA muszą zawierać zarównoVoiceInteractionService
, jak iRecognitionService
. - Dotknij, aby mówić (TTT). Przycisk sterowania głosem (zwykle w ramach interfejsu systemu). W Androidzie jest to też nazywane gesturem asystenta.
VoiceInteractionService
. Uproszczona usługa systemowa zaimplementowana przez programistę VIA. Wybrana usługa jest powiązana z usługą systemową podczas uruchamiania i jest zawsze uruchomiona.- VoiceInteractionSession (VIS). Ta klasa zawiera logikę biznesową dotyczącą interakcji z użytkownikiem. Jest odpowiedzialny za wyświetlanie użytkownikowi stanu interakcji głosowej, obsługę żądań interfejsu VoiceInteractor oraz otrzymywanie danych o pomocy i zrzutach ekranu.
- 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
. Ta usługa jest gwarantowana tylko podczas sesji głosowej z jednym użytkownikiem. - Aplikacja do interakcji głosowej (VIA) aplikacja na Androida służąca do sterowania głosem (nazywana asystentem); Takie aplikacje można zidentyfikować, sprawdzając, czy w ich pliku manifestu znajduje się element
VoiceInteractionService
. W systemie można wybrać tylko jedną z tych aplikacji jako domyślną. Tylko aplikacja domyślna będzie aktywna (będzie powiązana z usługą systemową) i będzie odbiornikiem zdarzeń Push-To-Talk (PTT) lub Tap-To-Talk (TTT).
Obowiązki
Ta tabela opisuje obowiązki każdej ze stron.
producenci samochodów (OEM), | AOSP | Deweloperzy aplikacji |
---|---|---|
|
|
|
Wymagania dotyczące UX
Producenci urządzeń oryginalnych ponoszą ostateczną odpowiedzialność za zapewnienie klientom dobrych wrażeń. Producenci OEM muszą zadbać o to, aby wszystkie wstępnie zainstalowane usługi interakcji głosowej spełniały wymagania opisane w wstępnie zainstalowanych asystentach: wskazówki dotyczące UX.
Podstawowe funkcje Asystenta
Aplikacja do interakcji głosowej w samochodach (VIA) wykonuje te czynności:
- [MUST] Reagowanie na wywołania interakcji głosowej obsługiwane przez system (PTT, TTT).
- [MUST] Wyświetl wizualną reprezentację postępów (np. słuchanie, przetwarzanie i realizację).
- [WYMAGANIE] Używaj głosu lub dźwięków, aby sygnalizować zrozumienie i wykonanie żądań użytkownika.
- [MUST] Służy do rozpoznawania mowy w innych aplikacjach (zob. SpeechRecognizer API).
- [SHOULD] Odpowiedź na słowo-klucz.
- [MAY] Wyświetlanie aktywności związanej z ustawieniami, w ramach której użytkownicy mogą konfigurować tę funkcję (np. uprawnienia, konfigurację słów kluczowych i logowanie).
- [MAY] Obsługa danych pomocy (
Intent#ACTION_ASSIST
) - [MAY] Obsługa interakcji głosowych z Keyguard (ekran blokady).
Komponenty
Ogólnie rzecz biorąc, aplikacja do interakcji głosowej wchodzi w interakcje z tymi podmiotami:
Rysunek 1. Aktorzy głosowi
Szczegóły:
VoiceInteractionManagerService
. Ta usługa systemowa odpowiada za zarządzanie domyślnym interfejsem VIA i udostępnianie jego funkcji reszcie systemu.RecognitionService
. Ta usługa udostępnia funkcje rozpoznawania mowy innym aplikacjom w systemie.SoundTrigger
. Umożliwia zarządzanie słowami kluczowymi i jest dostępna dla VIA za pomocą funkcji AlwaysOnHotwordDetector.MediaRecorder
. Zapewnia dostęp do wejścia audio zarówno do wykrywania słów kluczowych (w przypadku korzystania z procesora) jak i do rozpoznawania mowy.PhoneWindowManager
/CarInputService
. Te usługi odpowiadają (między innymi) za obsługę kluczowych zdarzeń, kierowanie PTT do VIA za pomocąVoiceInteractionManagerService
.User
. Użytkownik wchodzi w interakcję z VIA za pomocą wyzwalaczy (PTT, TTT, Hotword) lub interfejsu Voice Plate.- CarService, Notifications, Media, Telephony, ContactsProvider itd. Usługi i aplikacje używane przez VoiceInteractionSession do wykonywania poleceń użytkownika.
Pojęcia związane z motoryzacją
AAOS różni się od Androida w tych aspektach:
- Oprócz standardowych funkcji Asystenta AAOS VIA może sterować funkcjami pojazdu (np. klimatyzacją, fotelami i oświetleniem wnętrza). Te funkcje można zintegrować za pomocą interfejsu CarPropertyManager API (więcej informacji znajdziesz w artykule Czytanie właściwości pojazdu), o ile producenci oryginalnego sprzętu prawidłowo skonfigurują dostęp zgodnie z opisem w załączniku z uprawnieniami.
- Personalizacja i spójność są w przypadku branży motoryzacyjnej ważniejsze niż w przypadku jakiejkolwiek innej. Aby dowiedzieć się więcej o wdrażaniu tych wytycznych, zapoznaj się z artykułem Dostosowywanie.