1

AWSのドキュメントを検索して数時間を無駄にしましたが、ノードJSを使用してプッシュ通知を送信するAPIとコードを見つけることができませんでした。 AndroidおよびiOS端末でNode JSを使用してAWS SNSプッシュ通知を送信するのに手伝ってもらえますか?ノードJSを使用したAWS SNSプッシュ通知

+0

http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePushBaiduAPI.html – Adiii

+0

http://stackoverflow.com/questions/21609121/anyone-using-node-js-with- amazon-sns-and-apple-push-notifications – Adiii

答えて

2

使用SNS-モバイル

以下の例はPlatformApplicationArn

var SNS = require('sns-mobile'), 


EVENTS = SNS.EVENTS; 

var SNS_KEY_ID = process.env['SNS_KEY_ID'], 
    SNS_ACCESS_KEY = process.env['SNS_ACCESS_KEY'], 
    ANDROID_ARN = process.env['SNS_ANDROID_ARN']; 

var androidApp = new SNS({ 
    platform: SNS.SUPPORTED_PLATFORMS.ANDROID, 
    region: 'eu-west-1', 
    apiVersion: '2010-03-31', 
    accessKeyId: SNS_ACCESS_KEY, 
    secretAccessKey: SNS_KEY_ID, 
    platformApplicationArn: ANDROID_ARN, 
    //sandbox: true (This is required for targetting (iOS) APNS_SANDBOX only) 
}); 

// Add a user, the endpointArn is their unique id 
// endpointArn is required to send messages to the device 
androidApp.addUser('some_fake_deviceid_that_i_made_up', JSON.stringify({ 
    some: 'extra data' 
}), function(err, endpointArn) { 
    if(err) { 
    throw err; 
    } 

    // Send a simple String or data to the client 
    androidApp.sendMessage(enpointArn, 'Hi There!', function(err, messageId) { 
    if(err) { 
     throw err; 
    } 

    console.log('Message sent, ID was: ' + messageId); 
    }); 
}); 

For more detail see documentation

1

によって識別AndroidアプリケーションのためのSNSのインスタンスを作成するには、答えを得ました。

var AWS = require('aws-sdk'); 

AWS.config.update({ 
    accessKeyId: '{AWS_KEY}', 
    secretAccessKey: '{AWS_SECRET}', 
    region: '{SNS_REGION}' 
}); 

var sns = new AWS.SNS(); 

    var payload = { 
    default: 'Hello World', 
    APNS: { 
     aps: { 
     alert: 'Hello World', 
     sound: 'default', 
     badge: 1 
     } 
    } 
    }; 

    // first have to stringify the inner APNS object... 
    payload.APNS = JSON.stringify(payload.APNS); 
    // then have to stringify the entire message payload 
    payload = JSON.stringify(payload); 

    console.log('sending push'); 
    sns.publish({ 
    Message: payload,  // Required 
    MessageStructure: 'json', 
    TargetArn: {{TargetArn}} // Required 
    }, function(err, data) { 
    if (err) { 
     console.log(err.stack); 
     return; 
    } 

    console.log('push sent'); 
    console.log(data); 
    }); 
}); 
関連する問題