Notifikasi di Android Automotive OS

Notifikasi memberikan informasi singkat secara tepat waktu kepada pengemudi tentang peristiwa dari aplikasi Anda saat aplikasi sedang tidak digunakan. Notifikasi dapat muncul di Pusat Notifikasi, dan beberapa notifikasi juga dapat muncul sebagai notifikasi pendahuluan di layar. Untuk membuat notifikasi bagi Android Automotive OS, gunakan API NotificationBuilder yang sama seperti yang Anda gunakan untuk perangkat lain. Namun, untuk memastikan keselamatan pengemudi dan meminimalkan gangguan, beberapa metode dan class API akan dibatasi atau berperilaku lain.

Perbedaan notifikasi di mobil

Untuk menciptakan lingkungan berkendara yang aman dan bebas gangguan, notifikasi di Android Automotive OS berbeda dari notifikasi di perangkat lain dalam beberapa hal:

  • Interaksi pengguna sederhana
  • Pembatasan UX berdasarkan kondisi berkendara

Interaksi pengguna sederhana

Untuk memastikan pengemudi tetap fokus di jalan, notifikasi di mobil memiliki model interaksi pengguna yang sederhana dengan fitur-fitur berikut:

Tanpa kontrol rumit

Notifikasi tidak mengizinkan adanya kontrol rumit, seperti gerakan mengetuk untuk memperluas notifikasi, tekan lama pada notifikasi untuk opsi tambahan, atau menggunakan kontrol berdasarkan gerakan geser panjang.

Suara notifikasi

Notifikasi hanya memutar suara jika memicu notifikasi pendahuluan.

Tombol putar dan bisukan otomatis untuk notifikasi pesan

Android Automotive OS secara otomatis menambahkan tombol Putar dan Bisukan ke semua notifikasi pesan yang kompatibel untuk mobil.

  • Putar: Membacakan notifikasi kepada driver menggunakan asisten digital default pengguna (seperti Asisten Google) atau sistem text-to-speech default kendaraan.
  • Bisukan: Mencegah notifikasi pendahuluan muncul di pesan berikutnya dalam percakapan selama sisa waktu berkendara. Notifikasi pesan dari percakapan yang dibisukan akan tetap muncul di Pusat Notifikasi, dan pengemudi juga dapat membunyikannya kembali dari Pusat Notifikasi.

Opsi tampilan notifikasi sederhana

RemoteViews dan tampilan konten kustom tidak didukung. Selain itu, gaya notifikasi berikut juga tidak didukung:

  • BigPictureStyle
  • BigTextStyle
  • InboxStyle

Jika aplikasi Anda mengirimkan notifikasi ke Android Automotive OS menggunakan salah satu gaya notifikasi berikut, hanya teks ringkasan yang akan ditampilkan.

Pengelolaan saluran notifikasi yang disederhanakan

Android Automotive OS tidak mendukung saluran notifikasi dan kemampuan UI terkait untuk mengurangi prevalensi tugas pengelolaan kaya di perangkat Automotive.

Pembatasan UX berdasarkan kondisi berkendara

OS Android Automotive mencakup Mesin Pembatasan UX. Produsen mobil dapat menggunakan mesin ini untuk membatasi notifikasi berdasarkan kondisi berkendara mobil dalam hal berikut:

  • Memotong string notifikasi dengan panjang karakter tertentu
  • Menyembunyikan ringkasan pesan untuk notifikasi CATEGORY_MESSAGE
  • Membatasi jumlah notifikasi yang dapat ditampilkan di Pusat Notifikasi

Jenis resource yang didukung

Secara default, Android Automotive OS mendukung subset terbatas dari jenis resource yang dapat digunakan untuk notifikasi di perangkat lain. Subset ini mencakup jenis resource berikut:

  • Drawable
  • Ikon
  • Gambar

Persyaratan Kompatibilitas untuk notifikasi pesan

Untuk memberikan pengalaman pengguna yang konsisten dan tidak mengganggu, notifikasi pesan memiliki persyaratan khusus di Android Automotive OS.

Notifikasi pesan dianggap kompatibel dengan mobil jika memenuhi persyaratan berikut:

  • Termasuk dalam kategori CATEGORY_MESSAGE.
  • Menggunakan gaya Notification.MessagingStyle.
  • Hanya menyertakan pesan yang belum dibaca.
  • Memiliki Action tandai sudah dibaca yang memenuhi persyaratan berikut:

  • Jika notifikasi memiliki Action balas, Action memenuhi persyaratan berikut:

    • Tindakan semantik harus ditetapkan ke Action.SEMANTIC_ACTION_REPLY.
    • Action harus menunjukkan bahwa antarmuka pengguna tidak akan ditampilkan saat diaktifkan.
    • Action harus memuat satu RemoteInput.

