Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

Android-O: Bagaimana Menggunakan Notification Channels

by
Difficulty:IntermediateLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by Kurniawan Sugi Purwanto (you can also view the original English article)

Final product image
What You'll Be Creating

Google telah meluncurkan pratinjau pengembangan pertaama versi Android berikutnya, saat ini kodenya adalah Android O (mungkinkah Oreo?) Beberapa fitur menarik telah dirilis, dan salah satunya adalah Notification Channels. Dalam tutorial ini, kita akan mengeksplorasi fitur ini dan membuat aplikasi sederhana yang mendemostrasikan fungsionalitas yang disediakannya.

Apa Itu Notification Channels?

Kanal notifikasi (notification channels) memungkinkan kita sebagai pengembang aplikasi untuk mengelompokkan notifikasi berdasarkan grup-grup—channels—dan pengembang punya kemampuan untuk memodifikasi pengaturan notifikasi untuk keseluruhan kanal dalam satu waktu. Sebagai contoh, untuk tiap kanal, pengguna bisa sepenuhnya memblok semua notifikasi, mengabaikan tingkat kepentingan, atau mengizinkan tampilnya notification badge. Fitur baru ini sangat membantu dalam meningkatkan pengalaman pengguna suatu aplikasi.

Kita akan beajar tentang fitur ini dengan membuat aplikasi sederhana bernama "TutsplusAlerts" yang akan menyediakan dua kanal pemberitahuan: Android dan iOS. Pengguna akan menerima pemberitahuan dari salah satu kanal yang terpisah itu apabila ada artikel baru yang dikirimkan.

1. Pengaturan Awal Android O SDK

Untuk mulai menggunakan Android O API, pada saat artikel ini ditulis, Anda akan membutuhkan Android Studion 2.4 Canary yang sudah dipasang di komputer Anda.

Buka Android Studio 2.4 dan SDK Manager dengan mengklik Tools > Android > SDK Manager.

Lalu di tab SDK Platforms, centang Show Package Details. Di bawah Android O Preview, centang: Android SDK Platform O dan Google APIs Intel x86 Atom System Image (hanya disyaratkan untuk emulator).

Android Studio SDK Manager

Selajutnya buka tab SDK Tools dan pilih yang berikut ini:

  • Android SDK Build-Tools 26.0.0 (rc1 atau yang lebih tinggi)
  • Android SDK Platform-Tools 26.0.0 (rc1 atau yang lebih tinggi)
  • Android Emulator 26.0.0
  • Support Repository

Klik tombol OK untuk mengunduh semua komponen ini.

2. Buat Sebuah Android Studio Project

Di Android Studio, buat proyek baru yang bernama TutsplusAlert dengan activity kosong yang bernama MainActivity.

Android Studio new project setup

3. Perbarui build.gradle

Buka file build.gradle di modul aplikasi dan perbarui compileSdkVersion, buildToolsVersion dan targetSdkVersion serta versi Support Library.

Ingatlah untuk melakukan sinkronisasi proyek Anda setelah melakukan beberapa perubahan tersebut.

4. Buat Notification Channels

Buat kelas baru dan beri nama NotificationUtils, memperluas ContextWrapper.

Dalam kode di atas, kita membuat dua instance NotificationChannel, memasukkan suatu id (yang harus unik dalam paket Anda), suatu nama channel, dan juga importance level dalam constructornya. Untuk tiap notification channel, kita mengaplikasikan karakteristik seperti suara, cahaya, vibrasi, dan suatu pemberitahuan untuk ditunjukkan di lock screen. Akhirnya, kita mendapatkan NotificationManager dari sistem dan meregistrasi channelnya dengan memanggil metode createNotificationChannel(), melewati channel yang telah kita buat.

