Android Automotive OS 호환성 모드

모바일 앱을 Android Automotive OS 기기에 가져오는 프로세스를 간소화하기 위해 특정 자동차에는 기존 모바일 앱을 자동차에 가져올 때 발생하는 일반적인 문제를 해결하는 호환성 모드가 제공됩니다.

이 호환성 모드는 자동차 지원 모바일 앱 프로그램에서 사용되지만 이 프로그램에 속하지 않은 앱도 이 모드에서 실행할 수 있습니다.

호환성 모드 이해

Android Automotive OS 호환성 모드는 일부 차량에서 Android Automotive OS에서 실행할 때 휴대기기용으로 빌드된 앱의 사용자 환경을 개선하기 위해 사용할 수 있는 소프트웨어 기능입니다.

뒤로 탐색

다른 폼 팩터와 달리 Android Automotive OS 기기에는 하드웨어 또는 소프트웨어 뒤로 어포던스가 필요하지 않습니다. 호환성 모드는 하드웨어 버튼, 소프트웨어 버튼, 동작 등 시스템에서 제공하는 뒤로 어포던스를 요구하여 이 문제를 해결합니다. 이렇게 하면 앱이 자체 UI 요소를 통해서만 탐색 가능성을 보장할 필요가 없습니다.

앱이 UI에 뒤로 어포던스를 제공하지 않더라도 사용자는 이전 화면으로 이동할 수 있습니다.
사용자가 이전 화면으로 돌아갈 수 없습니다.

안전 영역 렌더링

자동차에서는 시스템 표시줄 및 디스플레이 컷아웃과 같은 소프트웨어 및 하드웨어 요소로 인해 주로 휴대기기용으로 개발된 앱에서 가정한 사항이 적용되지 않을 수 있습니다. 호환성 모드는 앱이 안전한 영역에서 렌더링되도록 하여 이 문제를 해결합니다.

밀도 확장

자동차의 상호작용 거리는 다른 대형 화면 기기보다 길기 때문에 자동차에서 실행할 때 터치 영역과 글꼴 크기가 권장보다 작을 수 있습니다. 호환성 모드는 OEM이 앱을 렌더링할 때 사용되는 DPI 배율을 지정할 수 있도록 허용하여 이 문제를 해결합니다.

활동 수명 주기

Android Automotive OS용 주차 앱 빌드에 설명된 대로 OS는 운전자의 주의가 분산되는 것을 줄이기 위해 자동차가 운전 모드로 전환될 때 앱의 활동을 자동으로 차단합니다. 호환성 모드가 있는 기기에서는 OEM의 차단 UI가 투명해서는 안 되므로 앱이 더 이상 표시되지 않고 차단되면 중지됨 수명 주기 상태로 전환됩니다.

호환성 모드 구성

기본적으로 앱의 활동은 기기에서 호환성 모드를 지원하는 경우 호환성 모드로 실행됩니다. 다음과 같은 경우에는 활동이 호환성 모드로 실행되지 않습니다.

  • 매니페스트에 android.hardware.type.automotive 기능의 <uses-feature> 요소가 있는 경우:
<application ...>
  ...
  <uses-feature android:name="android.hardware.type.automotive" ...>
  ...
</application>
  • 다음 <meta-data> 요소가 포함된 <activity> 매니페스트 요소가 있는 경우
<meta-data android:name="distractionOptimized" android:value="true">

이러한 조건 중 하나가 앱에 적용되지만 활동을 디스플레이 호환성 모드로 실행하려면 앱 매니페스트에 다음 <meta-data> 요소를 추가하면 됩니다.

<application ...>
  ...
  <meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
  ...
</application>

호환성 모드에서 앱 테스트

호환성 모드에서 앱을 테스트하려면 호환성 모드가 있는 일반 시스템 이미지를 사용하면 됩니다.

기기 지원 결정

Android Automotive OS 호환성 모드를 지원하는 기기는 android.software.car.display_compatibility 시스템 기능을 선언해야 합니다. 이 기능을 지원하는 기기를 확인하려면 Play Console의 기기 카탈로그를 사용하세요.