バナーナナブログ

宮城県仙台市より、日々思ったことを綴っていくウェブログです。

FCMのquickstart-js/messaging でWebPushを試してみた

こんにちは。

FCMを使ったWebPushについてまとめられたサイトは数多くあったんですが、
とりあえずどんなものか確認したい
ということで「テストまで最速で」をモットーにまとめてみました。

2019/07/04 時点の備忘録として共有します。

quickstartのURLは以下です。

https://github.com/firebase/quickstart-js/tree/master/messaging

Firebaseの登録

まずはじめにFirebaseのプロジェクトを作成します。

f:id:smdbanana:20190704125614p:plain

 プロジェクト名を入力して「プロジェクトを作成」を押下。

f:id:smdbanana:20190704125620p:plain

プロジェクトができあがったら、開始するアプリで「Web」を選択。

f:id:smdbanana:20190704125624p:plain

アプリ名を適当に決めて登録したらFirebase設定が吐き出されます。

f:id:smdbanana:20190704125629p:plain

アプリ右側の歯車を押下。

f:id:smdbanana:20190704125634p:plain

クラウドメッセージング」タブの下部にある「鍵ペアを生成」を押下。

f:id:smdbanana:20190704125639p:plain

鍵情報が発行されます。

f:id:smdbanana:20190704125644p:plain

 

サーバの設定

先ほど登録した内容を使ってサーバ側の設定をします。

今回はnginxを使っているのでDocumentRootは /usr/share/nginx/html/ にしています。

gistc43614a67a3753ef43c3d75bc22282ec

いじる必要があるのは index.html と firebase-messaging-sw.js の2ファイル。

それぞれの変更点はこんな感じ。

index.html

FCM index.html diff refs https://github.com/fireba ...

firebase-messaging-sw.js

FCM firebase-messaging-sw.js.patch diff refs https ...

これで設定は終わり。

 

テストしてみる

設定したページにアクセスすると、最初は通知許可がされていないので権限取得を必要とする。

f:id:smdbanana:20190704125649p:plain

「REQUEST PERMISSION」を押下する。

f:id:smdbanana:20190704125654p:plain

「許可」を押下すると、トークンIDを取得/表示する。

f:id:smdbanana:20190704125659p:plain

表示されたInstance ID Tokenを使って、WebPushを実験する。

スクリプトはこんな感じ。(curlを使ってみた)

gistebfbd1c1884bbe259a04fe806a906b92

クラウドメッセージングタブのサーバーキーをAUTH_KEYに、

Instance ID TokenをSEND_TOに入力し、curlを実行したらPush通知がされた。

f:id:smdbanana:20190704125703p:plain

細かい動きについては各スクリプトを読み解いてくださいな。

 

私からは 、以上です。