Cara Mengintegrasikan Pemberitahuan Push ke PWA Anda
Diterbitkan: 2021-04-28Daftar Isi
Dalam tutorial kami hari ini, kami akan mengintegrasikan Push Notifications ke dalam PWA menggunakan Firebase, atau lebih khusus lagi, menggunakan fitur Cloud Messaging di dalamnya yang memungkinkan pengiriman pesan menggunakan permintaan HTTPS.
Aplikasi Web Progresif dan Pemberitahuan Push
Karena Progressive Web App adalah gerakan yang selalu berubah, tidak mengherankan untuk melihat bahwa teknologi itu sendiri telah menjadi setara (dari segi fungsi) dengan rekan aplikasi aslinya.
Bacaan yang disarankan: PWA vs Asli: Mana yang Lebih Cocok untuk Anda?
Pemicu notifikasi memberi pengembang kemampuan untuk menjadwalkan notifikasi, meskipun perangkat pengguna dalam mode pesawat.
Jon Krafcik, Chrome Dev Summit 2019

Dengan semua perubahan radikal ini, akan sia-sia jika tidak memanfaatkannya untuk mendorong lebih banyak pendapatan ke PWA Anda. Dan itu bahkan bukan sesuatu yang terlalu rumit karena Anda dapat dengan mudah mengatur fungsi Pemberitahuan Push Anda sendiri menggunakan tutorial ini.
Bacaan yang direkomendasikan: 9 Fitur yang Harus Dimiliki dari Progressive Web App (PWA) untuk E-Commerce
Cara mengintegrasikan Pemberitahuan Push ke PWA Anda
Dalam tutorial kami hari ini, kami akan mengintegrasikan Push Notifications ke dalam PWA menggunakan Firebase , khususnya fitur Cloud Messaging di dalamnya yang memungkinkan pengiriman pesan menggunakan permintaan HTTPS.
Prasyarat
- Akun Firebase (karena Anda akan membuat proyek di dalam Firebase)
- Aplikasi Web Progresif. Untuk demonstrasi yang disederhanakan, kami akan menggunakan create-react-app yang merupakan PWA dasar yang dapat dibuat menggunakan perintah

Langkah 1 : Buat PWA dasar
Karena kita akan membuat PWA dasar menggunakan create-react-app, mari download NodeJS terlebih dahulu. Setelah Anda selesai menginstal NodeJS, buka Command Prompt NodeJS dan jalankan perintah berikut.
Untuk membuat aplikasi React sederhana di direktori yang Anda tentukan:
npx create-react-app direktori-pwa Anda
Ubah direktori kerja saat ini ke aplikasi React yang baru Anda buat:
cd direktori-pwa Anda
Tambahkan pustaka JavaScript Firebase ke proyek:
npm instal firebase --save

Langkah 2: Buat push-notification.js
Anda
Langkah selanjutnya adalah membuat modul yang akan bertanggung jawab atas semua pemrosesan notifikasi Anda. Di <your-pwa-directory>\src
, buat file bernama push-notification.js
.
Pertama, mari buat fungsi yang menginisialisasi Firebase dan meneruskan kunci proyek Anda. Anda dapat menemukan kunci untuk proyek Anda dengan masuk ke Firebase > Tinjauan Proyek → Pengaturan Proyek dan klik ikon ini:

Ini akan mengarahkan Anda ke halaman lain yang berisi Firebase SDK untuk PWA Anda:

Sekarang setelah kita memiliki kunci untuk proyek kita, mari tambahkan kode berikut ke dalam push-notification.js
Anda.
impor firebase dari 'firebase'; ekspor const initializeFirebase = () => { firebase.initializeApp({ apiKey: "XXXXXXXXXXXXXXX", authDomain: "XXXXXXXXXXXXX", databaseURL: "XXXXXXXXXXXXXXX", projectId: "XXXXXXXXXXXXX", storageBucket: "XXXXXXXXXXXXXXX", messagingSenderId: "XXXXXXXXXXXXXXX", appId: "XXXXXXXXXXXXXXX" }); }
Dengan ini Anda telah membuat fungsi yang bertanggung jawab atas semua pemrosesan notifikasi Anda, sekarang Anda harus mengimpor dan memanggilnya. Edit index.js
Anda seperti ini:
impor Bereaksi dari 'bereaksi'; impor ReactDOM dari 'react-dom'; impor './index.css'; impor Aplikasi dari './Aplikasi'; import * sebagai serviceWorkerRegistration dari './serviceWorkerRegistration'; impor reportWebVitals dari './reportWebVitals'; impor firebase dari 'firebase'; impor { initializeFirebase } dari './push-notification'; ReactDOM.render(<App />, document.getElementById('root')); inisialisasiFirebase();
Langkah 3: Buat pekerja layanan
Service Worker adalah nama teknologi di balik Progressive Web App, yang mendukung kemampuan offline, pemberitahuan push, dan caching sumber daya.
SimiCart, Yang Perlu Anda Ketahui Tentang Aplikasi Web Progresif
Pekerja layanan diperlukan untuk menerima acara onMessage
dan akibatnya, memungkinkan pemberitahuan dikirim ke perangkat pengguna. Secara default, Firebase secara otomatis mencari file bernama firebase-messaging-sw.js
.

