Ringkasan Android Automotive OS

Antarmuka pengguna Android Automotive OS
Gambar 1: Android Automotive OS

Android Automotive OS adalah versi Android yang dioptimalkan untuk penggunaan di dalam mobil yang diperluas dari platform Android inti. Mobil yang dilengkapi Google menjalankan Android Automotive OS dan dilengkapi aplikasi dan layanan Google, termasuk Google Play, Gemini, Asisten Google, dan Google Maps.

Mempelajari hardware Android Automotive OS

Untuk mempelajari lebih lanjut spesifikasi hardware minimum untuk perangkat Android Automotive OS, lihat bagian Persyaratan Otomotif dari Android Compatibility Definition Document (CDD) untuk versi Android yang didukung aplikasi Anda.

Potongan layar

Seperti faktor bentuk Android lainnya, potongan layar didukung oleh perangkat Android Automotive OS dengan layar non-persegi panjang. Namun, ukuran dan bentuk potongan yang ditemukan di mobil dapat sangat berbeda dengan yang ditemukan di faktor bentuk lainnya. Lihat Menggunakan inset jendela dan potongan layar untuk panduan mendetail.

Audio

Perangkat Android Automotive OS umumnya adalah perangkat dengan volume tetap. Untuk mempelajari lebih lanjut pengaruhnya terhadap aplikasi Anda, lihat Menggunakan perangkat dengan volume tetap.

Memahami software Android Automotive OS

Meskipun Android Automotive OS didasarkan pada sistem operasi inti yang sama seperti yang digunakan oleh faktor bentuk lainnya, ada beberapa fitur tambahan yang unik dan dapat memengaruhi cara aplikasi dapat dikembangkan dan digunakan.

UI Sistem

Ada beberapa perbedaan dalam cara fungsi elemen UI sistem ini di mobil yang harus Anda ketahui.

Tidak seperti faktor bentuk lainnya, perangkat Android Automotive OS tidak memiliki persyaratan untuk memiliki affordance kembali hardware atau software. Jika tidak dijalankan dalam mode kompatibilitas, aktivitas yang diterapkan oleh aplikasi Anda harus menyertakan affordance UI untuk mengaktifkan navigasi dalam aplikasi guna memenuhi AN-1 panduan kualitas.

Tata letak kolom sistem

Seperti faktor bentuk lainnya, Android Automotive OS menyertakan kolom sistem seperti status bar dan kotak navigasi. Di mobil, kolom ini mungkin berukuran dan diposisikan berbeda dengan faktor bentuk lainnya. Misalnya, kotak navigasi dapat diposisikan di kiri, kanan, atau bawah layar. Bahkan jika ada status bar di atas dan kotak navigasi di bawah (seperti pada kebanyakan ponsel dan tablet), ukuran elemen ini kemungkinan akan jauh lebih besar di mobil.

Selain itu, meskipun potongan layar di perangkat seluler umumnya berada dalam batas kolom sistem, hal ini tidak berlaku di mobil.

Lihat Menggunakan inset jendela dan potongan layar untuk panduan mendetail.

Mode imersif

Android Automotive OS memungkinkan OEM mengontrol apakah aplikasi dapat menampilkan atau menyembunyikan kolom sistem untuk masuk dan keluar dari mode imersif. Dengan mencegah aplikasi menyembunyikan kolom sistem, OEM dapat memastikan bahwa kontrol kendaraan, seperti pengontrol kondisi udara, selalu dapat diakses di layar.

Batasan pengalaman pengguna

Batasan pengalaman pengguna (UX) adalah kemampuan yang ada di Android Automotive OS untuk menangani pertimbangan gangguan pengemudi. Batasan UX bertanggung jawab untuk otomatis mencegah penggunaan aplikasi yang belum dioptimalkan untuk digunakan saat mengemudi.

Aktivitas yang memblokir aktivitas ditampilkan di atas aplikasi yang tidak ditandai sebagai
    dioptimalkan untuk mengurangi gangguan.
Gambar 2: Aplikasi yang diblokir oleh batasan UX

Kumpulan aturan yang menentukan cara dan waktu batasan UX aktif ditentukan oleh produsen kendaraan. Aturan ini dapat bervariasi menurut wilayah geografis – misalnya, kendaraan yang sama yang dijual di Eropa mungkin memiliki aturan yang berbeda dengan yang dijual di Amerika Serikat.

Aturan batasan UX juga dapat bervariasi menurut tampilan dalam kendaraan. Misalnya, tampilan tengah di garis pandang pengemudi dapat dibatasi saat kendaraan bergerak, sedangkan tampilan penumpang akan tetap tidak dibatasi.

Jika aplikasi Anda perlu beradaptasi dengan batasan UX, referensikan batasan tersebut secara langsung – jangan mencoba merekayasa balik implementasinya. Misalnya, jika Anda mengasumsikan bahwa batasan UX aktif saat gigi tidak dalam posisi Parkir, Anda mungkin membatasi aplikasi yang berjalan di tampilan penumpang secara tidak perlu.

Pengoptimalan distraksi

Secara default, aktivitas tidak dapat dijalankan saat batasan UX aktif untuk membatasi gangguan pengemudi. Untuk menunjukkan kepada sistem bahwa aktivitas harus terus berjalan saat kendaraan bergerak, elemen <meta-data> berikut dapat ditambahkan dalam elemen <activity> yang sesuai.

