В настоящее время я пытаюсь добавить push-уведомления в свое приложение, в частности, push-уведомление для двух разных пользователей, которое запускается третьим пользователем.
Облачный код ниже работает нормально, за исключением того факта, что push-уведомления не работают. Я хочу, чтобы два push-уведомления были установлены как для пользователей-победителей, так и для пользователей-проигравших, когда эта функция запускается на стороне клиента третьим пользователем.
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"?