ぬまろぐ

←戻る

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"
}