Mulai menggunakan aplikasi TV

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 yang sudah Anda ketahui tentang membangun 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 Anda untuk membuat aplikasi TV dan perubahan minimum yang diperlukan agar aplikasi dapat berjalan di perangkat TV.

Guna mengetahui informasi tentang mendesain aplikasi untuk TV, lihat Mendesain aplikasi untuk TV dan Membuat tata letak TV. Untuk meninjau aplikasi TV contoh, lihat aplikasi contoh Android Leanback 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 maupun membuat aplikasi TV yang baru. Jika Anda sudah memiliki aplikasi Android, menambahkan dukungan Android TV memungkinkan Anda mendesain antarmuka pengguna untuk TV sekaligus menggunakan kembali arsitektur aplikasi yang sudah 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 berjalan 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 membangun aplikasi untuk TV, Anda harus melakukan langkah-langkah berikut:

  • Update SDK Tools ke versi 24.0.0 atau yang lebih tinggi.
    SDK Tools yang diupdate memungkinkan Anda membuat dan menguji aplikasi untuk TV.
  • Update SDK dengan Android 5.0 (API 21) atau yang lebih tinggi.
    Versi platform yang diupdate menyediakan API baru untuk aplikasi TV.
  • Buat atau update 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 yang lebih tinggi.

Mendeklarasikan aktivitas TV

Aplikasi yang ditujukan agar berjalan di perangkat TV harus mendeklarasikan aktivitas peluncur untuk TV dalam manifesnya. Filter intent CATEGORY_LEANBACK_LAUNCHER digunakan 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 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 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 sudah 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 yang Anda gunakan untuk ponsel dan tablet. Untuk panduan mendesain aplikasi untuk TV, lihat Mendesain aplikasi untuk TV. Informasi selengkapnya tentang persyaratan implementasi minimum untuk tata letak antarmuka di TV, lihat Membuat tata letak TV.

Mendeklarasikan dukungan Leanback

Deklarasikan bahwa aplikasi Anda menggunakan antarmuka pengguna Leanback yang diperlukan oleh Android TV. Jika aplikasi berjalan di perangkat seluler serta Android TV, tetapkan nilai atribut required ke false. Jika Anda menetapkan nilai atribut required ke true, aplikasi hanya dapat berjalan pada perangkat yang menggunakan UI Leanback.

<manifest>
    <uses-feature android:name="android.software.leanback"
        android:required="false" />
    ...
</manifest>

Tidak perlu mendeklarasikan layar sentuh

Aplikasi yang dimaksudkan untuk berjalan pada perangkat TV tidak mengandalkan layar sentuh untuk input. Untuk 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 aplikasi Anda 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 berikut. Jika tidak, aplikasi 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, 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 yang mendetail, lihat Panduan banner dan ikon aplikasi Android TV.

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 secara 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 API platform SplashScreen tidak didukung untuk aplikasi Android TV.

Saat aplikasi TV diluncurkan, sistem akan menampilkan animasi yang tampak seperti lingkaran penuh yang melebar. 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 informasi selengkapnya tentang cara menggunakan tema dan gaya, lihat Gaya dan Tema.

Menambahkan library TV

Jetpack menyertakan library paket androidx untuk digunakan dengan aplikasi TV. Library ini menyediakan API dan widget antarmuka pengguna untuk perangkat TV:

Membuat aplikasi TV

Setelah menyelesaikan langkah-langkah yang disebutkan sebelumnya, kini saatnya mulai membuat aplikasi untuk layar besar. Lihat topik tambahan ini untuk membantu Anda mem-build aplikasi untuk TV:

  • Membuat aplikasi pemutaran TV: TV dibuat untuk menghibur, jadi Android menyediakan serangkaian alat antarmuka pengguna dan widget untuk membuat aplikasi TV yang memutar video dan musik serta memungkinkan pengguna menjelajahi konten yang mereka inginkan.
  • Membantu pengguna menemukan konten Anda di Android TV: Dengan semua pilihan konten yang tersedia di ujung jari pengguna, membantu mereka menemukan konten yang mereka sukai hampir sama pentingnya dengan menyediakan konten tersebut. Panduan ini membahas cara menampilkan konten Anda di perangkat TV.
  • Membuat game TV: Perangkat TV merupakan platform yang sangat cocok untuk game. Lihat topik ini untuk informasi tentang mem-build pengalaman game yang hebat untuk TV.
  • Membuat layanan input TV: Sajikan konten video Anda dengan gaya "siaran TV" linier dengan saluran dan program yang dapat diakses pengguna melalui panduan program serta tombol atas atau bawah saluran.

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 sungguhan

Persiapkan perangkat TV Anda sebagai berikut:

  1. Gunakan kabel USB untuk menghubungkan perangkat TV ke mesin pengembangan. Jika perlu, lihat dokumentasi yang disediakan oleh produsen perangkat Anda.
  2. Di perangkat TV, navigasikan ke Settings.
  3. Di baris Device, pilih About.
  4. Scroll ke bawah ke Build dan pilih Build beberapa kali hingga Anda mendapatkan pesan "You are now a developer!"
  5. Kembali ke Setelan. Di baris Preferences, pilih Developer options.
  6. Pilih Debugging > USB debugging lalu pilih On.
  7. Kembali ke layar utama TV.

Untuk menguji aplikasi di perangkat TV Anda:

  1. Di Android Studio, pilih project Anda dan klik Run dari toolbar.
  2. 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:

  1. Mulai AVD Manager. Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola perangkat virtual.
  2. Dalam dialog AVD Manager, klik tab Device Definitions.
  3. Pilih salah satu definisi perangkat Android TV, lalu klik Create AVD.
  4. Pilih opsi emulator, lalu 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 jika tersedia. Untuk informasi selengkapnya tentang akselerasi hardware emulator, lihat Mengonfigurasi akselerasi hardware untuk Android Emulator.

Untuk menguji aplikasi Anda di perangkat TV virtual:

  1. Di Android Studio, pilih project Anda dan klik Run dari toolbar.
  2. Pada 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 Mendebug aplikasi Anda.

Mengaktifkan aplikasi TV agar berjalan sebagai pengalaman instan

Pengalaman instan memudahkan pengguna untuk mencoba aplikasi TV dan dapat membantu meningkatkan penggunaan.

Untuk menyiapkan aplikasi TV agar berjalan sebagai aplikasi instan di emulator atau perangkat Android TV, ikuti petunjuk terlebih dahulu untuk membuat app bundle yang diaktifkan secara instan.

Selanjutnya, dalam intent-filter untuk MainActivity aplikasi TV Anda, pastikan LAUNCHER dan LEANBACK_LAUNCHER dideklarasikan dalam 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 sekarang dikonfigurasi untuk dijalankan sebagai pengalaman instan.

Menyiapkan aplikasi TV untuk dipublikasikan

Tinjau checklist Aplikasi TV untuk mengetahui langkah berikutnya guna menyiapkan aplikasi TV Anda untuk dipublikasikan dan didistribusikan.