2017-04-26 69 views
0

我一直试图让推送通知与我的分析应用程序一起工作。我试图这样做,我将下面的代码添加到我的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实例上。

回答

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; 

}