【发布时间】:2015-12-15 22:32:30
【问题描述】:
目前我正在尝试向我的应用添加推送通知,特别是向两个不同用户的推送通知,由第三个用户触发。
除了推送通知不起作用之外,下面的云代码运行良好。当第三个用户触发此功能时,我希望将两个推送通知设置给赢家和输家用户。
Parse.Cloud.define('addWinsLosses', function(request,response) {
Parse.Cloud.useMasterKey();
var winnerUserId = request.params.winnerUserId;
var loserUserId = request.params.loserUserId;
var User = Parse.Object.extend('_User');
var winner = new User({ objectId: winnerUserId });
var loser = new User({ objectId: loserUserId });
console.log(JSON.stringify(winner));
console.log(JSON.stringify(loser));
winner.increment('wins');
loser.increment('losses');
var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.equalTo('user', winner)
Parse.Push.send({
where: pushQuery
data: {
alert: "You Won!",
badge: "increment"
}
}, {
success: function () {
response.success();
},
error: function (error) {
response.error(error);
}
})
var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.equalTo('user', loser)
Parse.Push.send({
where: pushQuery
data: {
alert: "You lost.",
badge: 'increment'
}
}, {
success: function () {
response.success();
},
error: function (error) {
response.error(error);
}
})
Parse.Promise.when([winner.save(), loser.save()]).then(function () {
// both saves have completed
response.success();
}, function (error) {
// one or more errors
console.log("Error in addWinsLosses : " + error.message);
response.error(error);
});
});
我已经添加了所需的关系:
let installation = PFInstallation.currentInstallation()
installation["user"] = PFUser.currentUser()
installation.saveEventually()
这应该是指向 PFUser 的指针,然后将其与我的云代码中指向 PFUser 的另一个指针(“赢家”或“输家”)进行比较。两个用户的消息不同。
有几个问题:
- 我的代码有什么问题?
- 如何清理我的代码 从组合“Parse.Push.send”开始?
【问题讨论】:
-
考虑将用户 ID(带有一些前缀)设置为频道
标签: ios parse-platform push-notification parse-cloud-code