주차 앱에 Android Auto 지원 추가

Android 15 이상을 실행하는 기기에서 Android Auto는 지원되는 주차된 앱 카테고리의 앱을 헤드 단위에서 직접 실행하도록 지원합니다. Android Auto의 주차된 앱 사용자 환경에 관한 자세한 내용은 주차된 앱을 참고하세요.

Android Auto 지원 선언

앱이 Android Auto를 지원한다고 선언하려면 앱 매니페스트의 활동 인텐트 필터에 다음 <category> 요소를 포함해야 합니다.

<activity ...>
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        ...
        <category android:name="android.intent.category.CAR_LAUNCHER" />
    </intent-filter>
</activity>

일반적으로 android.intent.category.CAR_LAUNCHER 카테고리 요소는 android.intent.category.LAUNCHER 요소와 동일한 인텐트 필터에 배치할 수 있지만 원하는 경우 다른 인텐트 필터에 배치할 수도 있습니다.

카테고리별 매니페스트 항목

앞의 요구사항 외에도 게임에는 추가 요구사항이 있습니다. 앱을 게임으로 표시를 참고하세요.

일반적인 Android Auto 화면 크기 지원

최상의 사용자 환경을 위해 앱을 다양한 화면 크기에 완전히 적응하도록 만드는 것이 좋습니다. 최소한 Android Auto를 지원하는 다양한 자동차에서 고품질 환경을 보장하려면 앱이 가로 모드 화면에서 크게 필러박스 처리되지 않아야 합니다.DO-2

예를 들어 앱이 가로 모드 화면에서 필러박스 처리된 세로 모드 가로세로 비율로 실행되는 경우 Play 스토어 검토 중에 거부됩니다. 가로 모드 화면에서 필러박스 처리가 최소화된 가로 모드 가로세로 비율로 실행되는 앱은 허용됩니다. 세로 모드 화면에서 레터박스 처리된 가로 모드 가로세로 비율로 실행되는 앱도 허용됩니다.

표준 화면 크기에 대해 테스트

Android Auto용 앱을 빌드하고 테스트할 때 다음 데스크톱 헤드 단위 (DHU) 구성을 사용하여 앱이 앞의 요구사항을 충족하는지 확인할 수 있습니다.

작은 가로 모드

[general]
resolution = 800x480
dpi = 160
...

넓은 가로 모드

[general]
resolution = 1920x1080
dpi = 160
marginheight = 596
normalizedpi = true
cropmargins = true
...

세로 모드

[general]
resolution = 1920x1080
dpi = 160
marginwidth = 878
normalizedpi = true
cropmargins = true
...

Android Auto에서 사용 감지

분석 목적으로 앱이 Android Auto를 통해 사용되는 시점을 감지하려면 다음 두 가지 신호를 확인하면 됩니다.

  • CarConnection API에서 보고하는 연결 상태입니다. Android Auto가 연결되면 CONNECTION_TYPE_PROJECTION이 됩니다.
  • 활성 디스플레이의 디스플레이 ID입니다. 앱이 Android Auto를 통해 사용되는 경우와 같이 기본 제공 화면이 아닌 디스플레이에서 실행되는 경우 이는 DEFAULT_DISPLAY가 아닌 값입니다.

다음 스니펫은 이러한 신호를 결합하여 Android Auto를 통한 사용을 감지하는 방법을 보여줍니다.

val displayId = context.display?.displayId ?: DEFAULT_DISPLAY
isRunningOnAndroidAuto = (connectionType == CONNECTION_TYPE_PROJECTION) && (displayId != DEFAULT_DISPLAY)