Push Notification đơn giản với Rails ActionCable

Tram Ho

Trong bài này, mình sẽ xây dựng chức năng push notification đơn giản sử dụng actioncable của Rails.
Như đã biết actionCable được dùng để làm realtime cho ứng dụng của mình.

Bước thực hiện

Tạo một channel cho actioncable

Nó đã tạo 2 file như trên. Bây giờ mình sẽ subscribe vào channel tên là: notifications_channel

Tạo Form

Đơn giản chỉ có một text_field và nút submit để có thể gửi nội dùng push message.
View

Controller

routes

Đến đây, khi submit form, nó sẽ broadcast tới notifications_channel với data object {message: params[:message]})

Làm thế nào để push notification

Ở đây mình sẽ sử dụng Push API để push notification.

https://developer.mozilla.org/en-US/docs/Web/API/Push_API

Để push notification, mình có thể dùng như sau:

Từ đó, mình sẽ áp dụng cái này vào trong notifications_channel trong hàm received như sau:

Như trên, sau khi submit form, controller sẽ broadcast đến notifications_channel. Sau đó hàm received sẽ được thực hiện và call push notification lên.

Đến đây là đã xong. Vào localhost:3000 và chạy thử nhé!

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo