DRYな備忘録

Don't Repeat Yourself.

サーバからブラウザにプッシュ通知を送りたい(非WebSocket、非ロングポーリング)

追記 2017/06/19

このエントリで絶賛してる公式ドキュメントがいつの間にかすっげーわかりづらいものになってたので、あらためて自分でサンプル書いたやつがこちらです。

otiai10.hatenablog.com

以下原文

Progressive Web App Dev Summit っていうのがあったので行ってきました。結論から言うとめっちゃ面白かったです。

events.withgoogle.com

個人的にはだいたいの場合「ネイティブアプリが作りたい」と思う同期の多くが「プッシュ通知したい」だったので、ウェブで完結してプッシュ通知できるんならそれはとっても嬉しいな、って。

ゴール

  • サーバからのプッシュ通知を
    • PCのChromeが受け取れる
    • サーバ(GCM)からのプッシュなので、WebSocketとかロングポーリングとかしてnew Notificationして…、とかやらなくていい!

f:id:otiai10:20160622051523p:plain

参考

作業記録

実際の作業記録はこれです: Commits · otiai10/push-notifications · GitHub

マジでこれなので、詰まったところだけ備忘録します

ServiceWorkerが更新されない問題

問題

  • sw.jsの内容を更新したのに、出てくるpushNotificationのアイコンとかが変わってないよ

解決

雑感

  • ぜんぜん詰まらなかった。ドキュメントがめちゃくそ丁寧!
  • これをAndroidChrome相手にやれば、ネイティブのスリープ画面での通知トーストとかが使える!はず!最高!
  • Progressive Web App dev summit、すげー面白かったです
    • #pwadevsummit - Twitter Search
    • もちろんpushNotificationも具体的でよかったんですが、
    • Offline First
      • ServiceWorkerを活用したcache
    • 全体的には、manifest.jsonとServiceWorkerがすげえな、っていう印象です(雑)

DRYな備忘録として