如何在解析服务器上配置推送通知?

时间:2016-03-23 04:20:29

标签: parse-platform push-notification parse-server

我已经在Heroku和mongoDb上使用GitHub上的parse-server-example的修改后的fork部署了一个Parse Server。我在这里查看了如何在解析服务器上发送推送通知的维基:https://github.com/ParsePlatform/parse-server/wiki/Push 但我正在寻求更深入的回应。我的云代码(cloud / main.js)发送预定的推送通知(在托管的Parse版本上正常运行)是

    Parse.Cloud.define('sendPush', function(request, response) {


    var userQuery = new Parse.Query(Parse.User);
    userQuery.equalTo('username', request.params.targetUsername);


    var pushQuery = new Parse.Query(Parse.Installation);
    pushQuery.matchesQuery('user', userQuery);


   Parse.Push.send({
   where: pushQuery,
     data: {
        alert: 'You have a new message from ' + request.params.fromUsername + '!'
      }, 
      push_time: request.params.date
    }, {
      success: function() {
        // Push was successful
        response.success('push successful')
      },
      error: function(error) {
        // Handle error
        response.error('push failed')
      }
   });

    });

我正在严格使用iOS,我希望在我的Parse Server上再次使用此代码功能。维基指南说我需要配置Parse服务器,我不知道该怎么做或在哪里做。任何帮助表示赞赏。感谢

4 个答案:

答案 0 :(得分:2)

来自parse-server wiki:

Select a.date_column, a.sales_column as ty_sales, b.sales_column as ly_sales

from sales_table a

left join sales_table b

on (dateadd(year, -1, a.date_column)) = b.date_column

所以你只需将所有内容放在main.js中。

您还可以在此处找到一个非常全面的指南,用于在解析服务器上设置推送通知:

https://guides.codepath.com/android/Configuring-a-Parse-Server

答案 1 :(得分:2)

您只需将推送通知密钥放在解析配置中即可。在index.js文件中,只需将push对象添加到新的ParseServer初始化中,如下所示:

var server = new ParseServer({
    push: {
      android: {
        senderId: 'your send id',
        apiKey: 'your app key'
      },
      ios: {
        pfx: 'path to pfx local',
        bundleId: '',
        production: false
      }
    },
    databaseURI: 'your database uri',
    appId: 'your app key',
    masterKey: 'master key',
  });

答案 2 :(得分:2)

取决于您如何开始parse-server。如果直接在命令行上启动它,则可以执行以下操作:

parse-server myConfig.json

服务器整个配置进入此myConfig.json文件,用于推送和服务器的其他方面。以下是myConfig.json

的示例内容
{
   "appId": "APP-ID",
   "masterKey": "MMASTER-KEY",
   "cloud": "relative-path-to-directory-that-contains/main.js",
   "push": {
      "ios":{
         "pfx": "relative-path-to-apple-push-cert.p12",
         "bundleId": "com.company.appname",
         "production": false
      },
      "android":{
         "senderId": "your-gcm-sender-id",
         "apiKey": "your-api-key"
      }
   }
}

如果你从express或某个节点脚本启动你的解析服务器,答案与其他人说的类似,除了路径必须是绝对路径:

var server = ParseServer({
   "appId": "APP-ID",
   "masterKey": "MMASTER-KEY",
   "cloud": "absolute-path-to-directory-that-contains/main.js",
   "push": {
      "ios":{
         "pfx": "absolute-path-to-apple-push-cert.p12",
         "bundleId": "com.company.appname",
         "production": false
      },
      "android":{
         "senderId": "your-gcm-sender-id",
         "apiKey": "your-api-key"
      }
   }
})

自从您提出这个问题以来已经过了3个月,所以您可能已经解决了设置parse-server的最初困惑。如果您仍有疑问,可以帮助您在本地计算机上设置parse-server,这样您就可以确切地知道在哪里以及在哪里做什么。

这是guide to setup parse-server for local development

答案 3 :(得分:0)

您需要使用推送通知所需的密钥配置您的解析服务器

访问https://github.com/ParsePlatform/parse-server/wiki/Push以了解如何实现这一目标。

相关问题