PWA | curlからFCMでPUSH通知を送ってみる
2021/10/12
FCMでテスト用にプッシュ通知を送るにはコンソールから送る方法がありますが、titleとbodyしか指定できないため、curlでAPIから送る方法を紹介します。
HTTP v1 APIを利用する
こちらは新しいAPIで利用が推奨されています。詳細はこちら ただ、アクセストークンを利用するためトークンを取得するためにADCの利用などが必要で、curl単発で送ることができずコーディングが必要となります。
のでこちらはcurlとは相性が悪いので割愛。ちゃんと開発する際は、こちらを使って送信用のスクリプトを作るのが良いですが。
旧来のHTTPプロトコルを利用する
curlを利用できるのはこちらになります。詳細はこちら
「https://fcm.googleapis.com/fcm/send
」エンドポイントにcurlでPOSTを送れば送信できます。keyはFCMのサーバキーのトークンを入れます。(FCMのコンソールのプロジェクトの設定から確認して貼り付け)
curl.exe -v -H "Content-type: application/json" -H "Authorization:key=xxx" -X POST -d '@data.json' https://fcm.googleapis.com/fcm/send
data.jsonは送るPOSTの中身をファイルに書き出しています。windowsのcurlの場合文字コードの関係でcurlに直接POST電文を書くとエラーとなりめんどいので、ファイルに書き出します。
{
"name": "pwa_push_test",
"notification": {
"title": "notification title2",
"body": "notification body2",
"icon": "./logo.png",
"image": "./image.png"
},
"webpush": {
"fcm_options": {
"link": "https://www.yahoo.co.jp/"
}
},
"data": {
"message": "data message2",
"title": "data title2",
"tag": "message-test-2"
},
"to": "tokenxxxxx"
}