음성 상호 작용 정보

음성 상호 작용 서비스 API는 다양한 잠재적 음성 제어 앱에 대한 추상화를 제공합니다. 구현은 앱 개발 에 설명된 지침에 따라 개발될 수 있습니다. 이 통합 가이드의 콘텐츠에서는 이러한 앱을 특정 Android Automotive OS(AAOS) 시스템 이미지에 통합하는 방법을 설명합니다.

술어

이 가이드에서는 다음 용어가 사용됩니다.

  • 지원 데이터. 음성 상호작용 세션이 시작되면 시스템은 보기와 스크린샷을 캡처하고 이 정보를 세션에 전달할 수 있습니다. 앱은 Activity#onProvideAssistData()Activity#onProvideAssistContent() 를 구현하여 추가 정보를 노출할 수 있습니다.
  • 푸쉬 투 토크(PTT) . 물리적 음성 제어 버튼은 일반적으로 스티어링 휠에 있습니다.
  • 인식 서비스(RS). SpeechRecognizer API를 통해 앱에서 사용하는 음성 인식 서비스입니다. VIA에는 VoiceInteractionService RecognitionService 모두 포함되어야 합니다.
  • 탭하여 대화(TTT) . 일반적으로 시스템 UI의 일부로 포함되는 소프트웨어 음성 제어 버튼. Android에서는 이를 지원 제스처 라고도 합니다.
  • VoiceInteractionService . VIA 개발자가 구현한 경량 시스템 서비스입니다. 선택한 서비스는 부팅 시 시스템 서비스에서 바인딩되며 항상 실행됩니다.
  • VoiceInteractionSession(VIS). 이 클래스는 사용자 상호 작용 비즈니스 논리를 캡슐화합니다. 사용자에게 음성 상호 작용 상태를 표시하고, VoiceInteractor 요청을 처리하고, 지원 및 스크린샷 데이터를 수신하는 역할을 담당합니다.
  • VoiceInteractionSessionService(VSS). 음성 상호작용 세션 처리를 담당하는 VIA의 일부인 서비스입니다. 이 서비스는 사용자와의 음성 상호작용 중에 Android 시스템 서비스에서 바인딩됩니다. 이 세션의 모든 비즈니스 로직은 VoiceSession 클래스에서 구현됩니다. 이 서비스는 단일 사용자 음성 세션 동안에만 활성 상태를 유지하는 것이 보장됩니다.
  • 음성 상호작용 앱(VIA). 음성 제어( 어시스턴트 라고 함) 역할을 하도록 설계된 Android 앱입니다. 이러한 앱은 매니페스트에 VoiceInteractionService 포함하여 식별할 수 있습니다. 시스템에서는 한 번에 이러한 앱 중 하나만 기본 으로 선택할 수 있습니다. 기본 앱만 활성 상태로 유지되며(시스템 서비스에서 바인딩됨) PTT(Push-To-Talk) 또는 TTT(Tap-To-Talk) 이벤트의 수신자가 됩니다.

책임

이 표에는 각 당사자의 책임이 설명되어 있습니다.

자동차 제조업체(OEM) AOSP 앱 개발자
  • AAOS와 호환되는 인포테인먼트 시스템을 구축하세요.
  • 선택적으로 DSP 핫워드 감지 지원을 포함하여 오디오 입력 및 출력을 구현합니다.
  • 음성 상호작용 서비스에 대한 시스템 권한을 부여합니다.
  • 앱 설정 화면 액세스와 관련된 VoiceInteractionService 요구 사항을 존중하세요.
  • VoiceInteractionService 및 관련 API를 정의하고 발전시킵니다.
  • VIA 개발자에게 API 문서, 샘플 코드 및 기타 지원 자료를 제공하세요.
  • 요구 사항 및 권장 사항이 포함된 UX 지침을 제공합니다.
  • VoiceInteractionService API, RecognitionService API 및 NotificationListenerService API를 구현합니다(자세한 설명은 앱 개발 참조).
  • OEM이 각 자동차 디자인 시스템에 맞게 조정할 수 있는 맞춤형 UI를 제공합니다.

UX 요구 사항

OEM은 고객에게 좋은 사용자 경험을 제공할 궁극적인 책임이 있습니다. OEM은 사전 설치된 모든 음성 상호 작용 서비스가 사전 로드된 도우미: UX 지침 에 설명된 요구 사항을 충족하는지 확인해야 합니다.

핵심 어시스턴트 경험

자동차 음성 상호작용 애플리케이션(VIA)은 다음 작업을 수행합니다.

  • [필수] 시스템 처리 음성 상호작용 트리거(PTT, TTT)에 응답해야 합니다.
  • [필수] 진행 상황(예: 듣기, 처리, 이행)을 시각적으로 표시해야 합니다.
  • [필수] 음성이나 소리를 사용하여 사용자 요청을 이해하고 완료했음을 나타냅니다.
  • [필수] 다른 앱의 음성 인식기 역할을 해야 합니다( SpeechRecognizer API 참조).
  • [SHOULD] 핫워드 트리거에 응답해야 합니다.
  • [5월] 사용자가 이 VIA를 구성할 수 있는 설정 활동을 표시합니다(예: 권한, 핫워드 구성 및 로그인).
  • [5월] 지원 데이터 처리( Intent#ACTION_ASSIST )
  • [5월] Keyguard(잠금 화면)에서 음성 상호작용을 지원합니다.

구성요소

높은 수준에서 음성 상호작용 앱은 다음 행위자와 상호작용합니다.

음성 상호작용 배우

그림 1. 음성 상호작용 행위자

세부:

  • VoiceInteractionManagerService . 이 시스템 서비스는 기본 VIA를 관리하고 해당 기능을 시스템의 나머지 부분에 노출하는 역할을 합니다.
  • RecognitionService . 이 서비스는 시스템의 다른 앱에 음성 인식 기능을 노출합니다.
  • SoundTrigger . 핫워드 관리를 구현하며 AlwaysOnHotwordDetector를 통해 VIA에서 사용할 수 있습니다.
  • MediaRecorder . 핫워드 감지(CPU 사용 시) 및 음성 인식을 위한 오디오 입력에 대한 액세스를 제공합니다.
  • PhoneWindowManager / CarInputService . 이러한 서비스는 VoiceInteractionManagerService 를 통해 주요 이벤트를 처리하고 PTT를 VIA로 라우팅하는 역할을 담당합니다.
  • User . 사용자는 트리거(PTT, TTT, Hotword) 또는 음성 플레이트 UI를 통해 VIA와 상호 작용합니다.
  • CarService, 알림, 미디어, 전화 통신, ContactsProvider 등. 사용자 명령을 이행하기 위해 VoiceInteractionSession에서 사용하는 서비스 및 앱입니다.

자동차 관련 개념

AAOS는 다음과 같은 측면에서 Android와 다릅니다.

  • 일반적인 보조 기능 외에도 AAOS VIA는 차량 기능(예: HVAC, 좌석 및 실내 조명)을 제어할 수 있습니다. OEM이 독점 권한 허용 목록 에 설명된 대로 액세스를 올바르게 구성한 경우 CarPropertyManager API(자세한 내용은 차량 속성 읽기 참조)를 사용하여 이러한 기능을 통합할 수 있습니다.
  • 맞춤화와 일관성은 다른 폼 팩터보다 자동차 분야에서 더 중요합니다. 이러한 지침 구현에 대한 자세한 내용은 사용자 정의를 참조하세요.