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:- Tindakan semantik harus ditetapkan ke
Action.SEMANTIC_ACTION_MARK_AS_READ
. Action
harus menunjukkan bahwa antarmuka pengguna tidak akan ditampilkan saat diaktifkan.
- Tindakan semantik harus ditetapkan ke
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 satuRemoteInput
.
- Tindakan semantik harus ditetapkan ke
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:
- Termasuk dalam
CATEGORY_CALL
- Menetapkan intent layar penuh
- Ditandai sebagai sedang berjalan menggunakan metode
setOngoing()
- Termasuk dalam
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 |
---|---|---|
|
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. |
|
Tanpa pengoperasian | RemoteViews
dan tampilan konten kustom tidak didukung. |
|
Tanpa pengoperasian | Badge notifikasi tidak didukung. |
| 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. |
|
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 |
---|---|---|
|
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:
|
|
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. |