到期日期在解析推送通知中不起作用

时间:2014-09-08 12:02:54

标签: ios parse-platform push

我正在编写一个广泛使用推送通知的应用,因此推送通知的可靠性对于应用来说非常重要。

我通过解析云代码函数发送推送通知

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秒,它仍然无法正常工作。

感谢您的任何帮助/想法。

1 个答案:

答案 0 :(得分:0)

这是与PUSH系统的Ap​​ple服务质量指南相关的工件。

在实践中,这意味着有时会推迟推送。如果它们对您的设计至关重要,我建议创建一个推送数据库表,该表将传递消息或数据,并让应用程序检查每个负载是否有新消息。

实际上,这意味着推送不会总是引起用户的注意,但至少会传递所有数据。

您可以在此处的parse.com帮助主题中了解更多信息:https://www.parse.com/questions/sending-push-notifications-quickly-causes-some-notifications-to-be-missed

以及此处的Apple文档:http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW4