解析服务器云代码不断发送推送通知

时间:2017-07-10 22:17:46

标签: push-notification parse-server cloud-code

我开发了一款使用Parse Server Cloud代码发送推送通知的应用。这些通知在设备中正确接收,但几小时后它们会再次从Parse Server自动发送(并再次收到它们)。每次推送通知都会发生3到4次。

如果从Parse Dashboard发送推送通知,它们只发送一次,所以这似乎是我的云代码的问题。

这是我的代码:

Parse.Cloud.define("sendPushNotification", function(request, response) {
        var userId = request.params.userId;
        var message = request.params.message;
        var queryUser = new Parse.Query(Parse.User);
        queryUser.equalTo('objectId', userId);
        var query = new Parse.Query(Parse.Installation);
        query.matchesQuery('user', queryUser);

        Parse.Push.send({
          where: query,
          data: {
            alert: message,
            badge: 0,
            sound: 'default'
          }
        }, {
          success: function() {
            console.log('##### PUSH OK');
            response.success();
          },
          error: function(error) {
            console.log('##### PUSH ERROR');
            response.error('ERROR');
          },
          useMasterKey: true
        });
});

我有一个类似的问题从另一个云代码函数发送电子邮件(未包含在问题中),我的问题是因为我忘了添加response.success();和response.error('ERROR');方法。 所以这次我肯定会在“sendPushNotification”方法的回复中包含这两个调用。

发送推送通知后,日志会显示:

2017-07-09T15:38:02.427Z - Ran cloud function sendPushNotification for user undefined with:
Input: {"message":"This is my message","userId":"myUserIdInParse"}
Result: undefined

我认为这个“结果:未定义”可能与问题有关,因为不会调用成功和错误函数。

这段代码有什么问题?为什么在设备中正确接收通知时代码没有收到成功()?

0 个答案:

没有答案