通知送信 ケース1:サーバー側の処理完了をお知らせ
サーバー側で画像生成を行い、処理完了時にお知らせするようなユースケースです。
リクエスト時にデバイストークンを受け取り、5秒待機後に通知を行うLambdaを作成しました。 使用しているAPIはsendMessagesです。
Lambda
await sleep(5000)
const params = {
ApplicationId: applicationId,
MessageRequest: {
"Addresses": {
[body.token]: {
"ChannelType": "GCM"
}
},
"Endpoints": {},
"MessageConfiguration": {
"GCMMessage": {
"Title": "Push Title",
"Action": "URL",
"Body": "Body Message",
"ImageUrl": "https://placekitten.com/200/300",
"ImageIconUrl": "https://placekitten.com/g/96/96",
"Url": body.url || 'http://localhost:8080'
}
}
}
}
const res = await pinpoint.sendMessages(params).promise()
通知が出ました。
注記
他にはsendUsersMessagesで送信することも可能です。(Analytics.updateEndpoint
の際に指定したuserIdに対してメッセージ送信ができます)
Analytics.updateEndpoint({
address: deviceToken,
channelType: "GCM",
optOut: 'NONE',
user: {
userId: "USERID"
}
})