Pusat Notifikasi

Hampir semua notifikasi muncul di Pusat Notifikasi, meskipun notifikasi tersebut juga dipicu sebagai notifikasi pendahuluan. Notifikasi akan tetap ada di Pusat Notifikasi selama waktu berkendara.

Pengemudi dapat berinteraksi dengan notifikasi di Pusat Notifikasi. Bergantung pada produsen mobil, pengemudi dapat mengakses Pusat Notifikasi dengan salah satu atau kedua cara berikut:

  • Menggeser ke bawah dari atas layar (mirip dengan panel samping notifikasi di perangkat lain)
  • Mengetuk tombol di antarmuka sistem

Notifikasi yang dikelompokkan

Notifikasi yang terkait akan dikelompokkan bersama secara otomatis di Pusat Notifikasi, seperti pada panel samping notifikasi di perangkat lain. Namun, saat pengemudi mengetuk ringkasan grup di Pusat Notifikasi, grup akan meluas untuk menampilkan semua notifikasinya, bukan meluncurkan PendingIntent.

Notifikasi yang tidak muncul di Pusat Notifikasi

Notifikasi berikut tidak muncul di Pusat Notifikasi:

  • Notifikasi pemutaran media untuk CATEGORY_TRANSPORT. Informasi tentang pemutaran media yang sedang berjalan dikumpulkan oleh Android Automotive OS dan ditampilkan di tempat khusus dalam antarmuka pengguna.
  • Notifikasi navigasi belokan demi belokan untuk CATEGORY_NAVIGATION.
  • Notifikasi layanan latar depan untuk aplikasi dengan akses sistem dan aplikasi yang ditandatangani dengan kunci platform dengan tingkat nilai penting yang lebih rendah dari IMPORTANCE_DEFAULT.

Notifikasi pendahuluan

Notifikasi pendahuluan muncul sebagai kartu notifikasi di bagian atas layar. Karena notifikasi pendahuluan menarik perhatian pengemudi, aplikasi seharusnya hanya memicu notifikasi pendahuluan jika informasinya bersifat penting terkait pengendaraan, sensitif waktu, dan dapat ditindaklanjuti. Hanya kategori notifikasi tertentu yang dapat memicu notifikasi pendahuluan.

Produsen mobil dapat memutuskan apakah akan mengizinkan notifikasi pendahuluan untuk muncul saat Pusat Notifikasi terbuka atau tidak.

Cara aplikasi memicu notifikasi pendahuluan

Aplikasi memiliki persyaratan berbeda untuk memicu notifikasi pendahuluan, bergantung apakah aplikasi memiliki akses sistem atau tidak.

Untuk aplikasi dengan akses sistem dan aplikasi yang ditandai dengan kunci platform.
Aplikasi tersebut dapat memicu notifikasi pendahuluan dengan menyetel nilai penting saluran notifikasi ke IMPORTANCE_HIGH atau lebih tinggi.
Untuk semua aplikasi lain

Untuk memicu notifikasi pendahuluan, aplikasi akan menetapkan tingkat nilai penting saluran notifikasi ke IMPORTANCE_HIGH atau yang lebih tinggi dan memastikan notifikasi tersebut termasuk dalam salah satu kategori berikut:

Kondisi notifikasi pendahuluan

Setelah aplikasi memicu notifikasi pendahuluan, notifikasi tersebut akan langsung muncul di layar mobil. Jika pengemudi tidak melakukan tindakan apa pun, notifikasi pendahuluan otomatis diabaikan setelah 8 detik (dapat dikonfigurasi oleh produsen mobil), kecuali dalam kasus berikut:

  • Notifikasi pendahuluan untuk panggilan masuk tertentu tidak dapat diabaikan dan notifikasi pendahuluan akan tetap ada sampai pengemudi menjawab panggilan, atau panggilan diakhiri. Agar memenuhi syarat sebagai notifikasi pendahuluan yang tidak dapat diabaikan untuk panggilan masuk, notifikasi harus memenuhi persyaratan berikut:

  • Notifikasi pendahuluan akan tetap ada jika aplikasi memperbarui notifikasi dalam waktu 8 detik.

