미디어 앱을 Wear OS로 확장

Wear OS는 Android 사용자가 이동 중에 오디오북, 음악, 팟캐스트, 라디오와 같은 다양한 오디오 콘텐츠를 이용할 수 있는 훌륭한 플랫폼입니다. Wear OS by Google을 사용하면 오디오 콘텐츠를 비롯한 다양한 카테고리의 앱을 작성하여 사용자가 연결 상태를 유지하고 건강을 유지하며 자신을 표현하는 데 도움을 줄 수 있습니다.

Android용으로 개발한 경우 앱 및 알림은 익숙한 기능일 것입니다. Wear OS용으로 개발할 때 Modern Android Development에 관한 지식을 활용할 수 있습니다.

Wear OS 개발 원칙

Wear OS는 Android를 기반으로 하므로 여러 Android 권장사항이 Wear OS에도 적용됩니다. 개발 시간을 최적화하려면 Wear OS 앱을 빌드하기 전에 다음 원칙을 검토하세요.

Wear OS에서 앱을 만들고 실행하기

Wear OS 앱을 직접 살펴보는 것이 가장 좋은 시작 방법입니다. Android 스튜디오의 템플릿을 사용하여 Wear OS용 첫 번째 앱을 빌드할 수 있습니다. 이 앱은 Wear OS 기기에서 정보를 한눈에 볼 수 있는 다양한 방법을 보여주고, 플랫폼에서 앱을 개발하는 데 필요한 몇 가지 권장사항을 소개합니다.

단계별 안내는 Wear OS에서 앱 만들기 및 실행을 참고하세요.

Wear OS와 모바일 개발 비교

모바일 앱을 디자인하는 방식과 Wear OS 앱을 디자인하는 방식에는 차이가 있습니다. 특정 기능이나 API, 권장사항이 Android 모바일 개발과 비교하여 Wear OS 앱 개발에서 어떻게 다른지 알아보려면 기능 표를 검토하세요.

Wear OS 미디어 앱의 일반적인 사용 사례

Wear OS에서 미디어 앱을 빌드하여 사용자가 시계에서 다운로드한 콘텐츠를 스트리밍하고 재생할 수 있도록 합니다. 최상의 사용자 환경을 제공하려면 Wear OS 기기에서 특히 잘 작동하는 다음 미디어 사용 사례를 구현하는 것이 좋습니다.

오프라인 저장 콘텐츠 재생

사용자는 운동할 때 네트워크 연결 없이 콘텐츠를 들을 수 있습니다. Wear OS 기기는 일반적으로 블루투스와 Wi-Fi를 지원하지만 LTE는 지원하지 않을 수 있습니다. 사용자가 집에 휴대기기를 두고 왔을 수 있는 불안정한 연결 및 오프라인 사용 사례(예: 운동, 출퇴근길)를 위해 디자인합니다. 자세한 내용은 오프라인 저장 콘텐츠 사용하기를 참고하세요.

사용 가능한 네트워크에서 스트리밍

사용자는 시계에서 스트리밍하여 음악, 팟캐스트 또는 라디오 방송국을 들을 수 있지만 스트리밍하면 시계 배터리가 소모될 수 있습니다. 탐색 목록에서 최근에 사용한 다운로드를 노출하여 사용자가 시계에서 듣기로 선택할 때 다운로드한 콘텐츠를 우선합니다. 다음 이미지와 같이 전체 다운로드 목록으로 이동하는 버튼을 추가하는 것이 좋습니다.

'오프라인 저장 콘텐츠'가 포함된 오디오 보관함 목록

그림 1. 오디오 보관함 목록에 '오프라인 저장'이 포함되어 있습니다.

재생목록 및 오디오북을 포함한 오디오 라이브러리 목록

그림 2. 재생목록 및 오디오북을 포함한 오디오 라이브러리 목록

Wear OS용 Compose로 빌드

Wear OS용 Compose는 Android Jetpack에 포함되어 있으며 사용되는 다른 Wear Jetpack 라이브러리와 마찬가지로 더 나은 코드를 더 빠르게 작성할 수 있도록 합니다. 이는 Wear OS 앱용 사용자 인터페이스를 빌드하는 데 권장되는 Google의 방식입니다.

휴대기기에서 Jetpack Compose를 사용할 때 적용되는 여러 개발 원칙이 Wear OS용 Compose에도 적용됩니다. 하지만 몇 가지 주요 차이점이 있습니다. Wear OS용 Compose로 빌드할 때는 사용자가 시계에서 미디어에 편리하고 빠르게 액세스할 수 있는 앱을 설계하는 것이 중요합니다. 시계는 상호작용의 편의성과 속도에 높은 우선순위가 부여된 고유한 노출 영역입니다. 사용자는 스마트폰이나 태블릿보다 시계와 상호작용하는 데 훨씬 적은 시간을 소비하기 때문입니다.

선언형 UI 프레임워크의 일반적인 이점에 관한 자세한 내용은 Compose를 사용해야 하는 이유를 참고하세요. Jetpack Compose 도구 키트를 사용하는 데 익숙하지 않다면 Compose 개발자 과정을 참고하세요. Wear OS용 Compose에 관한 자세한 내용은 Wear OS용 Compose 개발자 과정 및 GitHub의 Wear OS 샘플 저장소를 참고하세요.

Wear OS 미디어 도구 키트

Wear OS 미디어 도구 모음은 Wear OS용 고품질 미디어 앱 개발을 가속화하는 라이브러리 집합입니다. 이 툴킷은 Horologist 프로젝트의 일부입니다. Horologist는 앱 개발을 가속화하는 데 도움이 되는 추가 라이브러리입니다.