<activity ...>
  <meta-data android:name="distractionOptimized" android:value="true">
</activity>

Saat mengembangkan aplikasi untuk Android Automotive OS, metadata ini hanya boleh ada dalam manifes Anda saat mendeklarasikan elemen manifes<activity> untuk CarAppActivity aplikasi yang dibuat menggunakan Library Aplikasi Mobil. Tidak ada aktivitas lain yang boleh ditandai sebagai dioptimalkan untuk distraksi. Jika ada, aplikasi Anda akan ditolak saat dikirimkan ke Google Play Store.

Aksesibilitas

Dukungan aksesibilitas untuk Android Automotive OS tidak seluas dukungan di faktor bentuk lainnya. TalkBack, Tombol Akses, dan Voice Access tidak tersedia di perangkat Android Automotive OS.

Preferensi teks tertutup didukung di perangkat Android Automotive OS. Lihat Mengadopsi setelan teks tertutup sistem untuk mengetahui detail integrasi.

Pilihan jaringan

Android Automotive OS mendukung Pilihan jaringan per aplikasi (PANS), yang memungkinkan OEM merutekan traffic jaringan seluler ke jaringan yang berbeda berdasarkan aplikasi.

Sebagian besar aplikasi hanya menggunakan jaringan default yang ditetapkan untuknya dan hanya mendapatkan manfaat dari fitur ini – misalnya, OEM dapat membayar traffic jaringan dari aplikasi Anda meskipun pengguna tidak memiliki paket data sendiri. Jika aplikasi Anda (atau salah satu dependensinya) bergantung pada jaringan selain default, aplikasi tersebut mungkin tidak mendapatkan manfaat dari preferensi yang ditetapkan oleh OEM. Lihat Membaca status jaringan untuk panduan selengkapnya tentang penggunaan jaringan selain default.

Fitur sistem

Anda dapat mendeteksi apakah fitur tertentu tersedia menggunakan PackageManager::hasSystemFeature dan menyesuaikan perilaku aplikasi Anda sesuai.

Fitur hardware

Seperti faktor bentuk non-seluler lainnya, fitur hardware yang tersedia di mobil mungkin berbeda dengan yang ditemukan di perangkat seluler.

Orientasi layar

Seperti TV, mobil adalah perangkat dengan orientasi tetap. Tidak seperti TV, mobil memiliki orientasi potret dan lanskap. Untuk memastikan bahwa aplikasi yang dibuat untuk Android Automotive OS dapat didistribusikan ke semua kendaraan, aplikasi harus memastikan bahwa aplikasi tersebut tidak memiliki persyaratan fitur eksplisit atau implisit untuk fitur android.hardware.screen.landscape atau android.hardware.screen.portrait.

Lokasi jaringan

Banyak perangkat Android Automotive OS tidak menerapkan tumpukan telepon yang digunakan untuk menyediakan lokasi jaringan dan dengan demikian tidak melaporkan fitur sistem android.hardware.location.network. Meskipun lokasi jaringan mungkin tidak tersedia, akses ke perkiraan lokasi masih didukung – lihat Perkiraan lokasi di Android Automotive OS.

Fitur software

Beberapa fitur software yang biasanya ditemukan di faktor bentuk lain mungkin tidak didukung di perangkat Android Automotive OS. Misalnya, fitur berikut tidak tersedia di banyak kendaraan Android Automotive OS:

Memenuhi persyaratan fitur Google Play

Agar dapat didistribusikan ke mobil melalui Google Play, aplikasi yang dibuat untuk Android Automotive OS harus menyertakan elemen <uses-feature> dalam file AndroidManifest.xml untuk fitur android.hardware.type.automotive:

<manifest ...>
  ...
  <!--
    See Choose a track for Android Automotive OS
    for details on how to choose which value to use for the android:required attribute.
  -->
  <uses-feature
      android:name="android.hardware.type.automotive"
      android:required="[true|false]">
  ...
</manifest>

Selain itu, jika aplikasi Anda memiliki deklarasi fitur eksplisit dengan android:required="true" atau persyaratan fitur implisit untuk salah satu fitur berikut, Anda harus memperbarui atau menghapusnya agar persyaratan fitur aplikasi tidak mencegah distribusinya ke kendaraan yang kompatibel:

Untuk fitur yang dideklarasikan secara eksplisit dengan android:required="true", Anda dapat melakukan salah satu hal berikut:

  • Hapus elemen <uses-feature> jika fitur tersebut tidak secara implisit diperlukan.
  • Deklarasikan fitur secara eksplisit dengan android:required="false".

Untuk fitur yang diperlukan secara implisit, Anda dapat melakukan salah satu hal berikut:

  • Deklarasikan fitur secara eksplisit dengan android:required="false".
  • Hapus atau perbarui nilai manifes yang memperkenalkan persyaratan implisit pada fitur tersebut.

Mengubah deklarasi fitur dalam manifes tidak memengaruhi fungsi sebenarnya dari aplikasi Anda. Jadi, periksa apakah aplikasi Anda masih berfungsi dengan baik tanpa fitur ini.

Pertanyaan umum (FAQ)

Kendaraan mana yang dilengkapi Google?

Lihat situs Mobil yang dilengkapi Google untuk mengetahui daftar OEM yang memiliki model yang dilengkapi Google. Spesifikasi hardware dan detail perangkat lainnya dapat diperoleh menggunakan Katalog Perangkat Konsol Play.