LoginSignup
10
15

More than 5 years have passed since last update.

Lambda(node.js) + Amazon SNSでiPhoneにプッシュ通知を送るサンプルコード

Last updated at Posted at 2018-02-14

Lambdaを使えばサーバーレスでプッシュ通知ができるのでホント便利です。備忘録がてら上手く行ったLambdaのコードを貼っておきます。予め、LambdaにSNSをPublishする権限を与えるのを忘れずに。

APNSの証明書を云々したりiOS側でエンドポイントを確立したりするのはこちらの記事が参考になりました。
AWS SNSを使ってiOSへpush通知

上手く行ったコード

index.js
'use strict';
const AWS = require('aws-sdk');
const sns = new AWS.SNS();

exports.handler = (event, context, callback) => {

    const params = {
        TargetArn: endPointArn,//Amazon SNSによって確立されたプッシュ通知を送る端末のendPointArn
        Message: JSON.stringify({
            APNS:JSON.stringify({//開発環境では"APNS"ではなく"APNS_SANDBOX"
                aps:{
                    alert: {
                        title: "プッシュ通知です",//プッシュ通知のタイトル
                        body: "これはプッシュ通知です!"//プッシュ通知の本文
                    },
                    sound: 'default'
                }
            })
        }),
        MessageStructure: 'json'
    };
    sns.publish(params, function(err,data){
        if(err){
            console.log('SNS 送信エラー:', err);
        }else{
            console.log('SNS 送信成功:', data);
        }
    });

}

たったこれだけです!超便利!

10
15
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
10
15