Push notification 解析服务器云代码持续发送推送通知
我开发了一个应用程序,它使用解析服务器云代码发送推送通知。这些通知在设备中正确接收,但数小时后,它们会自动从解析服务器再次发送(并再次接收)。对于每个推送通知,这种情况会发生3到4次 如果推送通知是从Parse Dashboard发送的,那么它们只发送一次,所以这似乎是我的云代码的问题 这是我的代码:Push notification 解析服务器云代码持续发送推送通知,push-notification,parse-server,parse-cloud-code,Push Notification,Parse Server,Parse Cloud Code,我开发了一个应用程序,它使用解析服务器云代码发送推送通知。这些通知在设备中正确接收,但数小时后,它们会自动从解析服务器再次发送(并再次接收)。对于每个推送通知,这种情况会发生3到4次 如果推送通知是从Parse Dashboard发送的,那么它们只发送一次,所以这似乎是我的云代码的问题 这是我的代码: Parse.Cloud.define("sendPushNotification", function(request, response) { var userId = requ
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
});
});
我在从另一个云代码函数发送电子邮件时遇到了类似的问题(问题中未包含),我的问题是因为我忘记添加响应。success();和响应。错误(“错误”);方法。
所以这一次我肯定会在“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
我认为这个“Result:undefined”可能与问题有关,因为不调用success和error函数
此代码可能有什么问题?当设备正确接收到通知时,为什么代码没有收到成功消息?
结果:未定义的只是因为您没有在response.success()中放入任何内容代码>。如果添加一个将显示为结果的“Push Sent!”
。我看到的唯一奇怪的事情是你有,useMasterKey:true
,而我总是在字典中看到/使用该选项,,{useMasterKey:true}
,尽管我不知道这会如何导致函数在数小时后再次运行。你有日志在运行吗?函数是否以某种方式再次被调用?你是否打开了设备上的推送通知并再次收到它,或者它实际上只是一个未打开通知的警报?嗯,如果我将response.success(“push Sent!”)或{userMasterKey:true}放入response.success(“push Sent!”)或{userMasterKey:true}我无法访问我的服务器,因此我猜是语法错误。如果我撤销这两个更改,我可以再次访问我的服务器。这是console.log('代码>打印?否。打印的唯一内容是:运行云函数sendPushNotification for user undefined with:Input:{“message”:“This is my message”,“userId”:“myUserIdInParse”}结果:undefined