技術ブログ

プログラミング、IT関連の記事中心

Node.jsでFirebase Cloud Messaging(FCM)のPush通知を送信する方法【Node.js】

■はじめに

Firebase Cloud Messaging(以降、FCM)でPush通知を送信するため、「Server Key」と、送信先の「Device Token」が取得できている前提として本手順を記載します。

■手順

Node.jsからFCMに対して、リクエストを送るために、以下のコマンドで、「request」のnpmモジュールをインストールする。

npm install request --save

FCMを送るために、「 https://fcm.googleapis.com/fcm/send 」に対してPOSTリクエストを行い、通知を送ります。

Bodyに通知の情報を設定する必要があります。

以下に、FCMの通知を送信する関数を記載します。

/**
 * プッシュ通知送信処理
 * @param {*} serverKey サーバーキー 
 * @param {*} deviceToken デバイストークン
 * @param {*} title タイトル
 * @param {*} message メッセージ
 */
function pushMessage(serverKey, deviceToken, title, message) {
    var headers = {
        'Content-Type': 'application/json',
        'Authorization': 'key=' + serverKey
    };

    var dataString = '{"to": "' + deviceToken + '", "notification": {"title": "' + title + '", "body": "' + message + '", "sound": "default"}, "priority":"high"}';

    var options = {
        url: 'https://fcm.googleapis.com/fcm/send',
        method: 'POST',
        headers: headers,
        body: dataString
    };

    request(options, callback);
}

上記の関数を呼び出す際には、以下のように呼び出します。

pushMessage({サーバーキー}, {デバイストークン}, {通知タイトル}, {通知内容});

以下が、呼び出しの例です。

pushMessage("AAAA6UEzuRA:APA91bFhX84Xyl-ZZZsssadasanogbeoasjnak0-21-4r1mfoas", "fLc3NGPOgsw:APasdagolrnaeiuiflaksdnlaiuhilab", "タイトル", "メッセージ");