使用 Parse.com 安排 iOS 推送通知

Posted

技术标签:

【中文标题】使用 Parse.com 安排 iOS 推送通知【英文标题】:Schedule iOS Push Notification with Parse.com 【发布时间】:2013-12-11 09:14:58 【问题描述】:

我正在尝试在 ios 中使用 Parse 来安排推送通知。我只有一个免费帐户(这意味着我无法在 Web 后端安排通知),所以我想出了一个通过 Parse 安排通知的解决方案:

在应用程序中,当您按下发送通知时,您可以设置发送通知的文本和日期(使用代码仅发送标准 PFPush 代码)。然后我只使用 NSDate 并每天检查日期以查看它是否与预定通知的日期匹配。如果是,则发送通知;因此在预定日期发送通知,如果不是匹配日期,则不会发生任何事情(不发送通知,应用程序会在另外 24 小时内重新检查)。这可行,但应用程序必须在安排发送通知时在前台打开(即,如果应用程序在后台,则不检查日期并且不发送通知)。所以我的实际问题是如何在后台运行所有这些,这样应用程序就可以在我的 iPad 的后台运行,它仍然会检查日期并能够发布 PFPush(推送通知)。

任何帮助或代码将不胜感激。

提前非常感谢,如果您需要更多信息,请告诉我!

【问题讨论】:

如果你使用的是IOS7你可以使用这个方法并且你应该在info plist中注册backgroundMode - (void) application: (UIApplication *)application performFetchWithCompletionHandler: (void(^) (UIBackgroundFetchResult))completionHandler 哦,很抱歉有歧义。是的,我使用的是 iOS 7。我将尝试该代码并让您知道它是否有效。谢谢:) 【参考方案1】:

在这种情况下

setMinimumBackgroundFetchInterval 意味着它不会在小于您指定的值的间隔内调用。但是没有 setMaximumBackgroundFetchInterval。因此,如果 iOS 决定每天或什至每周只调用一次您的应用程序,那么无论您的 minimumBackgroundFetchInterval 都不会更频繁地调用它。 AFAIK iOS 决定何时调用 performFetchWithCompletionHandler,由用户启动应用程序的时间和频率来衡量。

在 Xcode 5 调试模式下,您可以从菜单中强制执行后台获取:Debug > Simulate Background Fetch.

【讨论】:

以上是关于使用 Parse.com 安排 iOS 推送通知的主要内容,如果未能解决你的问题,请参考以下文章

Parse.com - 从 Parse.com 向 iOS 应用程序发送消息,不像推送通知

Parse.com 推送通知 VS。适用于 iOS 的 Google Cloud 消息传递?

Parse.com:在 onPushOpen 上获取 Pushnotification 消息

parse.com 上的 Apple 推送通知

Android 没有收到来自新 Parse Server 的推送通知

解析,如何向目标用户发送推送通知