アプリでプッシュ通知を使うことを想定して、cordovaのfirebaseトークン取得プラグインcordova-plugin-fcmを
使ってfirabseのrestAPIからプッシュ通知をしてみました。
少し前に書いたOneSignalのような要領でAPIを叩いてレスポンスを受け取る
ことができる上、無料でサービスを使うことができます。
restAPIの基本的な飛ばし方は以下の通り。
①cordova plugin add cordova-plugin-fcmでインストール
②index.jsに以下のように記述。getTokenでfcmのトークンを取得。
これは後で使うので保存しておきます。
下のonNotificationで通知をクリックした際のリアクションを
書くことができます。
</pre> window.FCMPlugin.getToken(function (token) { console.log(token); }); window.FCMPlugin.onNotification(function (data) { if (data.wasTapped) { window.localStorage.setItem('noticeCategory', data.category); } }); <pre>
③postmanでheaderとbodyを書いていきます。ヘッダーには
Content-TypeとAuthorization(サーバーkey)を書いていきます。サーバーkeyは
firabaseのダッシュボードから登録したアプリのページに飛んで入手することができます。
まとめると以下のような感じ↓
Content-Type application/json
Authorization key=”rfdghydtdhtgfdpykhgno@rtg@bjbogo@btrgbjfjbgfb@gbfnbj”
④同じくpostmanでの作業。bodyにrowを指定します。ベーシックな書き方だとこんな感じ。
toには先ほど保存したtokenをコピー。priorityは変えずにhigh(変えるとiosで通知が受け取れなくなる)
{ "to": "fdffrebgfrtgyjju@yupyj76oujy@jpmkljyfdfkg" , "priority": "high", "notification": { "title": "Test", "body": "テストです", "icon": "icon", "color": "#99cc22", "content_available" : true } }
⑤urlを”https://fcm.googleapis.com/fcm/send”に設定。リクエストはpost。
⑥sendをクリック。以下のような通知が来れば成功です。
この他にもカスタマイズ次第でフォアグラウンド時にプッシュ通知を受け取ることができたり
時間指定もできたりと中々の万能っぷり。サーバーサイドの知識がないとカスタマイズは難しいかな
と思ったのですが基本的なことは公式が網羅してくれているので慣れればいいアプリが
作れそうです。