앱을 우수에서 우수로 발전시키세요
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 문서에서는 가능성이 높은 시작 지점에서 업계 최고 수준까지 미디어 앱의 최적 진행 과정을 보여줍니다. 시간 경과에 따라 앱을 확장하는 방법과 언제 어떤 기능을 구현할지 고려하는 데 도움이 되도록 설계되었습니다. 미디어 앱마다 다르긴 하지만 최고의 앱을 만들기 위한 권장사항을 고려하세요.
기본 미디어 앱은 사용자에게 다음과 같은 기본 환경을 제공합니다.
- 인앱 콘텐츠 탐색 및 탐색 기능 제공
- 재생 컨트롤이 있는 인앱 미디어 플레이어 제공
- Android 생태계에서 지원되는 형식 사용
- 권장사항 구현(예: 최신 버전의 Jetpack Media3 라이브러리 사용)
- 접근성에 대한 투자
더 나은 미디어 앱은 도달범위가 확대되어 사용자가 있는 곳에 도달하고 참여도를 높이기 시작합니다. 다음과 같이 앱의 보다 전체적인 개선을 고려할 수도 있습니다.
업계 최고의 미디어 앱은 이전 권장사항을 기반으로 빌드되어 사용자를 위한 원활한 멀티스크린 환경을 만들며, 여기에는 다음이 포함될 수 있습니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Take your app from good to better to best\n\nThis article charts the optimal progression of a media app from a likely\nstarting place to best-in-class. It's designed to\nhelp you think about scaling your app over time, and what features to implement\nwhen. While every media app is different, consider these recommendations to\nachieve a best-in-class app.\n\nBasic media app\n---------------\n\nA basic media app provides users with a foundational experience, which may\ninclude:\n\n- Offering in-app content browsing and discovery\n- Offering an in-app media player with playback controls\n- Using [formats](/guide/topics/media/media-formats) that are supported across the Android ecosystem\n- Implementing best practices, such as using the latest version of the [Jetpack Media3](/guide/topics/media/media3) library\n- Investing in [accessibility](/guide/topics/ui/accessibility)\n\nBetter media app\n----------------\n\nA better media app starts to grow its reach to meet users where they are and\nincrease engagement. You may also start to consider more holistic improvements\nin your app, which may include:\n\n- Using [ExoPlayer](/guide/topics/media/exoplayer) for advanced and customized playback features, such as using native platform [digital rights management](/guide/topics/media/exoplayer/drm) capabilities to protect content\n- Implementing a [`MediaSession`](/guide/topics/media/media3/getting-started/mediasession) to enable playback integration with external Android clients\n- Adding support for form factors such as [system media controls](/media/implement/surfaces/mobile) on mobile and large screen devices, [Wear OS](/training/wearables/apps/audio), [Android TV](/training/tv/playback), and [Android Auto](/training/cars/media)\n- Integrating with media resumption features, such as [Watch Next](/training/tv/discovery/watch-next-add-programs) on Android TV and [media controls](/media/implement/surfaces/mobile) on mobile and large screen devices\n- Enabling [picture-in-picture](/develop/ui/views/picture-in-picture) so users can multi-task\n- Improving [accessibility](/guide/topics/ui/accessibility) for all, such as by adding [subtitles](/guide/topics/media/exoplayer/media-items#sideloading_subtitle_tracks)\n- Supporting playback to [Cast](https://developers.google.com/cast/docs/developers) devices\n- Using [Google Play Billing](/google/play/billing) to handle subscriptions\n\nBest-in-class media app\n-----------------------\n\nA best-in-class media app builds on the previous recommendations to create a\nseamless multidevice experience for users, which may include:\n\n- Leveraging premium device capabilities by streaming [HDR](/media/grow/hdr-playback) and [spatial audio](/media/grow/spatial-audio) content when possible, and gracefully falling-back as necessary\n- Enabling [media downloading](/guide/topics/media/exoplayer/downloading-media) and offline playback\n- Optimizing for foldables by supporting the [`HALF_OPENED` state](/develop/ui/compose/layouts/adaptive/foldables/learn-about-foldables#foldable_postures)\n- Testing and refining voice assistant integrations, such as with [Google Assistant](/media/implement/assistant)\n- Investing in performance on lower-powered devices, for example by leveraging [performance class](/topic/performance/performance-class)\n- Supporting [Better Together](https://www.android.com/better-together) use cases, such as [Nearby Connections](https://developers.google.com/nearby/connections/overview)\n- Ensuring [design](/design/ui) consistency with the platform\n- Investing in seamless identity across surfaces such as [One Tap](https://developers.google.com/identity/one-tap/android/overview) and [account linking](https://developers.google.com/identity/account-linking)\n- Offering [frictionless subscriptions](https://www.youtube.com/watch?v=ARuf97ncE4w)\n- Implementing [Cast Connect](https://developers.google.com/cast/docs/android_tv_receiver) so users can cast to your native Android TV app"]]