掲示板お問い合わせランダムジャンプ

Navigation
FM安曇78.75MHz内で検索

エントリーナビ

2019年01月04日
ServiceWorkerと通知
PWAを作るときにはServiceWorkerを作る必要がある。
今回作るものは動的に表示が替わるvideoタグがメインだしそんなに使わなそうだが、ホーム画面に登録するためのアイコンだけキャッシュに入れてみた。
バックグラウンドで動いて通知も出せるらしい。ということで通知に対応してみた。
そもそも通知機能が使えるか、permissionがgrantedになっているかをチェック、既に拒否されてないならrequestPermissionを投げる。
試しにnew Notificationとやってみると通知が表示された。
メッセージ、ログインユーザーが追加されたら反映させるところに使うとリアルタイムに通知が来る。
これはいいとしばらく使っていたらカメラ画像が表示されなくなっていた。どうやら落ちているらしい。
スマホをUSBでつないでPCのchromeでデバックできるらしい。ドライバの反応が悪くて苦戦したがなんとかつながった。
見るとServiceWorkerを使っているところでは、new Notificationで通知を表示させてはいけないらしい。Registration.showNotificationを使えということなのだが、文句をいいつつ表示させるのではなく落ちるのがきつい。
本来ならアプリがバックグラウンドに回っても通知からビデオ通話を開始できるのが理想だが、かなり難しそうだ。
Firebaseから通知を出せるのでFirebaseにデータが登録されたら通知を送るようにしたいのだが、Firebaseでトリガーイベントを発行できるわけもなく諦める。ログインやメッセージ送信時に別URLのAPI叩いて通知を発行できるらしいのだが、通知待ちのトークン登録とかそもそも誰に送るのか指定するとかいろいろやるとなると今週中の完成はきつい。これは後回しにする。
ちなみにServiceWorkerに対応していないブラウザなら問題なく通知が表示される。これでもいいのかなと思ったが、今回はPWAにこだわりたい。
いや、Androidアプリにしてしまえば何の問題もなく作れるのだが、今回どこが限界になりそうなのかみたいのもある。
今日の分は失敗だったが、新しいことに挑戦してみるということ自体は無駄じゃなかったと思う。
[ 投稿者:りっく at 15:57 | りっくの日記 | コメント(0) | トラックバック(0) ]