Aplikasi TV menggunakan struktur yang sama dengan aplikasi untuk ponsel dan tablet. Kesamaan ini berarti Anda dapat memodifikasi aplikasi yang sudah ada agar juga berjalan di perangkat TV atau membuat aplikasi baru berdasarkan apa yang sudah Anda ketahui tentang cara membangun aplikasi untuk Android.
Penting: Aplikasi Anda harus memenuhi persyaratan tertentu agar memenuhi syarat sebagai aplikasi Android TV di Google Play. Untuk mengetahui informasi selengkapnya, lihat persyaratan yang tercantum di Kualitas aplikasi TV.
Panduan ini menjelaskan cara menyiapkan lingkungan pengembangan untuk membangun aplikasi TV dan perubahan minimum yang diperlukan untuk memungkinkan aplikasi berjalan di perangkat TV.
Untuk mengetahui informasi tentang mendesain aplikasi untuk TV, lihat Desain untuk TV. Lihat juga aplikasi contoh di repositori GitHub Android TV.
Menentukan dukungan format media
Lihat dokumentasi berikut untuk mengetahui informasi tentang codec, protokol, dan format yang didukung oleh Android TV:
Menyiapkan project TV
Bagian ini membahas cara menyiapkan project TV, baik Anda memodifikasi aplikasi Android yang ada agar berjalan di perangkat TV maupun membuat aplikasi TV baru. Jika Anda memiliki aplikasi Android yang ada, menambahkan dukungan Android TV memungkinkan Anda mendesain antarmuka pengguna untuk TV sambil menggunakan kembali arsitektur aplikasi yang ada.
Ada dua komponen utama yang Anda gunakan saat membuat aplikasi yang berjalan di perangkat TV:
- Aktivitas untuk TV: Dalam manifes aplikasi Anda, deklarasikan aktivitas yang ditujukan untuk dijalankan di perangkat TV.
- Library TV: Secara opsional, sertakan satu atau beberapa library AndroidX yang tersedia untuk perangkat TV, yang tercantum di bagian lain dalam panduan ini. Library ini menyediakan widget untuk membangun antarmuka pengguna.
Prasyarat
Sebelum mulai membuat aplikasi untuk TV, Anda harus melakukan langkah-langkah berikut:
-
Update alat SDK Anda ke versi 24.0.0 atau yang lebih tinggi.
Alat SDK yang diupdate memungkinkan Anda membuat dan menguji aplikasi untuk TV. - Update SDK Anda dengan Android 5.0 (API 21) atau yang lebih tinggi.
Versi platform yang diupdate menyediakan API baru untuk aplikasi TV. -
Buat atau perbarui project aplikasi Anda.
Untuk mengakses API baru untuk perangkat TV, buat project atau ubah project yang ada yang menargetkan Android 5.0 (level API 21) atau yang lebih tinggi.
Mendeklarasikan aktivitas TV
Aplikasi yang ditujukan untuk dijalankan di perangkat TV harus mendeklarasikan aktivitas peluncur untuk TV
dalam manifesnya. Tindakan ini menggunakan filter
intent CATEGORY_LEANBACK_LAUNCHER untuk melakukannya. Filter ini mengidentifikasi aplikasi Anda sebagai aplikasi yang diaktifkan untuk TV dan memungkinkan Google Play mengidentifikasinya sebagai aplikasi TV. Saat pengguna memilih aplikasi Anda di layar utama TV, intent ini mengidentifikasi aktivitas mana yang akan diluncurkan.
Cuplikan kode berikut menunjukkan cara menyertakan filter intent ini dalam manifes:
<application android:banner="@drawable/banner" > ... <activity android:name="com.example.android.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.android.TvActivity" android:label="@string/app_name" android:theme="@style/Theme.Leanback"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity> </application>
Entri manifes aktivitas kedua dalam contoh ini menentukan bahwa aktivitas tersebut adalah aktivitas yang akan diluncurkan di perangkat TV.
Perhatian: Jika Anda tidak menyertakan
filter intent CATEGORY_LEANBACK_LAUNCHER di
aplikasi, aplikasi tidak akan terlihat oleh pengguna yang menjalankan Google Play di perangkat TV. Selain itu, jika
aplikasi Anda tidak memiliki filter ini saat Anda menggunakan alat developer untuk memuatnya ke perangkat TV, aplikasi
tidak akan muncul di antarmuka pengguna TV.
Antarmuka pengguna aplikasi TV Anda, atau bagian TV dari aplikasi yang ada, harus menyediakan navigasi intuitif menggunakan remote control dari jarak 3 meter. Jika Anda mengubah aplikasi yang ada untuk digunakan di TV, jangan gunakan tata letak aktivitas yang sama untuk TV dengan yang Anda gunakan untuk ponsel dan tablet. Untuk mengetahui panduan tentang mendesain aplikasi untuk TV, lihat Desain untuk TV.
Mendeklarasikan dukungan perangkat TV
Nyatakan bahwa aplikasi Anda dibuat untuk Android TV dengan mendeklarasikan fitur
android.software.leanback.
Jika aplikasi Anda berjalan di perangkat seluler dan TV, tetapkan nilai atribut required ke
false. Jika Anda menetapkan nilai atribut required ke true,
Google Play hanya akan menyediakan aplikasi Anda di Android TV OS.
<manifest> <uses-feature android:name="android.software.leanback" android:required="false" /> ... </manifest>
Tidak perlu mendeklarasikan layar sentuh
Aplikasi yang ditujukan untuk berjalan di perangkat TV tidak mengandalkan layar sentuh untuk input.
Untuk memperjelas hal ini, manifes aplikasi TV Anda harus menyatakan bahwa fitur
android.hardware.touchscreen tidak diperlukan. Setelan ini mengidentifikasi aplikasi Anda sebagai
dapat berfungsi di perangkat TV, dan diperlukan agar aplikasi Anda dianggap sebagai aplikasi TV di Google
Play. Contoh kode berikut menunjukkan cara menyertakan deklarasi manifes ini:
<manifest> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> ... </manifest>
Perhatian: Dalam manifes aplikasi, Anda harus menyatakan bahwa layar sentuh tidak diperlukan, seperti yang ditunjukkan dalam contoh kode ini. Jika tidak, aplikasi Anda tidak akan muncul di Google Play di perangkat TV.
Menyediakan ikon dan banner layar utama
Aplikasi Android TV harus menyediakan ikon layar utama dan gambar banner untuk setiap pelokalan. Bergantung pada perangkat Android TV, ikon atau banner digunakan sebagai titik peluncuran aplikasi yang muncul di layar utama pada baris aplikasi dan game.
Untuk menambahkannya ke aplikasi Anda, jelaskan ikon dan banner dalam manifes sebagai berikut:
<application ... android:icon="@mipmap/ic_launcher" android:banner="@drawable/banner" > ... </application>
Ikon layar utama
Aplikasi Android TV, seperti semua aplikasi Android, harus menyediakan ikon layar utama. Untuk praktik terbaik dalam mendesain titik peluncuran yang bagus untuk aplikasi Anda dan persyaratan aset yang mendetail, lihat panduan ikon dan banner aplikasi Android TV.
Banner layar utama
Gunakan atribut android:banner
dengan tag <application>
untuk menyediakan banner default bagi semua aktivitas aplikasi, atau dengan tag
<activity>
untuk menyediakan banner bagi aktivitas tertentu.
Untuk banner, gunakan resource xhdpi dengan ukuran 320 x 180 px. Teks harus disertakan dalam gambar. Jika aplikasi Anda tersedia dalam lebih dari satu bahasa, Anda harus menyediakan versi banner terpisah dengan teks untuk setiap bahasa yang didukung.
Mengubah warna peluncur
Perhatian: Di Android 12 dan yang lebih tinggi, animasi layar pembuka kustom yang dibuat menggunakan
SplashScreen platform API tidak didukung untuk aplikasi Android TV.
Saat aplikasi TV diluncurkan, sistem akan menampilkan animasi yang menyerupai lingkaran yang terisi dan meluas. Untuk menyesuaikan warna animasi ini, tetapkan atribut android:colorPrimary
aplikasi TV atau aktivitas TV Anda ke warna tertentu. Selain itu, tetapkan dua
atribut tumpang-tindih transisi ke true seperti yang ditunjukkan dalam cuplikan berikut dari
file XML resource tema:
<resources> <style name="MyTheme"> <item name="android:colorPrimary">@color/primary</item> <item name="android:windowAllowReturnTransitionOverlap">true</item> <item name="android:windowAllowEnterTransitionOverlap">true</item> </style> </resources>
Untuk mengetahui informasi selengkapnya tentang cara menggunakan tema dan gaya, lihat Gaya dan Tema.
Membangun aplikasi untuk Android TV OS
Jetpack menyertakan library paket androidx untuk digunakan dengan aplikasi TV.
Compose untuk TV
Compose adalah cara yang direkomendasikan untuk membangun aplikasi untuk Android TV OS. Selain library Compose inti, library Compose untuk TV menyediakan komponen khusus yang dirancang khusus untuk layar TV:
Pelajari cara membuat aplikasi TV menggunakan Compose untuk TV di Menggunakan Jetpack Compose di Android TV.
Toolkit UI Leanback
Toolkit UI Leanback menyediakan API dan widget antarmuka pengguna untuk perangkat TV:
androidx.leanback.appandroidx.leanback.databaseandroidx.leanback.graphicsandroidx.leanback.mediaandroidx.leanback.preferenceandroidx.leanback.systemandroidx.leanback.widgetandroidx.leanback.widget.picker
Temukan cara membuat aplikasi TV menggunakan toolkit UI Leanback di Membangun aplikasi pemutaran TV.
Menjalankan aplikasi TV
Menjalankan aplikasi merupakan bagian penting dari proses pengembangan. Anda dapat menjalankan aplikasi di perangkat TV yang dikonfigurasi untuk mendukung proses debug USB atau menggunakan perangkat TV virtual.
Menjalankan di perangkat fisik
Persiapkan perangkat TV Anda sebagai berikut:
- Gunakan kabel USB untuk menghubungkan perangkat TV ke mesin pengembangan. Jika perlu, lihat dokumentasi yang disediakan oleh produsen perangkat Anda.
- Di perangkat TV, navigasikan ke Settings.
- Di baris Device, pilih About.
- Scroll ke Build dan pilih Build beberapa kali hingga Anda mendapatkan pesan "Sekarang Anda adalah developer".
- Kembali ke Settings. Di baris Preferences, pilih Developer options.
- Pilih Debugging > USB debugging lalu pilih On.
- Kembali ke layar utama TV.
Untuk menguji aplikasi di perangkat TV Anda:
- Di Android Studio, pilih project Anda, lalu klik
Run
dari toolbar. - Di jendela Select Deployment Target, pilih perangkat TV Anda, lalu klik OK.
Menjalankan di perangkat virtual
AVD Manager di Android SDK menyediakan definisi perangkat yang memungkinkan Anda membuat perangkat TV virtual untuk menjalankan dan menguji aplikasi.
Untuk membuat perangkat TV virtual:
- Mulai AVD Manager. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola perangkat virtual.
- Dalam dialog AVD Manager, klik tab Device Definitions.
- Pilih salah satu definisi perangkat Android TV, lalu klik Create AVD.
- Pilih opsi emulator, lalu klik OK untuk membuat AVD.
Catatan: Untuk performa terbaik perangkat emulator TV, gunakan emulator x86 dan aktifkan opsi Gunakan GPU Host. Gunakan juga akselerasi perangkat virtual jika tersedia. Untuk mengetahui informasi selengkapnya tentang akselerasi hardware emulator, lihat Mengonfigurasi akselerasi hardware untuk Android Emulator.
Untuk menguji aplikasi Anda di perangkat TV virtual:
- Di Android Studio, pilih project Anda, lalu klik
Run
dari toolbar. - Di jendela Select Deployment Target, pilih perangkat TV virtual Anda, lalu klik OK.
Untuk mengetahui informasi selengkapnya tentang penggunaan emulator, lihat Menjalankan aplikasi di Android Emulator. Untuk mengetahui informasi selengkapnya tentang men-deploy aplikasi dari Android Studio ke perangkat virtual, lihat Men-debug aplikasi Anda.
Mengaktifkan aplikasi TV Anda agar berjalan sebagai pengalaman instan
Pengalaman instan memungkinkan pengguna mencoba aplikasi TV Anda tanpa menginstalnya dan dapat membantu meningkatkan adopsi.
Untuk menyiapkan aplikasi TV agar berjalan sebagai aplikasi instan di perangkat Android TV atau emulator, ikuti terlebih dahulu petunjuk untuk membuat app bundle yang diaktifkan secara instan.
Selanjutnya, di intent-filter untuk
MainActivity aplikasi TV Anda, pastikan LAUNCHER dan
LEANBACK_LAUNCHER dideklarasikan di AndroidManifest.xml:
<activity android:name="com.example.android.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity>
Aplikasi TV Anda kini dikonfigurasi untuk berjalan sebagai pengalaman instan.
Menyiapkan aplikasi TV untuk dipublikasikan
Tinjau checklist Aplikasi TV untuk mengetahui langkah selanjutnya dalam menyiapkan aplikasi TV Anda untuk publikasi dan distribusi.