到期日期在 Parse 推送通知中不起作用
Posted
技术标签:
【中文标题】到期日期在 Parse 推送通知中不起作用【英文标题】:Expiration date is not woking in Parse push notifications 【发布时间】: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 秒,它仍然无法正常工作。
感谢任何帮助/想法。
【问题讨论】:
【参考方案1】:这是与 PUSH 系统的 Apple 服务质量指南相关的工件。
在实践中,这意味着有时会错过推送。如果它们对您的设计至关重要,我建议创建一个推送数据库表,该表将传递消息或数据,并让应用程序在每次加载时检查新消息。
实际上,这意味着推送不会总是引起用户的注意,但至少会传递所有数据。
您可以在此处的 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
【讨论】:
以上是关于到期日期在 Parse 推送通知中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
JSON.parse() 在 Worklight 混合适配器中不起作用