Service WorkerでPush通知を試す

Task

2018年11月05日 17:56

通常Webサイトはブラウザを開いている間だけ、ユーザに体験を与えることができる。特にSNSではリアルタイム性を重視しているが、それらの体験はサイトやブラウザを閉じてしまうと何も提供できなくなってしまう。
ブラウザとは別に、アプリケーションとして独立したものは通知機能を使って、ユーザがサイトを訪れていない間に何があったのかを知らせることができ、エンゲージメントの向上が期待できる。
Service Workerはブラウザを閉じてしまってもバックグラウンドで動作するため、そのようなプッシュ通知機能が簡単に実装が可能である。 ## プッシュ通知を実装してみる [ServiceWorker を使ってプッシュ通知実装]を参考に実装してみたが、このままでは端末1つにつき1つの通知用スクリプトが必要になるためグループごとの発信や、全体発信は現実的ではない。
そのためconsole.logに表示し手動で入力していたものを、通知を許可した時点でMySQLに登録することで手動登録の必要性がなくなる。
しかし、参考にしたコードでは許可した以後にサイトを訪れるたびMySQLに登録を行ってしまうため、通知許可済みなのかを判断して登録を行うかどうかを判断する必要がある。 [ServiceWorker を使ってプッシュ通知実装]: https://qiita.com/OMOIKANESAN/items/3fa9c84b6d388b06e02e
document.getElementById("mdrender").innerHTML = marked(document.getElementById("mdraw").innerHTML); const tags = document.getElementById("mdrender").querySelectorAll("a"); for (let tag of tags) { tag.setAttribute("target", "_blank"); }

関連記事