无法通过Parse Cloud Code将Push通知发送到安装

时间:2015-01-14 23:45:42

标签: parse-platform push-notification cloud-code

我正在尝试向特定用户的安装发送推送通知。

在用户类中,我有一个列,它是指向安装实例的指针。这是我的代码:

Parse.Cloud.beforeSave("Notification", function(request, response) {
    var user;

    if (!request.object.get("reciever")) {
        response.error("Please include a user");
    } else {
        user = request.object.get("reciever");
    }

        var message = request.object.get("message");

        var query = new Parse.Query(Parse.User);
        query.include("installation");
        query.equalTo("objectID", user.get("objectID"));
        query.find({
                success: function(result) {
                        var obj = result[0];
                var intst = obj.get("installation");
                    console.log(intst);

                        Parse.Push.send({
                          where: intst,
                          data: {
                            alert: message
                          }
                        }, {
                          success: function() {
                            console.log("Push was successful");
                                response.success();
                          },
                          error: function(error) {
                            console.error(error);
                        response.error(error);
                          }
                        });
                },
                error: function(error) {
                response.error(error);
                }
        });
});

通过查看我的日志,正确收到了安装实例。发送时,我收到以下错误:

  

无法创建新对象,错误代码如下:   {“code”:115,“message”:“缺少推送频道。”}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

Parse文档将此作为使用Javascript发送推送通知的示例

Parse.Push.send({  
    channels: [ "Giants", "Mets" ],  
    data: {    alert: "The Giants won against the Mets 2-3."  }
}, {
    success: function() {    
        // Push was successful  
    },  error: function(error) { 
       // Handle error  
    }
});

你所缺少的是这个推动通知的'频道:[“巨人队”,“大都会队”]部分。如果您在解析中进入安装表,您会注意到有一个Channels列,这就是定义推送发送给谁的内容。在这个例子中,任何已经注册了频道“巨人队”和“大都会队”的人都可以获得推动。