Ketika diabaikan, notifikasi pendahuluan akan masuk ke Pusat Notifikasi, kecuali notifikasi tersebut merupakan CATEGORY_NAVIGATION.

Batasan dan perubahan API Notifikasi untuk mobil

Bagian ini merangkum perbedaan tiap class dengan Notifications API berperilaku lain atau memiliki pembatasan untuk Android Automotive OS.

Notification.Builder

Tabel berikut ini menjelaskan perubahan dan batasan API dalam class Notification.Builder.

Tabel 1. Perubahan pada metode publik untuk Notification.Builder

Metode publik Efek Deskripsi

addAction()

Tanpa pengoperasian bersyarat Notifikasi Notification.MessagingStyle harus menambahkan tindakan yang ditentukan dalam persyaratan kompatibilitas. Tindakan lain apa pun yang ditambahkan tidak akan dirender sebagai tombol Notifikasi.

createBigContentView()

createContentView()

createHeadsUpContentView()

setContent()

setCustomBigContentView()

setCustomContentView()

setCustomHeadsUpContentView()

Tanpa pengoperasian RemoteViews dan tampilan konten kustom tidak didukung.

setBadgeIconType()

setNumber()

Tanpa pengoperasian Badge notifikasi tidak didukung.

setChronometerCountDown()

setUsesChronometer()

Tanpa pengoperasian Penghitung mundur tidak didukung.
setColorized() Batasan berubah

Aplikasi bertanda platform: Dapat dikonfigurasi, diizinkan secara default.

Aplikasi dengan akses sistem: Dikonfigurasi oleh platform; tidak diizinkan secara default.

Semua aplikasi lain: Dikonfigurasi oleh platform, tidak diizinkan secara default.

setFullScreenIntent() Perilaku berubah Tidak membuka intent secara otomatis.
setLargeIcon() Perilaku berubah Ikon besar ditampilkan di sisi kanan notifikasi.
setLights() Tanpa pengoperasian Perangkat OS Android Automotive tidak memiliki lampu indikator LED.
setOngoing() Perilaku berubah

Perilaku berbeda jika notifikasi juga memicu notifikasi pendahuluan.

Membuat notifikasi pendahuluan tidak dapat diabaikan hanya jika notifikasi pendahuluan ditujukan untuk panggilan masuk. Agar memenuhi syarat sebagai notifikasi pendahuluan yang tidak dapat diabaikan untuk panggilan masuk, notifikasi harus memenuhi persyaratan berikut:

Pengemudi dapat mengabaikan semua jenis notifikasi pendahuluan lainnya.

setPublicVersion()

setVisibility()

Tanpa pengoperasian Mode pribadi tidak didukung.
setSettingsText() Tanpa pengoperasian Notifikasi tidak mendukung keterjangkauan yang terhubung ke setelan aplikasi. Pengemudi mengakses setelan aplikasi melalui aplikasi.
setTicker() Tanpa pengoperasian Teks ticker tidak didukung.

Tabel 2. Perubahan pada class bertingkat untuk Notification.Builder

Class bertingkat Efek Deskripsi

Notification.BigPictureStyle

Notification.BigTextStyle

Notification.InboxStyle

Tidak digunakan Hanya teks ringkasan yang akan ditampilkan. Notifikasi detail untuk gaya ini tidak didukung.
Notification.BubbleMetadata Tidak digunakan Balon tidak didukung.
Notification.MediaStyle Tersembunyi Notifikasi dengan gaya ini akan disembunyikan. Android Automotive OS mengelola interaksi antarmuka pengguna untuk notifikasi dan pemutaran media.
Notification.MessagingStyle Perilaku berubah

Notifikasi dengan gaya ini memiliki perbedaan berikut:

Notification.CarExtender

Notification.WearableExtender

Tidak digunakan Extender tidak didukung.

Notification.Action.Builder

Tabel berikut ini menjelaskan batasan dan perubahan API dalam class Notification.Action.Builder.

Tabel 3. Perubahan pada metode publik untuk Notification.Action.Builder

Metode publik Efek Deskripsi
Konstruktor publik Perilaku berubah Ikon yang ditentukan dalam konstruktor publik akan diabaikan.
addRemoteInput Perilaku berubah Untuk meminimalkan gangguan bagi pengemudi, asisten digital (seperti Asisten Google) akan menambahkan respons pada pesan untuk pengguna tersebut. Pengguna tidak diizinkan untuk mengetik pesan.
setAllowGeneratedReplies Tanpa pengoperasian Smart Reply tidak didukung.