Kita bisa membuat berbagai notification channel secara serentak dengan createNotificationChannels(), memasukkan suatu list Java instance NotificationChannel. Anda bisa mendapatkan semua notification channel untuk aplikasi dengan getNotificationChannels() dan mendapatkan channel khusus dengan getNotificationChannel(), hanya memasukkan channel id sebagai suatu argumen.

Importance Level (Tingkat Kepentingan)

Mulai dari Android O, tingkat prioritas tidak berlaku lagi untuk pemberitahuan individual. Alih-alih, Anda menentukan tingkat kepentingan ketika membuat suatu notification channel—yang berkisar dari NotificationManager.IMPORTANCE_NONE ke NotificationManager.IMPORTANCE_HIGH. Kita akan mengeset channel Android ke IMPORTANCE_DEFAULT, sedangkan yang di iOS channel adalah IMPORTANCE_HIGH.

Daftar lengkap opsi kepentingan (importance) yang ada adalah:

  • IMPORTANCE_MAX: tidak dipakai
  • IMPORTANCE_HIGH: tampil di mana saja, membuat keributan dan muncul tiba-tiba.
  • IMPORTANCE_DEFAULT: tampil di mana saja, membuat keributan, tetapi secara visual tidak mengganggu
  • IMPORTANCE_LOW: tampil di mana saja, tetapi tidak mengganggu
  • IMPORTANCE_MIN: hanya tampil di bawah bayang-bayang, di balik lipatan.
  • IMPORTANCE_NONE: pemberitahuan yang tidak penting; tidak tampil dalam bayang-bayang

Semua pemberitahuan untuk suatu kanal akan diberi tingkat kepentingan yang sama.

5. Membuat Pemberitahuan dan Mengirimkannya ke Kanal

Kita akan membuat dua Notifications untuk masing-masing kanal kita di kelas NotificationUtils yang kita buat. Kita akan menetapkan notifikasi mana yang harus dikirimkan ke suatu kanal dalam Notification.Builder (Android API 25) constructor, yang kita masukkan ke dalam channel id sebagai argumen kedua.

Waspadalah bahwa Notification.Builder() juga memiliki suatu metodee id setter untuk notification channel id setter yang disebut setChannel(String channelId), jadi Anda bisa memilih untuk mengeset id notification channel baik di constructor maupun menggunakan metode setter.

6. Membuat Tata Letak XML

Sekarang kita telah memiliki pengaturan awal untuk membuat dan mengirimkan ke notification channel, mari membuat antarmuka tata letak XML untuk mengirimkan pesaan ke activity_main.xml.

7. Mengirimkan Pemberitahuan ke Kanal

Mengirimkan ke Android Channel

Dalam bagian ini, kita akan menyunting MainActivity supaya bisa mendapatkan judul dan penulis dari komponen EditText dan mengirimnya ke Android channel. Kita mendapatkan Notification.Builder untuk Android channel yang dibuat di NotificationUtils, dan kemudian memberitahu NotificationManager.

Di titik ini, jalankan aplikasinya dan masukkan judul dan penulisnya, lalu klik tombol send untuk menerima notifikasinya secara langsung.

Android app emulator send notification shows in notification drawer

Mengirimkan ke iOS Channel

Di sini kami akan mengirimkan ke kanal iOS. Kita akan mendapatkan Notification.Builder untuk kanal iOS yang kami buat di NotificationUtils kami dan kemudian memanggil metode notify() di NotificationManager.

Jalankan aplikasinya lagi lalu masukkan judul serta penulis, kemudian klik tombol send untuk mengirimkan pemberitahuan secara langsung.

Android app emulator send button click shows notification in drawer

8. Pengaturan Notification Channel

