Checklist aplikasi TV
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Pengguna akan menikmati pengalaman aplikasi TV yang konsisten, logis, dan dapat diprediksi.
Pengguna harus dapat melakukan navigasi dalam aplikasi Anda dan di seluruh Android TV tanpa kesulitan atau
harus "mengatur ulang" UI dan memulai dari awal. Pengguna akan menghargai antarmuka yang jelas, penuh warna, dan fungsional
yang menjadikan pengalaman terasa istimewa. Dengan ide ini, Anda dapat membuat aplikasi yang cocok di Android TV dan berfungsi sesuai dengan ekspektasi pengguna.
Checklist ini mencakup aspek-aspek utama pengembangan untuk aplikasi dan game
guna membantu memastikan bahwa aplikasi Anda memberikan pengalaman terbaik. Pertimbangan tambahan
khusus untuk game dibahas di bagian Game.
Untuk kriteria yang memenuhi syarat aplikasi Android TV untuk didistribusikan melalui Google Play, lihat
Kualitas aplikasi TV.
Dukungan faktor bentuk TV
Item checklist ini berlaku untuk game dan aplikasi.
-
Identifikasi aktivitas TV utama dengan filter
CATEGORY_LEANBACK_LAUNCHER
dalam manifes.
-
Berikan banner layar utama
untuk setiap bahasa yang didukung aplikasi Anda, dengan karakteristik berikut:
- Banner berukuran 320x180 px.
- Resource banner berada di direktori
drawables/xhdpi
.
- Gambar banner mencakup teks yang dilokalkan untuk mengidentifikasi aplikasi.
-
Pertimbangkan apakah aplikasi Anda perlu mencegah perangkat memasuki
Mode Standby.
Hal ini sangat relevan untuk aplikasi pemutaran media.
-
Jangan mendeklarasikan persyaratan untuk hardware yang mungkin tidak didukung.
-
Pastikan izin Anda tidak berisi persyaratan hardware.
Desain antarmuka pengguna
Item checklist ini berlaku untuk game dan aplikasi.
Penelusuran dan penemuan konten
Item checklist ini berlaku untuk game dan aplikasi.
-
Berikan hasil penelusuran dari aplikasi Anda di kotak penelusuran global Android TV.
-
Berikan kolom data spesifik TV untuk penelusuran.
-
Pastikan aplikasi Anda menyajikan konten yang ditemukan di layar detail yang memungkinkan pengguna untuk langsung mulai menonton
konten.
Layar utama TV
Item checklist berikut berlaku untuk tata letak dan konten layar utama.
Saluran
- Berikan nama yang relevan untuk mereferensikan konten saluran. Jangan gunakan nama aplikasi Anda sebagai nama channel.
- Jangan ubah nama channel kecuali ada interaksi dengan pengguna.
- Sertakan ikon terkait untuk setiap saluran. Ikon tidak harus berupa ikon yang tepat untuk aplikasi Anda; ikon boleh berupa representasi konten bermerek di saluran tersebut.
- Buat setiap saluran unik, dan jangan meniru fungsi baris Mainkan Berikutnya.
Misalnya, mengizinkan pengguna melanjutkan video dari menit terakhir yang ditonton sebelumnya bukanlah penggunaan yang valid untuk saluran.
Konten dalam channel
- Batasi setiap program dalam satu saluran ke satu konten. Suatu program tidak boleh berisi koleksi video.
- Jangan gunakan program untuk pesan promosi atau iklan.
- Sertakan deskripsi yang sesuai untuk setiap program, dan petakan metadata-nya dengan benar. Misalnya,
peringkat konten tidak boleh muncul di tempat judul seharusnya muncul.
- Jangan memangkas atau meregangkan gambar pratinjau yang mewakili konten program. Gambar harus sesuai dengan salah satu rasio aspek yang tersedia.
- Mulai putar program segera setelah pengguna memilihnya.
Mainkan Berikutnya
- Jangan menambahkan konten ke baris Mainkan Berikutnya kecuali ada interaksi dengan pengguna. Misalnya, Anda dapat
menambahkan episode berikutnya dalam serial yang sedang ditonton pengguna, tetapi jangan menambahkan
serial terkait tetapi berbeda setelah pengguna menyelesaikan serial saat ini.
- Batasi konten Mainkan Berikutnya untuk acara TV, film, atau acara tradisional. Jangan menambahkan klip ke baris Mainkan Berikutnya.
Aplikasi pemutaran
Item checklist ini berlaku untuk aplikasi yang melakukan pemutaran media.
Game
Item checklist ini berlaku untuk game.
-
Tetapkan tanda
isGame
dalam manifes agar game Anda muncul
di bagian game di
layar utama.
-
Pastikan dukungan pengontrol
game tidak bergantung pada tombol Mulai, Pilih, atau Menu. Tidak semua
pengontrol memiliki tombol ini.
-
Gunakan grafis gamepad generik, tanpa branding pengontrol tertentu, untuk menampilkan
pemetaan tombol game.
-
Periksa konektivitas ethernet dan Wi-Fi.
-
Berikan cara yang jelas bagi pengguna untuk keluar dari aplikasi Anda.
Mendistribusikan ke Android TV
Untuk mempelajari cara mendistribusikan ke Android TV, lihat
panduan mendetail untuk memublikasikan aplikasi TV di Google
Play.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[null,null,["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# TV apps checklists\n\nUsers enjoy the TV app experience when it is consistent, logical, and predictable.\nThey should be able to navigate within your app and throughout Android TV without getting lost or\nhaving to \"reset\" the UI and start over. Users appreciate clear, colorful, and functional interfaces\nthat make the experience magical. With these ideas in mind, you can create an app that fits nicely\nin Android TV and performs as users expect.\n\n\nThese checklists cover the main aspects of development for both apps and games\nto help ensure that your app provides the best possible experience. Additional considerations\nfor games only are covered in the [Games](#games) section.\n\n\nFor the criteria that qualify an Android TV app to be distributed through Google Play, see\n[TV app quality](/docs/quality-guidelines/tv-app-quality).\n\nTV form factor support\n----------------------\n\nThese checklist items apply to games and apps.\n\n- Identify the [main TV activity](/training/tv/get-started/create#tv-activity) with the [CATEGORY_LEANBACK_LAUNCHER](/reference/android/content/Intent#CATEGORY_LEANBACK_LAUNCHER) filter in the manifest.\n- Provide a [home screen banner](/training/tv/get-started/create#banner) for each language supported by your app, with the following characteristics:\n - Banner measures 320x180 px.\n - Banner resource is in the `drawables/xhdpi` directory.\n - Banner image includes localized text to identify the app.\n- Consider whether your app needs to prevent the device from entering [Ambient Mode](/training/tv/playback/ambient-mode). This is particularly relevant for media [playback apps](#playback-apps).\n- Don't [declare a requirement](/training/tv/get-started/hardware#declare-hardware-requirements) for hardware that might be unsupported.\n- Make sure your [permissions](/training/tv/get-started/hardware#hardware-permissions) don't imply hardware requirements.\n\nUser interface design\n---------------------\n\nThese checklist items apply to games and apps.\n\n- Specify activities with landscape orientation by setting `android:`[screenOrientation](/guide/topics/manifest/activity-element#screen)`=\"landscape\"`.\n- Provide appropriate [layout resources](/training/tv/playback/leanback/layouts#structure) for landscape mode.\n- Make sure that [text and controls](/training/tv/playback/leanback/layouts#visibility) are large enough to be visible from a distance.\n- Provide [high-resolution bitmaps and icons](/training/tv/playback/leanback/layouts#density-resources) for HDTV screens.\n- Make sure your icons and logo conform to Android TV specifications.\n- Allow for [overscan](/training/tv/playback/leanback/layouts#overscan) in your layout.\n- When actively playing user-initiated media playback, prevent the device from entering [Ambient Mode](/training/tv/playback/ambient-mode).\n- Make sure every UI element works with both D-pad and game controllers. See [TV navigation](/training/tv/get-started/navigation) and [Handle TV hardware](/training/tv/get-started/hardware#controllers).\n- Change the [background image](/training/tv/playback/leanback/browse#background) as users browse through content.\n- Customize the [background color](/training/tv/playback/leanback/card) to match your branding in Leanback fragments.\n- Make sure that your UI does not require a touchscreen. See [Touchscreen](/training/tv/get-started/hardware#no-touchscreen) and [Declare touchscreen not required](/training/tv/get-started/create#no-touchscreen).\n- Follow the [guidelines for effective advertising](/training/tv/playback/leanback/layouts#advertising).\n- To guide the user through a series of decisions, use the Leanback library's [guided step API](/training/tv/playback/leanback/guided-step).\n\nSearch and content discovery\n----------------------------\n\nThese checklist items apply to games and apps.\n\n- Provide [search results](/training/tv/discovery/searchable#provide) from your app in the Android TV global search box.\n- Provide TV-specific [data fields](/training/tv/discovery/searchable#columns) for search.\n- Make sure your app presents discovered content in a [details screen](/training/tv/discovery/searchable#details) that lets the user start watching the content immediately.\n\nTV home screen\n--------------\n\n\nThese checklist items apply to the layout and content of the [home screen](/training/tv/discovery/recommendations-channel).\n\n### Channels\n\n- Provide a meaningful name that represents the channel's content. Don't use your app's name as a channel name.\n- Don't change the channel name unless there is some interaction with the user.\n- Include an associated icon for each channel. The icon doesn't need to be your app's exact icon; it can be a branded representation of the content in the channel.\n- Make each channel unique, and don't mimic the functionality of the Play Next row. For example, letting users continue watching where they left off in a video is not a valid use for a channel.\n\n### Content in channels\n\n- Limit each program in a channel to a single piece of content. A program must not contain a collection of videos.\n- Don't use programs for promotional messages or ads.\n- Include a suitable description for each program, and map its metadata correctly. For example, the content rating must not appear where the title is expected.\n- Don't crop or stretch preview images representing program content. They must fit one of the available [aspect ratios](/training/tv/discovery/preview-videos).\n- Start playing a program as soon as the user selects it.\n\n### Play Next\n\n- Don't add content to the Play Next row unless the user has been interacting with it some way. For example, you can add the next episode in a series that the user is currently watching, but don't add a related but different series when the user completes the current series.\n- Limit Play Next content to traditional TV shows, movies, or events. Don't add clips to the Play Next row.\n\nPlayback apps\n-------------\n\nThese checklist items apply to apps that perform media playback.\n\n- [Register a media session](/guide/topics/media-apps/working-with-a-media-session) to inform the platform of media playback state and to let playback controls be delegated to the app.\n- Set the [`FLAG_KEEP_SCREEN_ON`](/reference/android/view/WindowManager.LayoutParams#FLAG_KEEP_SCREEN_ON) flag while video is playing on the screen to [prevent the\n device from entering standby or Ambient Mode during playback](/training/tv/playback/ambient-mode#preventing-ambient-mode).\n- Validate that media commands accurately expose metadata and control playback using [Media Controller Test](https://github.com/googlesamples/android-media-controller) and the [Media Session\n Validator](https://developers.google.com/cast/docs/android_tv_receiver/mediasession_validator).\n- Comply with the [Ambient mode-related quality\n guidelines.](/docs/quality-guidelines/tv-app-quality#ambient-mode) Ambient Mode keeps users quietly entertained between watch sessions and prevents screen burn in.\n- Profile your app's memory and make sure to check [`ActivityManager.isLowRamDevice()`](/reference/android/app/ActivityManager#isLowRamDevice()) for discovering low-RAM devices. For those devices, you must follow the requirements in the [Optimize memory usage guidelines](/training/tv/playback/memory).\n\nGames\n-----\n\nThese checklist items apply to games.\n\n- Set the `isGame` flag in the manifest so that your game appears in the games section of the [home screen](/training/tv/games#Launcher).\n- Make sure [game controller\n support](/training/tv/games#control) doesn't depend on the Start, Select, or Menu buttons. Not all controllers have these buttons.\n- Use a generic gamepad graphic, without specific controller branding, to show [game button mappings](/training/tv/games#control).\n- Check for both ethernet and Wi-Fi [connectivity](/training/basics/network-ops/reading-network-state).\n- Provide users with a clean way to [exit](/training/tv/games#exit) your app.\n\nDistribute to Android TV\n------------------------\n\n\nTo learn how to distribute to Android TV, see the\n[detailed guide for publishing TV apps on Google\nPlay](/training/tv/publishing/distribute)."]]