Повторное push-уведомление в back4app
Я отправляю push-уведомления из iOS и Android, вызывая облачную функцию, и на каждом устройстве я получаю 5 раз одно push-уведомление. Я использую базу данных разбора, размещенную на back4app.
Облачный код приведен ниже:
Parse.Cloud.define("push", function (request, response) {
var query = new Parse.Query(Parse.Installation);
var userID = request.params.user;
var message = request.params.message;
var notificationType = request.params.notificationType;
var user = new Parse.User();
user.id = userID;
query.equalTo('user', user);
query.equalTo("allowPush", true);
Parse.Push.send({
where: query,
data: {
alert: message,
sound: 'default',
"type": notificationType
}
}, { useMasterKey: true });
});
1 ответ
Решение
Попробуйте вызвать функции reponse.success и response.error в конце функции облачного кода. Поскольку ваш клиентский код не получает ответ, если вызов сработал или нет, он, вероятно, пытается отправить снова.
Parse.Cloud.define("push", function (request, response) {
var query = new Parse.Query(Parse.Installation);
var userID = request.params.user;
var message = request.params.message;
var notificationType = request.params.notificationType;
var user = new Parse.User();
user.id = userID;
query.equalTo('user', user);
query.equalTo("allowPush", true);
Parse.Push.send({
where: query,
data: {
alert: message,
sound: 'default',
"type": notificationType
}
},
{
success: function () { response.success(); },
error: function(err) { response.error(err); },
useMasterKey: true
});
});