이 도구 키트는 Wear OS용 Compose로 구현된 UI부터 Media3를 사용하여 구현된 재생 기능에 이르기까지 미디어 사용 사례에 가장 적합한 라이브러리를 사용합니다. 앱에 특정 요구사항이 있는 경우 기존 플레이어를 계속 사용하면서 도구 키트의 UI 구현을 채택할 수 있습니다.

미디어 툴킷을 사용하면 시계의 내장 스피커에서 미디어를 재생하지 않고, 오디오 오프로드를 사용 설정하고, 불필요하게 네트워크를 핑할 필요가 없는 등의 문제를 해결할 수 있습니다.

미디어 앱 디자인에서는 Horologist로 구현하는 가이드와 Wear OS의 아키텍처 및 사용 사례에 관한 정보를 제공합니다.

Wear OS에서 예상되는 사용자 환경 만들기

Wear OS에서 미디어 앱을 만들 때는 시계의 사용자 환경이 휴대기기와 어떻게 다른지, 특히 다음 사항을 고려하세요.

  • 내장 스피커는 음악 재생용으로 설계되지 않았습니다. 따라서 블루투스 스피커나 헤드폰을 사용하세요.
  • 네트워크 연결이 제한되거나 다양하므로 다양한 네트워크 조건에 맞게 앱을 최적화하고 네트워크 사용을 최소화해야 합니다.
  • 작은 배터리는 전력이 제한적입니다. 기기가 기본 CPU에서 오디오 처리를 실행할 때와 기기의 LTE 신호가 약할 때 배터리가 더 빨리 소모됩니다. 전력을 절약할 수 있도록 오디오 오프로드 지원을 추가합니다.
  • 기기는 사용자가 앱에 다시 참여할 수 있도록 여러 UI 표시 경로를 제공합니다. 이러한 표시 경로에 앱의 기능을 표시하세요.

블루투스 스피커 또는 헤드폰 사용하기

워치 스피커는 통화 및 가이드 활동에 사용할 수 있지만 미디어 콘텐츠를 듣는 데는 최적의 환경을 제공하지 않습니다.

최상의 사용자 환경을 제공하려면 앱에서 미디어 도구 키트를 사용하여 블루투스 헤드폰이나 스피커가 시계에 연결되어 있을 때 오디오를 재생하도록 할 수 있습니다.

미디어 도구 키트는 ExoPlayer 인스턴스를 장식하고 소리가 나기 전에 실수로 재생되는 것을 사전에 중지하는 특정 Media3 확장 프로그램을 제공합니다.

네트워크 상태에 맞게 최적화

미디어 앱이 시계에서 제대로 작동하려면 다음과 같은 스트리밍 고려사항과 네트워크 상태를 선택해야 합니다.

  • 스트리밍에 낮은 비트 전송률(예: 48kbps)과 코덱(예: AAC 및 MP3)을 선택하여 콘텐츠를 최적화합니다.
  • 연결이 일시적으로 끊겼을 때 재생을 계속할 수 있도록 이미지 및 트랙의 미리 가져오기 전략을 최적화합니다.
  • Wi-Fi, LTE, 블루투스를 사용하여 휴대전화에 연결된 시계 등 모든 네트워크 구성에서 앱을 테스트합니다. 시계가 네트워크 간에 전환될 때 어떤 일이 발생하는지도 테스트합니다.

Wear OS 미디어 도구 키트는 특정 작업에 더 나은 연결을 선택할 수 있는 네트워크 인식 모듈을 제공하는 등 성능이 우수한 앱의 기반을 빌드하는 데 도움이 됩니다.

오디오 오프로드 사용 설정

Wear OS 앱의 성능을 개선하고 전력 소비를 줄이려면 오디오 오프로드를 사용하세요. 오디오 처리를 CPU에서 전용 신호 프로세서로 오프로드할 수 있습니다. 미디어 도구 키트는 AudioOffloadManager를 통해 지원을 제공합니다.

특정 오디오 형식에 오디오 오프로드가 지원되는지 확실하지 않으면 AudioManager.isOffloadedPlaybackSupported() 메서드를 사용합니다. 자세한 내용은 Exoplayer 문서를 참고하세요.

꼭 필요한 경우가 아니면 네트워크 연결을 피합니다.

Wear OS용으로 개발할 때는 사용자의 네트워크 연결이 제한적일 수 있다고 예상할 수 있습니다. MediaDownloadService를 사용하면 사용자가 안정적이고 성능이 우수한 다운로드를 통해 이동 중에도 미디어를 재생할 수 있습니다.

이 도구 키트를 사용하면 Media3의 DownloadManager와 AndroidX WorkManager를 사용하여 다운로드를 예약함으로써 미디어 다운로드를 더 효율적으로 최적화할 수 있습니다.

Media3는 필요한 모든 알림과 포그라운드 서비스를 시작합니다. 샘플 앱 코드는 Wi-Fi 연결을 사용할 수 있을 때 다운로드를 실행하도록 WorkManager를 구성하여 성능을 개선합니다. 네트워크 인식 모듈을 사용하면 개발자가 네트워크 작업을 네트워크 유형에 매핑할 수 있습니다.

사용자에게 진행 중인 미디어 재생 알리기

Wear OS 3 이상에서는 진행 중인 알림이 Wear OS 사용자 인터페이스 내의 여러 노출 영역에 표시될 수 있습니다. 진행 중인 활동 알림을 탭하면 앱이 플레이어 화면을 엽니다.

Media3를 사용하면 Wear OS는 앱을 여는 인텐트가 있는 미디어 앱의 진행 중인 활동을 자동으로 생성합니다. 이를 통해 사용자는 미디어 재생과 같은 장기 실행 활동에 더 많이 참여할 수 있습니다.