Aplikasi TV menggunakan struktur yang sama dengan aplikasi untuk ponsel dan tablet. Dengan demikian, Anda dapat memodifikasi aplikasi yang sudah ada agar juga berjalan di perangkat TV atau membuat aplikasi baru berdasarkan hal-hal yang sudah Anda ketahui tentang membuat aplikasi untuk Android.
Penting: Aplikasi Anda harus memenuhi persyaratan khusus agar memenuhi syarat sebagai aplikasi Android TV di Google Play. Untuk informasi selengkapnya, lihat persyaratan yang tercantum dalam Kualitas aplikasi TV.
Panduan ini menjelaskan cara menyiapkan lingkungan pengembangan untuk membuat aplikasi TV dan perubahan minimum yang diperlukan agar aplikasi dapat berjalan di perangkat TV.
Untuk mengetahui informasi cara mendesain aplikasi untuk TV, lihat Mendesain aplikasi untuk TV. Lihat juga aplikasi contoh di Repositori GitHub Android TV.
Menentukan dukungan format media
Lihat dokumentasi berikut untuk 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 untuk berjalan di perangkat TV atau membuat aplikasi TV baru. Jika Anda sudah memiliki aplikasi Android, menambahkan dukungan Android TV memungkinkan Anda mendesain antarmuka pengguna untuk TV sambil menggunakan kembali arsitektur aplikasi yang ada.
Mendeklarasikan aktivitas TV
Aplikasi yang dimaksudkan untuk berjalan di perangkat TV harus mendeklarasikan aktivitas peluncur untuk TV
dalam manifesnya. Fungsi ini menggunakan filter intent CATEGORY_LEANBACK_LAUNCHER
untuk melakukannya. Filter ini mengidentifikasi aplikasi Anda sebagai diaktifkan untuk TV dan memungkinkan
Google Play mengidentifikasinya sebagai aplikasi TV. Saat pengguna memilih aplikasi Anda di layar utama TV mereka,
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 menetapkan bahwa itu adalah aktivitas yang akan diluncurkan di perangkat TV.
Perhatian: Jika Anda tidak menyertakan
filter intent CATEGORY_LEANBACK_LAUNCHER
dalam
aplikasi, aplikasi tidak akan terlihat oleh pengguna yang menjalankan Google Play di perangkat TV. Selain itu, jika aplikasi
Anda tidak memiliki filter ini saat menggunakan alat developer untuk memuatnya ke perangkat TV, aplikasi
tidak akan muncul di antarmuka pengguna TV.
Antarmuka pengguna aplikasi TV, atau bagian TV dari aplikasi yang ada, harus menyediakan antarmuka yang sederhana untuk memudahkan navigasi menggunakan remote control dari jarak 3 meter. Jika Anda memodifikasi aplikasi yang ada untuk digunakan di TV, jangan gunakan tata letak aktivitas yang sama untuk TV seperti yang Anda gunakan untuk ponsel dan tablet. Untuk panduan mendesain aplikasi untuk TV, lihat Mendesain untuk TV. Untuk mengetahui informasi selengkapnya tentang persyaratan implementasi minimum untuk tata letak antarmuka di TV, lihat Membangun tata letak TV.
Mendeklarasikan dukungan perangkat TV
Deklarasikan bahwa aplikasi Anda dibuat untuk Android TV dengan mendeklarasikan
fitur android.software.leanback
.
Jika aplikasi Anda berjalan di perangkat seluler dan TV, setel 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 dimaksudkan untuk berjalan di perangkat TV tidak bergantung pada layar sentuh untuk input.
Untuk memperjelas, manifes aplikasi TV Anda harus mendeklarasikan bahwa
fitur android.hardware.touchscreen
tidak diperlukan. Setelan ini mengidentifikasi bahwa aplikasi Anda
dapat berfungsi di perangkat TV, dan harus dipertimbangkan 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 mendeklarasikan bahwa layar sentuh tidak diperlukan, seperti yang ditunjukkan kode contoh 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 dalam baris aplikasi dan game.
Untuk menambahkannya ke aplikasi Anda, deskripsikan 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 menentukan titik peluncuran yang tepat untuk aplikasi Anda dan persyaratan aset mendetail, lihat Panduan banner dan ikon 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 tersedia dalam lebih dari satu bahasa, Anda harus memberikan 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 dibangun menggunakan
API platform SplashScreen
tidak didukung untuk aplikasi Android TV.
Saat aplikasi TV diluncurkan, sistem akan menampilkan animasi yang tampak seperti lingkaran penuh yang
membesar. Untuk menyesuaikan warna animasi ini, setel atribut android:colorPrimary
aplikasi 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 ... > <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
Sebagian besar library AndroidX dapat digunakan dengan Android TV. Gunakan
Komponen Arsitektur seperti
ViewModel
, untuk mengelola
data UI yang mendukung siklus proses, dan Room
untuk
berintegrasi dengan database SQLite lokal, sama seperti yang Anda lakukan untuk seluler.
Sebagian besar library AndroidX mendukung Android TV. Aplikasi TV dapat menggunakan komponen arsitektur yang sama dengan aplikasi seluler. Anda bahkan dapat berbagi komponen antar-faktor bentuk, sehingga Anda hanya perlu mengkhususkan logika presentasi aplikasi TV.
Compose untuk TV
Gunakan Jetpack Compose untuk membangun UI TV OS Anda. Compose adalah versi modern Android untuk pengembangan UI. Bersama dengan library Compose inti, library Compose untuk TV menyediakan komponen khusus yang dirancang khusus untuk layar TV:
Temukan cara membuat aplikasi TV menggunakan Compose untuk TV di Menggunakan Jetpack Compose di Android TV.
Toolkit UI Leanback (tidak disarankan)
Toolkit UI Leanback secara historis menyediakan API dan widget antarmuka pengguna secara eksklusif untuk perangkat TV yang menggunakan tampilan dan fragmen Android:
androidx.leanback.app
androidx.leanback.database
androidx.leanback.graphics
androidx.leanback.media
androidx.leanback.preference
androidx.leanback.system
androidx.leanback.widget
androidx.leanback.widget.picker
Temukan cara membuat aplikasi TV menggunakan toolkit UI Leanback dalam Menggunakan toolkit UI Leanback.
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 aplikasi 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 "You are now a developer!"
- Kembali ke Setelan. 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 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 dan klik OK untuk membuat AVD.
Catatan: Untuk mendapatkan performa terbaik perangkat emulator TV, gunakan emulator x86 dan aktifkan opsi Use Host GPU. Selain itu, gunakan akselerasi perangkat virtual saat tersedia. Untuk 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 informasi selengkapnya tentang men-deploy aplikasi dari Android Studio ke perangkat virtual, lihat Men-debug aplikasi Anda.
Mengaktifkan aplikasi TV untuk dijalankan sebagai pengalaman instan
Pengalaman instan memudahkan pengguna untuk mencoba aplikasi TV Anda dan dapat membantu meningkatkan penggunaan.
Untuk menyiapkan aplikasi TV agar berjalan sebagai aplikasi instan di perangkat Android TV atau emulator, ikuti petunjuk untuk membuat app bundle yang diaktifkan secara instan terlebih dahulu.
Selanjutnya, dalam 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 dijalankan sebagai pengalaman instan.
Menyiapkan aplikasi TV untuk publikasi
Tinjau checklist Aplikasi TV guna mengetahui langkah selanjutnya dalam menyiapkan aplikasi TV untuk publikasi dan distribusi.