Android menawarkan pengalaman pengguna yang kaya dan dioptimalkan untuk aplikasi yang berjalan di perangkat layar besar, seperti televisi beresolusi tinggi. Anda dapat memperluas audiens aplikasi dengan mengembangkan aplikasi untuk Android TV. Dokumen ini memberikan panduan tentang cara melakukannya secara efektif.
Membuat aplikasi TV
Aplikasi TV menggunakan struktur yang sama dengan ponsel dan tablet. Dengan demikian, Anda bisa membuat aplikasi TV baru berdasarkan pengalaman Anda tentang membuat aplikasi untuk Android, atau mengembangkan aplikasi yang sudah ada agar bisa berjalan di perangkat TV juga.
Namun, model interaksi pengguna untuk TV jauh berbeda dengan perangkat ponsel dan tablet. Agar aplikasi Anda berhasil digunakan di perangkat TV, Anda harus mendesain tata letak baru yang dapat dipahami dengan jelas dari jarak 3 meter, dan menyediakan navigasi yang dapat berfungsi hanya dengan menggunakan tombol arah dan tombol pilih.
Untuk mengetahui informasi selengkapnya tentang pertimbangan seperti cara menangani pengontrol hardware TV, membuat tata letak TV, dan membuat navigasi TV, lihat Membangun aplikasi TV.
Menggunakan Media3 ExoPlayer
Jetpack Media3 menyediakan antarmuka Pemutar yang menentukan fitur dasar seperti kemampuan untuk memutar, menjeda, mencari, dan menampilkan informasi trek. ExoPlayer adalah implementasi default antarmuka ini di Media3.
Dibandingkan dengan MediaPlayer API Android, API ini menambahkan kemudahan tambahan seperti dukungan untuk beberapa protokol streaming, perender audio dan video default, serta komponen yang menangani buffering media.
Anda dapat menyesuaikan dan memperluas ExoPlayer, dan ExoPlayer dapat diupdate melalui update aplikasi Play Store. Untuk mengetahui informasi selengkapnya, lihat Media3 ExoPlayer.
Menggunakan Media3 MediaSession
Sesi media menyediakan cara universal bagi sistem untuk berinteraksi dengan pemutar audio atau video aplikasi Anda. Salah satu karakteristik utama yang membedakan Media3 dari API media sebelumnya adalah tidak adanya lagi kebutuhan akan konektor antar-komponen.
Class MediaSession
baru mengambil class apa pun yang mengimplementasikan antarmuka Player. ExoPlayer dan MediaController adalah class yang menerapkan antarmuka tersebut. Hal ini memfasilitasi interaksi yang jauh lebih sederhana antar-komponen.
Untuk mengetahui informasi selengkapnya, lihat Antarmuka Pemutar.
Untuk mengetahui informasi selengkapnya tentang cara membuat aplikasi pemutaran media, lihat Membuat pemutar media dasar menggunakan ExoPlayer.
Untuk menciptakan pengalaman terbaik bagi pengguna akhir aplikasi media Anda, Anda perlu menerapkan MediaSession
. Untuk melakukannya, lakukan inisialisasi Player
dan berikan ke
MediaSession.Builder
seperti ini:
Kotlin
val player = ExoPlayer.Builder(context).build() val mediaSession = MediaSession.Builder(context, player).build()
Java
ExoPlayer player = new ExoPlayer.Builder(context).build(); MediaSession mediaSession = new MediaSession.Builder(context, player).build();
Penanganan status otomatis
Library Media3 otomatis mengupdate sesi media menggunakan status pemutar. Dengan demikian, Anda tidak perlu menangani pemetaan dari pemain ke sesi secara manual. Hal ini membantu memastikan bahwa pengguna Anda selalu melihat informasi terbaru tentang media yang sedang diputar, termasuk di kartu Now Playing.
Mengontrol dan memberitahukan pemutaran
Di Media3, pemutar default adalah class ExoPlayer, yang mengimplementasikan antarmuka Player. Menghubungkan sesi media ke pemutar memungkinkan aplikasi mengiklankan pemutaran media secara eksternal dan menerima perintah pemutaran dari sumber eksternal. Sesi media mendelegasikan perintah ini ke pemutar aplikasi media.
Sesi media adalah kunci untuk mengontrol pemutaran. Dengan cara ini, Anda dapat merutekan perintah dari sumber eksternal ke pemutar yang melakukan tugas memutar media Anda. Klien eksternal dapat menggunakan pengontrol media untuk mengeluarkan perintah pemutaran ke aplikasi media Anda. Perintah ini diterima oleh sesi media Anda, yang pada akhirnya mendelegasikan perintah ke pemutar media.
Untuk mengetahui informasi selengkapnya tentang pemutaran, seperti cara menyesuaikan perilaku perintah pemutaran, lihat Mengontrol dan memberitahukan pemutaran menggunakan MediaSession.
Menghindari gangguan di aplikasi Anda
Dengan MediaSession
, Anda dapat menghindari gangguan yang tidak perlu seperti:
Pemutaran yang tidak terduga dan berlanjut saat mematikan TV atau mengganti input TV. Hal ini juga menyebabkan konsumsi energi yang tinggi untuk hardware TV. Dengan
MediaSession
, aplikasi Anda dapat memberi tahu platform bahwa aplikasi sedang memutar media, dan platform dapat memberi tahu aplikasi bahwa pemutaran dapat dihentikan.Pemutaran musik berhenti secara tiba-tiba saat keluar dari aplikasi, atau mematikan layar TV. Penggunaan API
MediaSession
memungkinkan pemutaran berkelanjutan di layanan latar belakang.Interaksi terbatas dengan konten yang menghalangi pengguna mengontrol pemutaran. Misalnya, kembali ke aplikasi Anda jika aplikasi memutar musik di latar belakang, atau mendukung perintah suara. Dengan
MediaSession
di aplikasi Anda, pengguna dapat menggunakan perintah suara untuk mencari dan melewati lagu atau episode.
Pertimbangan Lebih Lanjut
Saat memperluas aplikasi media ke Android untuk TV, Anda perlu mempertimbangkan masalah aksesibilitas, cara mendorong engagement, cara memungkinkan pengguna menemukan konten, serta cara membuat game dan layanan input TV.
Aksesibilitas TV
Meskipun teknologi pendukung dapat dan membantu pengguna dengan gangguan penglihatan, penting untuk mendukung aksesibilitas dalam perjalanan penemuan konten untuk aplikasi TV.
Misalnya, berikan perhatian ekstra untuk memberikan panduan navigasi dan melabeli elemen dengan benar, serta bantu memastikan aplikasi TV berfungsi dengan baik dengan fitur aksesibilitas seperti TalkBack. Langkah-langkah ini dapat meningkatkan pengalaman pengguna dengan gangguan penglihatan secara signifikan.
Langkah pertama untuk meningkatkan aksesibilitas adalah kesadaran. Untuk mengetahui informasi selengkapnya tentang penskalaan teks, tata letak keyboard, dan deskripsi audio, lihat resource aksesibilitas.
Praktik terbaik untuk mendorong interaksi di Google TV
Semua aplikasi yang dibuat untuk Android TV berfungsi di perangkat yang menjalankan Google TV. Untuk memberikan pengalaman pengguna terbaik di Google TV, sebaiknya Anda menerapkan praktik terbaik berikut.
Anda harus menggunakan MediaSession
, untuk menyediakan cara universal dalam berinteraksi dengan pemutar audio atau video. Untuk mengetahui informasi selengkapnya tentang cara menerapkan hal ini, lihat
Menggunakan MediaSession Media3.
Sebagai dasar, aplikasi Anda harus mendukung Google Cast. Dengan library ini, Anda dapat memperluas aplikasi Android, iOS, dan Chrome untuk mengaktifkan streaming audio dan video ke Android TV, serta perangkat Chromecast dan perangkat Asisten. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Google Cast.
Anda juga dapat membantu pengguna:
Temukan konten di berbagai platform dengan menawarkan feed tindakan media, atau mengintegrasikan Tonton Berikutnya.
Manfaatkan suara dan engagement dengan mendukung penautan akun dan sinkronisasi hak, menawarkan transmisi suara, dan mengaktifkan Cast Connect.
Bayar dengan lebih mudah dengan mengintegrasikan penagihan Google Play, dan menyediakan langganan tanpa hambatan.
Membangun framework input TV
Menonton acara TV live dan konten kontinu berbasis saluran lainnya adalah bagian penting dari pengalaman TV. Pengguna terbiasa memilih dan menonton acara di TV dengan menjelajahi saluran. Framework Input TV membuat saluran untuk menayangkan konten video atau musik di panduan pemrograman TV.
Framework Input TV menyediakan metode terpadu untuk menerima dan memutar konten video live dari sumber hardware, seperti port HDMI dan tuner bawaan, serta sumber software, seperti video yang di-streaming melalui internet. Untuk mengetahui informasi lebih lanjut, lihat Membangun layanan input TV.