2017-04-26 68 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; 

}