앱 생태계 고려

확장 가능한 UI를 사용하면 Android Automotive OS (AAOS)에서 멀티 윈도우 구성을 만들 수 있습니다. 확장 가능한 UI는 앱이 화면에 표시되는 위치와 방식을 조정하는 데 사용할 수 있는 프레임워크를 제공합니다. 결과적으로 정보 흐름을 더 잘 제어할 수 있습니다.

시스템 앱 개발자는 이러한 요소를 고려할 수 있습니다.

구성 가능한 앱 컨테이너

확장 가능한 UI 패널은 앱의 구성 가능한 컨테이너 역할을 하므로 앱이 화면에 동시에 표시되거나 다양한 크기로 표시될 수 있는 다양한 레이아웃을 만들 수 있습니다.

확장 가능한 UI는 런타임에 패널 크기 변경을 지원합니다. 하지만 이렇게 하면 앱이 콘텐츠를 조정해야 하므로 성능에 상당한 영향을 미칩니다.

확장 가능한 UI는 시각적으로 영향을 줄이는 메커니즘을 제공합니다. 예를 들어 프레임당 애플리케이션의 레이아웃을 다시 지정하지 않도록 패널 크기를 조절할 때 내장 오버레이 화면을 제공합니다. 앱 환경을 정의하는 것은 개발자의 몫입니다.

시스템 상태를 통신합니다.

확장 가능한 UI를 사용하여 브로드캐스트 기반 시스템 이벤트를 트리거할 수 있습니다. 즉, 다양한 앱이 언제 어떻게 실행되는지, 이러한 시스템 앱에 어떤 시스템 이벤트가 표시되는지에 관한 규칙을 구성할 수 있습니다.

이렇게 하면 시스템 수준에서 정의된 이벤트에 반응할 때 시스템 앱에 유연성이 추가됩니다. 예를 들어 활성 탐색 세션과 지도 앱이 화면에 없으면 NavigationCardActivity가 실행되도록 구성할 수 있습니다. 또한 시스템 앱이 차량 속도로 제어되는 중앙 집중식 신호를 기반으로 색상 테마를 변경할 수 있습니다.

서드 파티 앱 개발자

서드 파티 앱 개발자는 멀티 윈도우 설정을 사용 설정할 때 이러한 측면을 고려해야 합니다.

  • 앱 패널 배치: 앱이 다양한 패널 크기로 배치될 수 있으므로 반응형 UI 디자인이 필요합니다. 이는 확장 가능한 UI 때문이 아니라 멀티 윈도우 설정의 앱에 필요합니다.

  • 인셋 처리: 앱은 인셋 (시스템 UI 요소 또는 디스플레이 컷아웃으로 점유된 화면 영역)을 처리해야 합니다. 패널은 인셋에 관한 업데이트를 게시하여 앱이 적응할 수 있도록 합니다. 이는 확장 가능한 UI 때문이 아니라 앱이 시스템 인셋 변경사항을 처리해야 한다는 Android 요구사항에 따른 것입니다.

  • 몰입형 모드: 몰입형 모드 (시스템 표시줄을 숨기고 앱이 화면을 채움)를 사용하는 앱을 고려해야 합니다. 확장 가능한 UI를 사용하면 몰입형 모드의 정의와 이 모드에서 각 패널 배치를 정의하는 방법을 제어할 수 있습니다.

    운전자 안전 및 기타 요구사항을 고려하여 몰입형 모드를 사용하는 방법을 결정해야 합니다.

    Android 요구사항에 따라 앱은 몰입형 모드 요청 시 앱이 화면을 채울 것으로 예상할 수 없습니다. OS는 이러한 요청을 승인하거나 거부합니다.