让您的应用从优劣到极佳
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
本文介绍了媒体应用从可能的起点发展到一流水准的最佳进展。它旨在帮助您考虑随着时间的推移扩展应用,以及何时实现哪些功能。虽然每款媒体应用都不尽相同,但请考虑以下建议,打造一流的应用。
基本媒体应用可为用户提供基础体验,其中可能包括:
更出色的媒体应用会开始扩大其覆盖面,以随时随地触达用户并提高互动度。您还可以开始考虑对您的应用进行更全面的改进,其中可能包括:
出色的媒体应用以上述建议为基础,旨在为用户打造顺畅的多设备体验,其中可能包括:
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-27。
[null,null,["最后更新时间 (UTC):2025-07-27。"],[],[],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"]]