Saya telah membaca selama beberapa jam terakhir tentang Push Notification API dan Web Notification API . Saya juga menemukan bahwa Google & Apple memberikan layanan pemberitahuan push secara gratis melalui GCM dan APNS.
Saya mencoba memahami jika kita dapat menerapkan push notification ke browser menggunakan Desktop Notification, yang saya percaya adalah apa yang dilakukan Web Notification API. Saya melihat dokumentasi google tentang bagaimana hal ini dapat dilakukan untuk Chrome di sini & di sini .
Sekarang yang masih belum bisa saya pahami adalah:
- Bisakah kita menggunakan GCM / APNS untuk mengirim pemberitahuan push ke semua Browser Web termasuk Firefox & Safari?
- Jika tidak melalui GCM, bisakah kita memiliki back-end kita sendiri untuk melakukan hal yang sama?
Saya percaya semua jawaban ini dalam satu jawaban dapat membantu banyak orang yang memiliki kebingungan yang sama.
Jawaban:
Jadi di sini saya menjawab pertanyaan saya sendiri. Saya sudah mendapat jawaban untuk semua pertanyaan saya dari orang-orang yang telah membangun layanan push notification di masa lalu.
Menjawab pertanyaan asli yang diajukan 3 tahun lalu:
Jawaban: Google telah mencabut GCM pada April 2018. Sekarang Anda dapat menggunakan Firebase Cloud Messaging (FCM). Ini mendukung semua platform termasuk browser web.
Jawab: Ya, pemberitahuan push dapat dikirim dari back-end kami sendiri. Dukungan untuk hal yang sama telah datang ke semua browser utama.
Periksa codelab ini dari Google untuk lebih memahami implementasinya.
Beberapa Tutorial:
Menerapkan backend sendiri dalam berbagai bahasa pemrograman .:
Bacaan lebih lanjut: - - Dokumentasi dari situs web Firefox dapat dibaca di sini . - Tinjauan web Push yang sangat baik oleh Google dapat ditemukan di sini. - FAQ yang menjawab kebingungan dan pertanyaan paling umum.
Apakah ada layanan gratis untuk melakukan hal yang sama? Ada beberapa perusahaan yang memberikan solusi serupa dalam model gratis, freemium, dan berbayar. Daftar beberapa di bawah ini:
Catatan: Saat memilih layanan gratis, ingat untuk membaca TOS. Layanan gratis sering kali bekerja dengan mengumpulkan data pengguna untuk berbagai keperluan termasuk analitik.
Selain itu, Anda harus memiliki HTTPS untuk mengirim pemberitahuan push. Namun, Anda bisa mendapatkan https secara bebas melalui letsencrypt.org
sumber
onesignal
, info bagus: 3Javier tercakup Pemberitahuan dan batasan saat ini.
Saran saya:
window.postMessage
sementara kami menunggu browser yang cacat untuk mengejar ketinggalan, yang lainWorker.postMessage()
masih beroperasi dengan Pekerja Web.Ini bisa menjadi opsi mundur dengan penangan tampilan pesan kotak dialog, karena ketika tes fitur Notifikasi gagal atau izin ditolak.
Pemberitahuan memiliki fitur dan pemeriksaan izin yang ditolak:
sumber
Anda dapat mendorong data dari server ke browser melalui Peristiwa Sisi Server . Ini pada dasarnya adalah aliran searah yang klien dapat "berlangganan" dari browser. Dari sini, Anda bisa membuat
Notification
objek baru saat SSE mengalir ke browser:Agak lama, tetapi artikel oleh Eric Bidelman ini menjelaskan dasar-dasar SSE dan memberikan beberapa contoh kode server juga.
sumber
GCM / APNS hanya untuk Chrome dan Safari.
Saya pikir Anda mungkin mencari
Notification
:https://developer.mozilla.org/en-US/docs/Web/API/notification
Ini berfungsi di Chrome, Firefox, Opera dan Safari .
sumber
Saya berasumsi Anda berbicara tentang pemberitahuan push nyata yang dapat dikirim bahkan ketika pengguna tidak menjelajahi situs web Anda (jika tidak, periksa WebSockets atau metode lama seperti polling panjang).
GCM hanya untuk Chrome dan APN hanya untuk Safari. Setiap produsen browser menawarkan layanannya sendiri.
Push API membutuhkan dua backend ! Satu ditawarkan oleh produsen browser dan bertanggung jawab untuk mengirimkan pemberitahuan ke perangkat. Yang lain harus menjadi milik Anda (atau Anda dapat menggunakan layanan pihak ketiga seperti Pushpad ) dan bertanggung jawab untuk memicu pemberitahuan dan menghubungi layanan produsen browser (yaitu GCM, APNs, server push Mozilla ).
Pengungkapan: Saya adalah pendiri Pushpad
sumber
ini adalah cara sederhana untuk melakukan pemberitahuan push untuk semua browser https://pushjs.org
sumber
Bolehkah saya mendefinisikan kembali pertanyaan Anda seperti di bawah ini
Iya. Hingga hari ini (2017/05) , Anda dapat menggunakan implementasi sisi klien dan server yang sama untuk menangani Chrome, Firefox dan Opera (tanpa Safari). Karena mereka telah menerapkan pemberitahuan push web dengan cara yang sama. Itu adalah protokol Push API oleh W3C. Tetapi Safari memiliki arsitektur lamanya sendiri. Jadi kita harus memelihara Safari secara terpisah.
Merujuk repo browser-push untuk garis panduan untuk menerapkan pemberitahuan push web untuk aplikasi web Anda dengan back-end Anda sendiri. Ini menjelaskan dengan contoh bagaimana Anda dapat menambahkan dukungan pemberitahuan push web untuk aplikasi web Anda tanpa layanan pihak ketiga.
sumber
Sampai sekarang GCM hanya berfungsi untuk chrome dan android. demikian pula firefox dan browser lain memiliki api sendiri.
Sekarang sampai pada pertanyaan bagaimana menerapkan pemberitahuan push sehingga akan bekerja untuk semua browser umum dengan back end sendiri.
2.Setelah mendapatkan titik akhir menggunakan Ajax simpan bersama dengan nama browser.
3. Anda harus membuat back end yang memiliki bidang untuk judul, pesan, ikon, klik URL sesuai kebutuhan Anda. sekarang setelah klik kirim pemberitahuan, panggil fungsi say send_push (). Dalam kode tulis ini untuk browser yang berbeda misalnya
3.1. untuk chrome
3.2. untuk mozilla
untuk peramban lain, silakan google ...
sumber
Saya sarankan menggunakan pubnub. Saya mencoba menggunakan ServiceWorkers dan PushNotification dari browser, namun ketika saya mencobanya, tampilan web tidak mendukung ini.
https://www.pubnub.com/docs/web-javascript/pubnub-javascript-sdk
sumber