Mari tambahkan firebase-messaging-sw.js
ke direktori tempat file Anda disajikan. Karena milik kami adalah proyek create-react-app
, firebase-messaging-sw.js
ini akan berada di folder publik kami:
importScripts('https://www.gstatic.com/firebasejs/8.4.1/firebase-app.js'); importScripts('https://www.gstatic.com/firebasejs/8.4.1/firebase-messaging.js'); firebase.initializeApp({ apiKey: "XXXXXXXXXXXXXXX", authDomain: "XXXXXXXXXXXXX", databaseURL: "XXXXXXXXXXXXXXX", projectId: "XXXXXXXXXXXXX", storageBucket: "XXXXXXXXXXXXXXX", messagingSenderId: "XXXXXXXXXXXXXXX", appId: "XXXXXXXXXXXXXXX" }); const messaging = firebase.messaging();
Jika Anda belum pernah mendengar tentang PWA Service Worker, kami memiliki artikel eksklusif untuk Anda pelajari semua tentang teknologi luar biasa ini.
Langkah 4: Minta izin pengguna untuk mengirim pemberitahuan
Ini adalah usia privasi, dan Anda tidak ingin mengganggu pengguna Anda dengan mengirimkan pemberitahuan yang tidak diinginkan dan tidak sah!
Untuk meminta izin pengguna Anda, cukup tambahkan ini ke push-notification.js
Anda :
impor firebase dari 'firebase'; ekspor const initializeFirebase = () => { firebase.initializeApp({ apiKey: "XXXXXXXXXXXXXXX", authDomain: "XXXXXXXXXXXXX", databaseURL: "XXXXXXXXXXXXXXX", projectId: "XXXXXXXXXXXXX", storageBucket: "XXXXXXXXXXXXXXX", messagingSenderId: "XXXXXXXXXXXXXXX", appId: "XXXXXXXXXXXXXXX" }); } ekspor const askForPermissionToReceiveNotifications = async () => { mencoba { const messaging = firebase.messaging(); menunggu messaging.requestPermission(); const token = menunggu pesan.getToken(); console.log('Token Anda adalah:', token); tanda kembali; } tangkap (kesalahan) { console.error(kesalahan); } }
Dan karena fungsi ini perlu dipanggil dari suatu tempat, jadi kami akan menambahkannya dengan mengklik tombol. Edit file app.js
di direktori /src/ Anda seperti:
impor logo dari './logo.svg'; impor './App.css'; import { askForPermissionToReceiveNotifications } dari './push-notification'; fungsi Aplikasi() { kembali ( <div className="Aplikasi"> <header className="App-header"> <img src={logo} className="Logo-aplikasi" alt="logo" /> <p> Edit <code>src/App.js</code> dan simpan untuk memuat ulang. </p> <a className="Tautan aplikasi" href="https://reactjs.org" target="_kosong" rel="noopener noreferrer" > Pelajari Bereaksi </a> <button onClick={askForPermissionToReceiveNotifications} > Klik untuk menerima notifikasi </tombol> </header> </div> ); } ekspor Aplikasi default;
Sekarang mari kita mulai proyek kita dan Anda akan melihat tombol Klik untuk menerima pemberitahuan seperti ini:

Klik pada tombol dan Anda akan melihat popup yang meminta izin Anda:

Klik Izinkan dan periksa konsol browser Anda. Anda akan melihat pesan yang memberi tahu Anda tentang token Anda:

Sekarang simpan token ini di tempat lain karena Anda akan membutuhkannya di langkah berikutnya.
Langkah 5: Kirim pemberitahuan push dengan Postman
Pada langkah berikutnya, kita akan menggunakan Postman untuk mengirim notifikasi menggunakan layanan Cloud Messaging Firebase.
Di Postman, buat permintaan POST dengan informasi berikut:
- URL Permintaan : https://fcm.googleapis.com/fcm/send
- Header : Di header permintaan POST Anda, Anda harus memiliki kunci berikut:
Otorisasi: kunci = SERVER_KEY
Tipe-Konten : aplikasi/json

Catatan : SERVER_KEY
dapat ditemukan di bawah tab Cloud Messaging di setelan Firebase Anda
- Body : Isi body request POST Anda dengan kode berikut:
{ "pemberitahuan": { "title": "SimiCart", "body": "Tes pemberitahuan push", "click_action": "http://localhost:3000/", "ikon": "https://i.imgur.com/5zO5cce.png" } "ke": "USER_TOKEN" }
Ganti USER_TOKEN
dengan token yang Anda peroleh (dengan mengklik tombol Click to accept notification ) pada Langkah 4. Jangan lupa untuk memilih Body type sebagai raw dan JSON .

Sekarang klik Kirim dan Anda akan melihat pemberitahuan muncul di sudut kanan bawah Anda:

Catatan : Notifikasi ini hanya muncul saat aplikasi berada di latar belakang atau diminimalkan.
Selamat! PWA Anda sekarang dapat mengirim notifikasi!
Kesimpulan
Kami berharap setelah panduan ini, Anda sekarang dapat dengan percaya diri mengatur fungsi pemberitahuan push Anda sendiri. Menjadi teknologi baru, Progressive Web Apps merupakan hal yang rumit bagi pengguna yang tidak paham teknologi, itulah sebabnya ada penyedia solusi yang tersedia seperti SimiCart yang dapat memenuhi setiap kebutuhan Anda dengan pengalaman bertahun-tahun di PWA.