【发布时间】:2014-09-08 12:02:54
【问题描述】:
我正在编写一个广泛使用推送通知的应用程序,因此推送通知的可靠性对于应用程序非常重要。
我通过解析云代码功能发送推送通知
Parse.Cloud.define("sendPush", function(request, response) {
var query = new Parse.Query(Parse.Installation);
query.equalTo('userObjectId', request.params.toUser);
query.exists("deviceToken");
Parse.Push.send({
where: query,
data: {
"alert": request.params.alert,
"sound": "default",
"type": request.params.type,
"status": request.params.status,
"fromUserId": request.params.fromUserId,
"fromUserName": request.params.fromUserName,
"messageId": request.params.messageId
}
}, { success: function() {
response.success("success");
}, error: function(err) {
response.error("error");
}
});
});
如果我的 iPhone 在线,此功能可以提供很好的推送。但是,如果我关闭我的 iPhone 上的互联网 30 秒并发送推送,则当我打开互联网时,不会发送此推送。所以我尝试在我的解析云代码函数中设置过期日期,以提高设备不在线时传递推送的可靠性。
// Expiration_interval added
Parse.Cloud.define("sendPush", function(request, response) {
var query = new Parse.Query(Parse.Installation);
query.equalTo('userObjectId', request.params.toUser);
query.exists("deviceToken");
Parse.Push.send({
expiration_interval: 24 * 60 * 60,
where: query,
data: {
"alert": request.params.alert,
"sound": "default",
"type": request.params.type,
"status": request.params.status,
"fromUserId": request.params.fromUserId,
"fromUserName": request.params.fromUserName,
"messageId": request.params.messageId
}
}, { success: function() {
response.success("success");
}, error: function(err) {
response.error("error");
}
});
});
但即使我关闭互联网仅 30 秒,它仍然无法正常工作。
感谢任何帮助/想法。
【问题讨论】:
标签: ios parse-platform push