アプリを良い方向に変える
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
この記事では、メディアアプリが「開始候補」から「最高水準」に至る最適な状態について説明します。時間の経過に伴うアプリのスケーリングや、いつどの機能を実装するかを検討する際に役立つよう設計されています。メディアアプリはそれぞれ異なりますが、最高水準のアプリを実現するには以下の推奨事項を検討してください。
基本的なメディアアプリは、次のような基本的なエクスペリエンスをユーザーに提供します。
- アプリ内コンテンツのブラウジングと検出を提供する
- 再生コントロール付きのアプリ内メディア プレーヤーを提供する
- Android エコシステム全体でサポートされている形式を使用する
- おすすめの方法を実装する(Jetpack Media3 ライブラリの最新バージョンを使用するなど)
- ユーザー補助への投資
優れたメディアアプリは、ユーザーがどこにいてもリーチし、エンゲージメントを高めるためにリーチを広げ始めています。また、以下を含む、より包括的なアプリの改善も検討できます。
最高水準のメディアアプリは、前述の推奨事項に基づいて構築され、シームレスなマルチデバイス エクスペリエンスをユーザーに提供します。以下はその例です。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
[null,null,["最終更新日 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"]]