Повторное 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
    });
});
Другие вопросы по тегам