Aplikasi TV menggunakan struktur yang sama dengan aplikasi untuk ponsel dan tablet. Dengan demikian, Anda dapat mengubah aplikasi yang sudah ada agar dapat berjalan di perangkat TV atau membuat aplikasi baru berdasarkan hal-hal yang sudah Anda ketahui tentang mem-build aplikasi untuk Android.
Penting: Aplikasi harus mengikuti 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 Anda untuk mem-build aplikasi TV serta perubahan minimum yang diperlukan agar aplikasi dapat berjalan di perangkat TV.
Untuk mengetahui informasi tentang 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 mengubah aplikasi Android yang sudah ada agar dapat berjalan di perangkat TV maupun 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.
Ada dua komponen utama yang Anda gunakan saat membuat aplikasi yang berjalan di perangkat TV:
- Activity for TV: Dalam manifes aplikasi, deklarasikan aktivitas yang dimaksudkan untuk berfungsi di perangkat TV.
- TV libraries: 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 mem-build antarmuka pengguna.
Prasyarat
Sebelum mulai mem-build aplikasi untuk TV, Anda harus melakukan langkah-langkah berikut:
-
Mengupdate SDK tools ke versi 24.0.0 atau lebih tinggi.
SDK tools yang diupdate memungkinkan Anda mem-build dan menguji aplikasi untuk TV. - Mengupdate SDK dengan Android 5.0 (API 21) atau lebih tinggi.
Versi platform yang telah diupdate menyediakan API baru untuk aplikasi TV. -
Membuat atau mengupdate project aplikasi Anda.
Untuk mengakses API baru bagi perangkat TV, buat project atau ubah project yang sudah ada yang menargetkan Android 5.0 (API Level 21) atau lebih tinggi.
Mendeklarasikan aktivitas TV
Aplikasi yang ditujukan untuk dijalankan di perangkat TV harus mendeklarasikan aktivitas peluncur TV
dalam manifesnya. Filter intent CATEGORY_LEANBACK_LAUNCHER digunakan untuk melakukan hal ini. 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 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 aktivitas tersebut adalah aktivitas yang akan diluncurkan di perangkat TV.
Perhatian: Jika Anda tidak menyertakan filter intent
CATEGORY_LEANBACK_LAUNCHER dalam aplikasi Anda, aplikasi tidak akan terlihat oleh pengguna yang menjalankan Google Play di perangkat TV. Selain itu, jika aplikasi
tidak memiliki filter ini saat Anda menggunakan alat developer tool untuk memuatnya ke perangkat TV, aplikasi
tidak akan muncul dalam antarmuka pengguna TV.
Antarmuka pengguna aplikasi TV Anda, atau bagian TV dalam 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 seperti yang Anda gunakan untuk ponsel dan tablet. Panduan mendesain aplikasi TV dapat dilihat di panduan Desain 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, 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 agar berjalan di perangkat TV tidak mengandalkan layar sentuh untuk menerima input.
Lebih jelasnya, 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 diperlukan agar aplikasi Anda dikenali 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 tersebut. 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, 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 mengetahui praktik terbaik dalam mendesain titik peluncuran yang menarik untuk aplikasi Anda dan persyaratan aset 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 disediakan dalam lebih dari satu bahasa, Anda harus menyediakan versi banner yang berbeda 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 tampak seperti lingkaran penuh yang meluas. Untuk menyesuaikan warna animasi ini, tetapkan atribut android:colorPrimary
aplikasi TV atau aktivitas Anda ke warna tertentu. Selain itu, tetapkan dua
atribut tumpang tindih transisi ke true seperti yang ditampilkan 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 informasi selengkapnya tentang cara bekerja dengan tema dan gaya, lihat Gaya dan Tema.
Mem-build aplikasi untuk Android TV OS
Jetpack menyertakan library paket androidx untuk digunakan dengan aplikasi TV.
Compose untuk TV
Compose adalah cara yang direkomendasikan untuk mem-build aplikasi untuk Android TV OS. Selain library Compose inti, library Compose untuk TV menyediakan komponen khusus yang didesain khusus untuk layar TV:
Temukan cara mem-build 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 mem-build aplikasi TV menggunakan toolkit UI Leanback di Membuat aplikasi pemutaran TV.
Menjalankan aplikasi TV
Menjalankan aplikasi merupakan bagian penting dari proses pengembangan. Anda bisa 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.
- 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 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 dan klik OK untuk membuat AVD.
Catatan: Untuk mendapatkan performa perangkat emulator TV terbaik, gunakan emulator x86 dan aktifkan opsi Use Host GPU. Selain itu, gunakan 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 cara men-deploy aplikasi dari Android Studio ke perangkat virtual, lihat Men-debug aplikasi Anda.
Mengaktifkan aplikasi TV agar dapat berjalan sebagai pengalaman instan
Pengalaman instan memungkinkan pengguna mencoba aplikasi TV Anda tanpa menginstalnya dan dapat membantu meningkatkan adopsi.
Untuk menyiapkan aplikasi TV agar dapat berjalan sebagai aplikasi instan di perangkat atau emulator Android TV, pertama-tama ikuti petunjuk untuk membuat app bundle yang mendukung 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.
Mempersiapkan aplikasi TV untuk publikasi
Tinjau checklist Aplikasi TV untuk mengetahui langkah berikutnya dalam mempersiapkan aplikasi TV Anda untuk publikasi dan distribusi.