解析服务器 - 缺少推送配置?

时间:2017-04-26 04:58:03

标签: amazon-web-services parse-server bitnami

我一直在尝试使用推送通知来处理我的Parse应用程序。我尝试这样做,我将以下代码添加到我的Parse server.js文件中,但是当此代码包含在文件内部时,我的服务器不再启动。我的p12文件可用并链接在下面的代码中(在我的实际服务器上),所以我不确定是什么问题。

push: {
    android: {
      senderId: '...',
      apiKey: '...'
      },
    ios: {
      pfx: '/file/path/to/XXX.p12',
      passphrase: '', // optional password to your p12/PFX
      bundleId: '',
      production: false
    } 
 } 

我的服务器也在Amazon EC2实例上运行。

1 个答案:

答案 0 :(得分:0)

您使用AWS SNS使用推送通知吗?如果是这样,您可以尝试在服务器代码中进行设置:

function sendPhoneNotification() {
    AWS = require('aws-sdk');
    AWS.config.update({
        accessKeyId: '***',
        secretAccessKey: '***',
        region: 'ap-southeast-1'
    });

    var sns = new AWS.SNS();
    var promise = new Parse.Promise();
    sns.createPlatformEndpoint({
        PlatformApplicationArn: '***',
        Token: "***"
    }, function (err, data) {
        if (err) {
        console.log("Error in endpoint" + err.stack);
        //res.error("error stack 1: " + err.stack);
        promise.reject(err.stack);
        return promise;
        }
        var endpointArn = data.EndpointArn;
        var payload = {
        GCM: {
        data: {
        title: "YOUR TITLE",
        message: "HELLO PUSH NOTIFICATION"
        }
        }
        /*  APNS: {
            aps: {
            alert: 'Hello World',
            sound: 'default',
            badge: 1
            }
        }*/
        };
        // payload.APNS = JSON.stringify(payload.APNS);
        payload.GCM = JSON.stringify(payload.GCM);
        payload = JSON.stringify(payload);
        var result = sns.publish({
        Message: payload,
        MessageStructure: 'json',
        TargetArn: endpointArn
        }, function (err, data) {
        if (err) {
            promise.reject(err.stack);
            return promise;
        }
        res.success("push sent " + JSON.stringify(data));

    });

});
return promise;

}