0Pricing
React Academy · Pelajaran

Notifications API dan Penanganan Izin

Minta izin notifikasi pada waktu yang tepat dan kirim notifikasi browser dari React.

Notifications API dan Penanganan Izin adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.

Properti Notification.permission

Notification.permission adalah teks statis yang mencerminkan status izin saat ini. Nilainya dapat berupa "granted" (pengguna mengizinkan), "denied" (pengguna memblokir), atau "default" (belum pernah diminta). Periksa properti ini sebelum mencoba menampilkan notifikasi agar terhindar dari kesalahan yang tidak perlu.

Meminta Izin

Notification.requestPermission() mengembalikan Promise yang selesai dengan teks izin baru. Panggil fungsi ini hanya sebagai tanggapan atas tindakan pengguna yang jelas, bukan saat halaman dimuat. Peramban mengabaikan atau menekan permintaan izin yang langsung muncul saat pemuatan, dan pengguna merasa terganggu ketika permintaan tersebut muncul tanpa konteks.

Praktik Terbaik: Meminta Izin setelah Tindakan Pengguna

Pola yang paling efektif adalah menampilkan permintaan dalam aplikasi yang menjelaskan manfaatnya, lalu membiarkan pengguna mengeklik "Aktifkan notifikasi" sebelum memanggil requestPermission(). Cara ini memberikan konteks, meningkatkan tingkat persetujuan, dan mencegah peramban menandai situs Anda sebagai pengganggu. Jangan pernah meminta izin saat halaman dimuat.

Membuat Notifikasi

new Notification(title, options) membuat dan menampilkan notifikasi sistem. Argumen pertama adalah teks judul. Objek options merupakan argumen kedua dan menerima properti seperti body (teks subjudul), icon (URL gambar), dan tag untuk mencegah duplikasi. Fitur ini hanya berfungsi jika izinnya adalah "granted".

Opsi Notifikasi

Opsi notifikasi utama meliputi: body untuk teks penjelas di bawah judul, icon untuk gambar kecil, badge untuk ikon monokrom kecil yang ditampilkan di area notifikasi OS, image untuk gambar besar di dalam notifikasi, tag untuk mengganti notifikasi sebelumnya dengan tag yang sama, dan requireInteraction: true untuk mempertahankan notifikasi sampai pengguna bertindak.

Peristiwa Notifikasi

Instans Notification memicu beberapa peristiwa: onclick dipicu ketika pengguna mengeklik notifikasi (gunakan untuk memfokuskan jendela dan melakukan navigasi), onclose dipicu ketika notifikasi ditutup, dan onerror dipicu jika terjadi masalah saat membuatnya. Pasang penangan pada instans yang dikembalikan setelah memanggil new Notification().

Menutup Notifikasi secara Terprogram

Simpan instans Notification yang dikembalikan dalam sebuah variabel, lalu panggil notification.close() untuk menutupnya secara terprogram. Cara ini berguna untuk notifikasi yang sensitif terhadap waktu dan menjadi tidak relevan setelah beberapa saat. Gabungkan dengan setTimeout untuk menutupnya secara otomatis setelah beberapa detik.

Persyaratan HTTPS untuk Notifikasi

API Notifikasi memerlukan konteks aman. Pada halaman HTTP, typeof Notification === 'undefined' dapat bernilai demikian, atau API dapat dinonaktifkan sepenuhnya, bergantung pada perambannya. Ini merupakan langkah keamanan untuk mencegah situs berbahaya membanjiri pengguna dengan pesan sistem palsu. Selalu periksa ketersediaannya sebelum menggunakan API ini.

Membangun Hook useNotifications

Hook useNotifications dapat menyediakan dua metode: requestPermission() dan showNotification(title, options). Hook ini secara internal melacak status izin saat ini dan memperbaruinya setelah permintaan dibuat. Komponen dapat memanggil showNotification tanpa mengkhawatirkan pemeriksaan izin karena hook menanganinya secara internal.

Menggabungkan dengan API Visibilitas

API Visibilitas Halaman menyediakan document.hidden dan peristiwa visibilitychange. Notifikasi paling berguna ketika pengguna tidak sedang melihat tab tersebut. Periksa document.hidden === true sebelum menampilkan notifikasi agar tidak memberikan pemberitahuan berulang ketika halaman sudah berada di latar depan.

Pekerja Layanan dan Notifikasi Push

API Notifikasi yang ditampilkan di sini digunakan untuk notifikasi yang dipicu secara lokal dari halaman itu sendiri. Untuk notifikasi push yang tiba meskipun halaman ditutup, Anda memerlukan Push API yang digabungkan dengan pekerja layanan. Pekerja layanan menerima peristiwa push dan memanggil self.registration.showNotification() dari latar belakang.

Nilai Notification.permission

Manakah dari pilihan berikut yang BUKAN nilai valid untuk Notification.permission?

Ringkasan Pelajaran: API Notifikasi

Notification.permission dapat bernilai granted, denied, atau default. Selalu minta izin setelah tindakan pengguna, bukan saat halaman dimuat. Gunakan new Notification(title, options) untuk membuat notifikasi dan tangani onclick untuk memfokuskan jendela. Gabungkan dengan API Visibilitas agar notifikasi hanya ditampilkan ketika tab disembunyikan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Notifications API dan Penanganan Izin” gratis?

Ya — teks lengkap “Notifications API dan Penanganan Izin” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Notifications API dan Penanganan Izin”?

Minta izin notifikasi pada waktu yang tepat dan kirim notifikasi browser dari React. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai React Academy?

Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Notifications API dan Penanganan Izin” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?

Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Clipboard API: Menyalin dan Menempel di React
  2. Geolocation API dalam Komponen React
  3. Notifications API dan Penanganan Izin
  4. IntersectionObserver untuk Efek yang Dipicu Guliran
← Kembali ke React Academy