Pada saat artikel ini ditulis, Anda tidak bisa secara terprogram mengubah konfigurasi pengaturan notification channel tertentu. Alih-alih, satu-satunya pilihan yang ada adalah pengguna membuka layar pengaturan notifikasi untuk aplikasi di pengaturan perangkat. Dari sana, pengguna bisa mengakses pengaturan pemberitahuan aplikasi untuk memodifikasi pengaturan seperti getar, suara, dsb.Pengguna bisa menavigasi ke pengaturan pemberitahuan aplikasi dengan salah satu dari cara di bawah ini:

  • Tekan agak lama pemberitahuan di notification drawer (gambar kiri bawah).
  • Settings > Apps & notifications > Notifications > kemudian memilih aplikasinya (gambar di sebelah kanan bawah ini).
Android Emulator app notification settings

Anda juga bisa mengirim pengguna ke pengaturan pemberitahuan channel langsung dari aplikasi Anda. Mari kita lihat bagaimana cara melakukannya untuk kanal Android. Direkomendasikan Anda melakukan ini dalam pengaturan aplikasi Anda untuk membuat pengguna mudah mengakses pilihan pemberitahuan ini.

Menyunting Tata Letak XML

Masukkan tombol lainnya yang akan mengirikan pengguna ke pengaturan pemberitahuan kanal.

Menulis Kode Intent

Di sini kita membuat suatu intent dan memasukkannya ke action SettingsACTION_CHANNEL_NOTIFICATION_SETTINGS (API 25)—dan tambahkan sejumlah nilai ekstra: nama package aplikasi dan id channel. Terakhir, kita memulai pengaturan activity dengan intent.

Jalankan aplikasinya dan klik pengaturan pemberitahuan (notification settings) untuk kanal Android.

Android emulator click android channel notification settings opens device channel settings

Di pengaturan pemberitahuan channel, pengguna bisa menyunting pengaturan seperti mengaktifkan getar, mengubah importance, atau menampilkan suatu badge (jika didukung) untuk channelnya.

Jika Anda ingin membawa pelanggan ke pengaturan pemberitahuan umum untuk aplikasi Anda, itu juga bisa dilakukan dengan suatu Intent:

9. Buat Grup Pemberitahuan

Kita juga bisa mengelompokkan kanal-kanal pemberitahuan supaya bisa dikelola bersama. Hal ini bermanfaat untuk aplikasi yang mendukung banyak akun pengguna. Kanal pemberitahuan yang sama tersedia lintas akun-akun individual. Sebagai contoh, suatu aplikasi jaringan sosial mungkin mencakup untuk akun pengguna personal maupun bisnis. Kode di bawah ini menunjukkan Anda cara membuat grup notification channel:

Kami menggunakan metode NotificationManager createNotificationChannelGroup(), memasukkan suatu instance NotificationChannelGroup ke dalamnya, yang membutuhkan id grup dann nama grup untuk  membuat instance tersebut..

Sekalinya ini selesai, kita harus menyambungkan notification channel ke suatu grup dengan menggunakan metode NotificationChannel.setGroup() dan memasukannya ke id grup. Jika Anda ingin membuat banyak grup pemberitahuan secara bersamaan, gunakan createNotificationChannelGroups(), memasukkan list Java instance NotificationChannelGroup.

10. Menghapus Suatu Notification Channel

Menghapus suatu notification channel cukup mudah jika tidak lagi dibutuhkan. Gunakan saja metode pengelola pemberitahuan deleteNotificationChannel() dan masukkan channel idnya.

Meskipun demikian, waspadilah bahwa channel yang dihapus tetap tampak di pengaturan pemberitahuan untuk mencegah spam.

Kesimpulan

Dalam tutorial ini, Anda belajar tentang Notification Channel untuk Android O: apa mereka dan bagaimana membuatnya, termasuk bagaimana mengirimkan pemberitahuan ke channel, bagaimana mengakses pengaturan pemberitahuan channel, bagaimana mengelompokkan notification channel, dan bagaimana menghapus suatu notification channel.

Untuk belajar lebih lanjut tentang Notification Channel, merujuklah ke dokumentasi resminya. Dan sementara waktu, pelajari sejumlah kursus dan tutorial kami yang lain tentang pengembangan aplikasi Android.


Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.