我有一个iOS应用,需要在前台自动运行时更新其内容。我的应用程序不需要在后台更新。
现有的方法是APNS(Apple推送通知服务)。 因为我不希望用户在后台看到通知消息,所以使用没有警报或消息的推送通知可能是一种解决方案。
但是,如果使用APNS,iOS会要求用户确认是否要通过我的应用接收通知。我认为,当操作系统询问用户时,用户可能会感到困惑,因为我的应用实际上并未向用户发送通知。
我使用的当前方法是每隔30秒继续拉我的API以查看是否有新内容可用。如果用户太多,此方法将失败。
是否有任何第三方推送通知类服务在app仅在前台运行时提供通知? (在后台不需要通知)
答案 0 :(得分:2)
您可以使用静音通知 在WWDC 2013的“多任务新功能”演示中,有一个关于静音推送通知的部分。如果您仅使用内容可用设置为1 发送APS有效负载,则不会通知用户该通知。
通知到达应用程序:didReceiveRemoteNotification:fetchCompletionHandler :
您的有效负载就像
{
aps: {
content-available: 1,
sound: "default"
}
}
答案 1 :(得分:0)
如果是push notification
,则用户必须在应用程序第一次运行时接受push notification
。您也可以设置silent push notification
,对于此用户,我们不会在notification
期间收到application run loop
的任何提醒。
如果您想避免使用push notification
,那么您只能设置一个NSTimer
。
可能存在第三种情况,应用程序仅在与foreground
进行时与服务器同步。为此,您可以参考我的this帖子。