我正在尝试向特定用户的安装发送推送通知。
在用户类中,我有一个列,它是指向安装实例的指针。这是我的代码:
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”:“缺少推送频道。”}
我做错了什么?
答案 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列,这就是定义推送发送给谁的内容。在这个例子中,任何已经注册了频道“巨人队”和“大都会队”的人都可以获得推动。