iOS中的远程推送通知

时间:2015-03-05 21:32:54

标签: ios iphone apple-push-notifications

当收到远程推送通知时,是否有办法让应用程序在后台唤醒,并阻止iOS 7/8显示通知提醒(类似于使用WakefulBroadcastReceiver和{{1}在Android中可以执行的操作})?我正在跳跃,LocalBroadcastManager将允许实现这一点,但看起来它不是为此目的而设计的。对于实时系统,服务器有时必须将多个通知推送到应用程序,并且我希望防止在用户设备上出现多个警报,因为只有最后一个重要。当然我可以处理该服务器端,但更愿意在应用程序中实现该逻辑。

2 个答案:

答案 0 :(得分:1)

不要在通知对象中发送“alert”键。并且content-available标志为1,用于后台通知。如果您想在某个时刻向用户显示警报,您可以设法使用收到的“额外”通知字典中的内容显示提醒。

答案 1 :(得分:1)

这是可能的,didReceiveRemoteNotification:fetchCompletionHandler的目的正是为了你所指的。

  

aps词典还可以包含content-available属性。值为1的content-available属性允许远程通知充当“静默”通知。当无声通知到达时,iOS会在后台唤醒您的应用程序,以便您可以从服务器获取新数据或进行后台信息处理。用户不会被告知由静默通知产生的新信息或更改信息,但他们可以在下次打开您的应用时找到相关信息。

此处提供更多信息:

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html