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 membantu memastikan keselamatan pengemudi dan
meminimalkan gangguan, beberapa metode dan class API
dibatasi atau berperilaku berbeda.
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 membantu memastikan pengemudi tetap fokus di jalan, notifikasi di mobil memiliki model interaksi pengguna yang disederhanakan dengan fitur berikut:
- Tanpa kontrol rumit
- Notifikasi tidak mengizinkan kontrol yang rumit, seperti mengetuk untuk memperluas notifikasi, menekan lama notifikasi untuk opsi tambahan, atau menggunakan kontrol berdasarkan gestur panjang geser.
- Suara notifikasi
- Notifikasi hanya memutar suara jika memicu notifikasi peringatan dini.
Android Automotive OS secara otomatis menambahkan tombol Putar dan Bisukan ke semua notifikasi pesan yang kompatibel dengan mobil.
- Putar: membaca notifikasi kepada pengemudi menggunakan asisten digital default pengguna, seperti Asisten Google, atau sistem text-to-speech default kendaraan.
Bisukan: mencegah notifikasi peringatan dini tidak muncul di pesan selanjutnya 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 lengkap 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:
- Ini termasuk dalam kategori
CATEGORY_MESSAGE
. - Kode ini menggunakan gaya
Notification.MessagingStyle
. - Data ini hanya mencakup pesan yang belum dibaca.
Kode ini memiliki
Action
tandai sudah dibaca yang memenuhi persyaratan berikut:- Tindakan semantik ditetapkan ke
Action.SEMANTIC_ACTION_MARK_AS_READ
. Action
menunjukkan bahwa antarmuka pengguna tidak ditampilkan saat diaktifkan.
- Tindakan semantik ditetapkan ke
Jika notifikasi memiliki
Action
balas,Action
memenuhi persyaratan berikut:- Tindakan semantik ditetapkan ke
Action.SEMANTIC_ACTION_REPLY
. Action
menunjukkan bahwa antarmuka pengguna tidak ditampilkan saat diaktifkan.Action
berisi satuRemoteInput
.
- Tindakan semantik 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 bagian atas layar, mirip dengan panel samping notifikasi di perangkat lain.
- Mengetuk tombol di antarmuka sistem.
Notifikasi yang dikelompokkan
Notifikasi terkait
secara otomatis dikelompokkan dalam 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:
Media playback
. Informasi tentang pemutaran media yang sedang berlangsung dikumpulkan oleh Android Automotive OS dan ditampilkan di tempat khusus dalam antarmuka pengguna. Perhatikan bahwasetMediaSession
harus dipanggil dengan token non-null agar notifikasi dapat dikenali sebagai pemutaran Media.- 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, hanya picu notifikasi peringatan dini saat informasi yang penting adalah drive-kritis, sensitif waktu, dan dapat ditindaklanjuti. Hanya kategori notifikasi tertentu yang dapat memicu notifikasi pendahuluan.
Produsen mobil dapat memutuskan apakah akan mengizinkan notifikasi peringatan dini untuk muncul saat Pusat Notifikasi terbuka.
Cara aplikasi memicu notifikasi pendahuluan
Aplikasi memiliki persyaratan yang berbeda untuk memicu notifikasi pendahuluan bergantung pada apakah aplikasi memiliki hak istimewa sistem atau tidak.
- Aplikasi dengan hak istimewa sistem dan aplikasi yang ditandatangani dengan kunci platform
- Aplikasi tersebut dapat memicu notifikasi pendahuluan dengan menyetel nilai penting saluran
notifikasi ke
IMPORTANCE_HIGH
atau lebih tinggi. - Semua aplikasi lainnya
Aplikasi dapat memicu notifikasi peringatan dengan menyetel nilai penting saluran notifikasi ke
IMPORTANCE_HIGH
atau lebih tinggi dan memastikan bahwa notifikasi 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 akan ditutup secara otomatis setelah delapan detik, kecuali dalam kasus berikut:
Notifikasi pendahuluan untuk panggilan masuk tertentu tidak dapat ditutup, dan notifikasi pendahuluan akan tetap ada hingga pengemudi menerima panggilan atau panggilan dihentikan. 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 delapan detik.
Saat notifikasi pendahuluan ditolak, notifikasi akan tercantum di
Pusat Notifikasi, kecuali jika notifikasi tersebut
berupa notifikasi
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 1 dan 2 menjelaskan pembatasan dan perubahan 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 hak istimewa 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 sebelah kanan notifikasi. | ||
setLights() |
Tanpa pengoperasian | Perangkat OS Android Automotive tidak memiliki lampu indikator LED. | ||
setOngoing() |
Perilaku berubah |
Perilaku berbeda jika notifikasi juga memicu notifikasi peringatan dini.
|
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 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 3 menjelaskan pembatasan 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 menyisipkan respons pada pesan untuk pengguna tersebut. Pengguna tidak dapat mengetik pesan. |
setAllowGeneratedReplies |
Tanpa pengoperasian | Smart Reply tidak didukung. |