Membuat notifikasi Update Live

Sistem akan mempromosikan notifikasi Info Terbaru. Notifikasi yang dipromosikan muncul lebih jelas di platform sistem, termasuk di bagian atas panel samping notifikasi dan layar kunci, serta sebagai chip di status bar.

Gambar 1. Contoh notifikasi Update Langsung.

Kartu notifikasi yang dipromosikan memiliki karakteristik tampilan berikut:

  • Diperluas secara default
  • Tidak dapat diciutkan

Notifikasi Anda harus memenuhi persyaratan berikut agar memenuhi syarat sebagai update live:

  • Harus berupa Gaya Standar, BigTextStyle, CallStyle, atau ProgressStyle.
  • Harus meminta izin non-runtime berikut dalam manifes android android.permission.POST_PROMOTED_NOTIFICATIONS.
  • Harus meminta promosi menggunakan EXTRA_REQUEST_PROMOTED_ONGOING atau NotificationCompat.Builder#requestPromotedOngoing.
  • Harus berupa ongoing (tetapkan FLAG_ONGOING_EVENT).
  • Harus memiliki set contentTitle.
  • TIDAK boleh memiliki setelan customContentView (tidak ada RemoteViews).
  • TIDAK boleh menjadi ringkasan grup yang menggunakan setGroupSummary.
  • TIDAK boleh setColorized ke TRUE.
  • Saluran notifikasi TIDAK boleh memiliki IMPORTANCE_MIN.

Karakteristik promosi

API berikut membantu Anda menentukan apakah sistem akan mempromosikan notifikasi Anda:

  • Notification.FLAG_PROMOTED_ONGOING menunjukkan apakah notifikasi dipromosikan.
  • Notification.hasPromotableCharacteristics() memvalidasi apakah sistem dapat mempromosikan notifikasi. Metode ini tidak mempertimbangkan apakah pengguna menonaktifkan Update Langsung untuk aplikasi di setelan.
  • NotificationManager.canPostPromotedNotifications() memeriksa apakah aplikasi Anda dapat memposting notifikasi yang dipromosikan, misalnya, jika pengguna mengaktifkan atau menonaktifkannya di setelan.
  • Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS adalah tindakan intent yang memungkinkan aplikasi mengirim pengguna ke Setelan untuk mengaktifkan fitur ini.

Kriteria penggunaan

Gunakan Info Terbaru Langsung untuk aktivitas yang sedang berlangsung, dimulai oleh pengguna, dan sensitif terhadap waktu.

Sedang berlangsung

Pembaruan Langsung harus merepresentasikan aktivitas yang sedang berlangsung secara aktif, dengan awal dan akhir yang berbeda. Jika aktivitas terjadi di masa lalu, jangan gunakan Pembaruan Langsung. Sebagai gantinya, gunakan notifikasi standar. Hal ini juga berlaku untuk acara yang belum dimulai, meskipun acara yang akan dimulai dapat menggunakan Info Terbaru Live.

Info Terbaru Langsung menampilkan aktivitas yang sedang berlangsung. Jangan gunakan Info Terbaru untuk menawarkan akses yang lebih cepat ke fungsi aplikasi. Jika Anda ingin melakukannya, gunakan widget aplikasi atau kartu Setelan Cepat kustom.

  • Penggunaan yang tepat: Navigasi aktif, panggilan telepon yang sedang berlangsung, pelacakan layanan transportasi online yang aktif, dan pelacakan pengiriman makanan yang aktif.
  • Penggunaan yang tidak pantas: Iklan, promosi, pesan chat, pemberitahuan, acara kalender mendatang, dan akses cepat ke fitur aplikasi.

Dimulai oleh pengguna

Sebagian besar Info Langsung harus merepresentasikan aktivitas yang dipicu secara eksplisit oleh pengguna, seperti memulai latihan fisik, memulai navigasi mengemudi, atau memanggil kendaraan berbagi tumpangan. Jangan menampilkan informasi sekitar, seperti informasi tentang lingkungan, minat, atau acara mendatang pengguna, dalam Info Terbaru Live. Jangan izinkan aktivitas yang dipicu oleh pihak lain untuk membuat Info Langsung.

