我试图隐藏用户的某些指定推送通知,以便用户无法看到它。
我在哪里可以写出在到达时隐藏通知的条件,以便它不显示在通知托盘中。
我尝试在AppDelgate
中进行,但没有成功。还有其他办法吗?
func application(applxication: UIApplication, didReceiveLocalNotification notification: UILocalNotification)
{
UIApplication.sharedApplication().cancelLocalNotification(<#T##notification: UILocalNotification##UILocalNotification#>)
//println("Local Notification Received:\(notification)")
}
如果你能帮助我,那将会有很大的帮助。
答案 0 :(得分:1)
我试过这个用于远程通知,而不是用于本地通知。
因此,根据Apple WWDC 2013,如果您在付费负载中通过content-available" : 1
,那么它将充当无声推送通知。
因此,只需在您的有效负载中包含content-available" : 1
,如下所示即可获得静默通知。
同样在应用中Info.plist
应该有UIBackgroundModes set to remote-notification
更多信息For Silent push notification
{
aps = {
"content-available" : 1,
sound : ""
};
}
希望它有所帮助...
快乐的编码。
答案 1 :(得分:1)
设置
内容可用&#34; :1
并删除
体
和
警报
来自有效载荷。
这将为您提供所需的结果。
当您的应用收到此类推送时,它会调用以下方法:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler