前準備
Amazon SNSを利用してモバイルプッシュ通知を送信するやり方ーコンソール編をご参照ください。
Node.jsでプッシュメッセージを送信
いくつかのポイントがあります。
- 'aws-sdk'モジュールを使えば楽です。
- 東京リージョンはap-northeast-1です。
- 配信プロトコルごとにカスタムペイロードで送信する場合、MessageStructure: "json"の追加は必須です。
- 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);
});
}
サンプル
参考
Amazon SNSを利用してモバイルプッシュ通知を送信するやり方ーコンソール利用
Amazon SNSを利用してモバイルプッシュ通知を送信するやり方ー Node.js
Amazon SNSを利用してモバイルプッシュ通知を送信するやり方ー HMS対応(ソリューション)
Amazon SNSを利用してモバイルプッシュ通知を送信するやり方ー HMS対応(実装)