Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

음성 상호작용 정보

음성 상호작용 서비스 API는 다양한 음성 제어 애플리케이션을 위한 추상화를 제공합니다. 애플리케이션 구현은 애플리케이션 개발에 설명한 가이드라인에 따라 개발하면 됩니다. 이 통합 가이드의 콘텐츠는 이러한 애플리케이션을 특정 Android Automotive OS(AAOS) 시스템 이미지에 통합하는 방법을 설명합니다.

용어

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

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

책임

이 표에서는 각 당사자가 해야 하는 작업을 설명합니다.

자동차 제조업체(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 참고).
  • [권장] 핫워드 트리거에 응답해야 합니다.
  • [허용] 사용자가 VIA를 구성할 수 있는 설정 활동(예: 권한, 핫워드 구성 및 로그인)을 표시할 수 있습니다.
  • [허용] 지원 데이터를 처리할 수 있습니다(Intent#ACTION_ASSIST).
  • [허용] Keyguard(잠금 화면)에서 음성 상호작용을 지원할 수 있습니다.

구성요소

개략적으로 음성 상호작용 애플리케이션은 다음과 같은 구성요소와 상호작용합니다.

음성 상호작용에 관여하는 구성요소

그림 1. 음성 상호작용에 관여하는 구성요소

세부정보

  • VoiceInteractionManagerService: 이 시스템 서비스는 기본 VIA를 관리하고 기본 VIA 기능을 시스템의 다른 부분에 노출합니다.
  • RecognitionService: 이 서비스는 음성 인식 기능을 시스템의 다른 애플리케이션에 노출합니다.
  • SoundTrigger: 핫워드 관리를 구현합니다. 구현된 핫워드 관리는 AlwaysOnHotwordDetector를 통해 VIA에서 사용할 수 있습니다.
  • MediaRecorder: 핫워드 감지(CPU 사용 시) 및 음성 인식용 오디오 입력 액세스를 제공합니다.
  • PhoneWindowManager/CarInputService: 이러한 서비스는 VoiceInteractionManagerService를 통해 다른 구성요소 간에 PTT를 VIA로 라우팅하는 키 이벤트를 처리합니다.
  • User: 사용자는 트리거(PTT, TTT, 핫워드) 또는 음성 플레이트 UI를 통해 VIA와 상호작용합니다.
  • CarService, Notifications, Media, Telephony, ContactsProvider 등: VoiceInteractionSession에서 사용자의 명령어를 처리하기 위해 사용하는 서비스 및 애플리케이션입니다.

자동차 관련 개념

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

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