1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Amazon SNSを利用してモバイルプッシュ通知を送信するやり方ー Node.js

Last updated at Posted at 2021-03-10

前準備

Amazon SNSを利用してモバイルプッシュ通知を送信するやり方ーコンソール編をご参照ください。

Node.jsでプッシュメッセージを送信

いくつかのポイントがあります。

  1. 'aws-sdk'モジュールを使えば楽です。
  2. 東京リージョンはap-northeast-1です。
  3. 配信プロトコルごとにカスタムペイロードで送信する場合、MessageStructure: "json"の追加は必須です。
  4. AWS.SNS().publish()でプッシュメッセージを送信します。
index.js
// AWS SDKをロードする
const AWS = require('aws-sdk');
// リージョンを設定する
AWS.config.update({region: 'ap-northeast-1'});

exports.handler = function (event, context, callback) {
    // プッシュのパラメータを設定する
    const params = {
        // プッシュ内容
        Message: JSON.stringify({
            default: "何かのメッセージ",
            GCM: {ペイロードを参照}
        }),
        // 配信プロトコルごとにカスタムペイロードに設定する
        MessageStructure: "json",
        // 対象トピック
        TopicArn: '{あなたのトピックのARN}'
    };

    // Amazon SNSにアクセスするためのPromiseを作成する
    const sns = new AWS.SNS();
    const promise = new Promise((resolve, reject) => {
            sns.publish(params, (error, data) => {
                if (error) {
                    reject(error);
                    return;
                }
                resolve(data);
            });
        });

    // Promiseを実行
    promise.then((result) => {
        const response = {
            'statusCode': 200,
            'headers': {
                'Content-type': 'application/json'
            },
            'body': JSON.stringify(result)
        }
        // 結果を出力
        callback(null, response);
    }).catch((error) => {
        const response = {
            'statusCode': 500,
            'headers': {
                'Content-type': 'application/json'
            },
            'body': JSON.stringify(error)
        }
        // エラー結果を出力
        callback(null, response);
    });
}

サンプル

https://github.com/Rei2020GitHub/MyPublicProject/tree/master/AWS/amazon-sns-demo-send-push-notification

参考

Amazon SNSを利用してモバイルプッシュ通知を送信するやり方ーコンソール利用
Amazon SNSを利用してモバイルプッシュ通知を送信するやり方ー Node.js
Amazon SNSを利用してモバイルプッシュ通知を送信するやり方ー HMS対応(ソリューション)
Amazon SNSを利用してモバイルプッシュ通知を送信するやり方ー HMS対応(実装)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?