Terkadang, pengguna dapat melakukan tindakan yang memulai aktivitas untuk beberapa waktu di masa mendatang. Misalnya, jika pengguna membeli tiket penerbangan atau konser, mendaftar ke turnamen, atau menunjukkan kehadiran mereka di masa mendatang ke acara yang sensitif terhadap waktu. Dalam kasus ini, sebaiknya menampilkan Pembaruan Langsung secara otomatis saat acara terjadwal dimulai. Namun, aplikasi harus menyesuaikan pemicunya agar hanya muncul saat aktivitas akan segera dimulai. Jika pengguna secara eksplisit menunjukkan bahwa mereka ingin mulai memantau acara latar belakang seperti pertandingan olahraga, Anda dapat mulai memposting Info Live untuk acara tersebut. Namun, Anda juga harus menyertakan tindakan Lepaskan di notifikasi terkait.

Mendesak

Tampilkan Pembaruan Langsung hanya jika memerlukan perhatian pengguna selama aktivitas. Kasus penggunaan utama untuk Info Langsung adalah pemantauan, saat pengguna mendapatkan manfaat signifikan dari melihat sekilas Info Langsung untuk mengawasi status aktivitas yang terus berubah.

Update Langsung sering kali sesuai untuk aktivitas yang bertransisi antara Update Langsung dan notifikasi normal. Misalnya, menampilkan notifikasi boarding pass beberapa jam sebelum penerbangan pengguna sudah tepat, tetapi notifikasi tersebut harus menjadi Info Langsung hanya jika pengguna sangat membutuhkannya, seperti saat mereka tiba di bandara atau tempat acara atau setelah boarding dimulai. Sebaliknya, Update Langsung tidak sesuai untuk melacak paket karena pengguna tidak perlu terus-menerus memantaunya.

Chip Status

Chip status memungkinkan pengguna melacak Info Terbaru Langsung saat notifikasi tidak terlihat. Gunakan setShortCriticalText atau setWhen untuk menyampaikan informasi status penting terkait notifikasi berfokus progres Anda.

chip status dengan ikon
Gambar 2. Status tidak ditentukan menampilkan ikon kecil, Notification.Builder#setSmallIcon.
chip status dengan waktu
Gambar 3. Gunakan Notification.Builder#setShortCriticalText untuk menampilkan waktu absolut.
chip status dengan info
Gambar 4. Gunakan Notification.Builder#setShortCriticalText untuk menyampaikan informasi penting.

Saat waktu

Waktu "when" memicu hitung mundur untuk durasi notifikasi, kecuali notifikasi diabaikan atau diperbarui. Butir berikut menjelaskan cara kerja waktu dalam berbagai situasi:

  • Waktu "kapan" setidaknya 2 menit ke depan: Jika waktu saat ini adalah 10.05 pagi dan waktu "kapan" disetel ke 10.10 pagi, maka chip akan menampilkan 5 mnt.
  • Waktu "kapan" lebih dari 1 menit yang lalu: Notifikasi tidak ditampilkan.
  • Timer di chip dapat ditampilkan saat menggunakan Chronometer untuk waktu. Lihat setUsesChronometer dan setChronometerCountdown. Timer Kronometer ditampilkan dalam chip selama nilainya positif.
  • Anda tidak ingin waktu ditampilkan di notifikasi: Gunakan setShowWhen ke FALSE.

Tampilan chip status

Chip status selalu menyertakan ikon, dan secara opsional menyertakan teks. Chip memiliki lebar maksimum 96 dp. Teks hanya akan ditampilkan jika seluruh teks dapat muat di dalam chip. Teks ditampilkan berdasarkan kriteria berikut:

  • Jika kurang dari 7 karakter, tampilkan seluruh teks.
  • Jika kurang dari setengah teks akan ditampilkan, hanya tampilkan ikon.
  • Jika lebih dari setengah teks akan ditampilkan, tunjukkan teks sebanyak mungkin.

Penutupan

Pengguna dapat mengontrol visibilitas notifikasi di panel notifikasi. Memposting Info Terbaru Langsung yang tidak diinginkan dapat menyebabkan pengguna mencabut izin posting aplikasi.

Untuk mencegah pengguna menonaktifkan Info Terbaru Langsung sepenuhnya, hindari memposting info terbaru yang mungkin ditutup oleh pengguna. Jangan memposting ulang Info Terbaru Langsung yang ditutup oleh pengguna. Gunakan setDeleteIntent untuk mendeteksi update yang ditutup.

Lihat aplikasi contoh untuk bereksperimen dengan API ini.