Ios 针对具有特定负载的某些通知的静默推送通知
我试图对用户隐藏一些指定的推送通知,这样用户就看不到它了。 我可以在何处写入在到达时隐藏通知的条件,以使其不显示在通知托盘中。 我试着在AppDelgate中做,但没有成功。我还有别的办法吗Ios 针对具有特定负载的某些通知的静默推送通知,ios,swift,xcode,notifications,Ios,Swift,Xcode,Notifications,我试图对用户隐藏一些指定的推送通知,这样用户就看不到它了。 我可以在何处写入在到达时隐藏通知的条件,以使其不显示在通知托盘中。 我试着在AppDelgate中做,但没有成功。我还有别的办法吗 func application(applxication: UIApplication, didReceiveLocalNotification notification: UILocalNotification) { UIApplication.sharedApplication
func application(applxication: UIApplication, didReceiveLocalNotification notification: UILocalNotification)
{
UIApplication.sharedApplication().cancelLocalNotification(<#T##notification: UILocalNotification##UILocalNotification#>)
//println("Local Notification Received:\(notification)")
}
func应用程序(applxication:UIApplication,didReceiveLocalNotification:UILocalNotification)
{
UIApplication.sharedApplication().cancelLocalNotification()
//println(“收到的本地通知:\(通知)”)
}
如果您能在这里帮助我,那将是非常有帮助的。我尝试了远程通知,而不是本地通知。 因此,根据苹果WWDC 2013,如果您将在付费负载中传递
内容可用“:1
,那么它将充当静默推送通知
因此,只需将内容可用“:1
包含在您的有效负载中,如下图所示,即可获得静默通知
此外,应用程序中的Info.plist
应将ui背景模式设置为远程通知
更多信息请点击这里
希望对你有帮助
快乐编码。设置
可用内容“:1
移除
身体
及
警觉的
来自有效载荷
这会给你想要的结果
当您的应用程序接收到此类推送时,它将调用以下方法:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
我还想隐藏收到的推送通知。有人知道如何处理吗?谢谢@janmenjaya…有没有办法从应用程序端处理这个问题,即使我的“可用内容”为“0”?你可以检查“可用内容”“在委托中,了解哪些是静默通知,哪些不是。我想你是这样问的:如果([[[userInfo objectForKey:@“aps”]objectForKey:@“content available”]isEqualToNumber:[NSNumber numberWithInt:1]]){}不,我的意思是如果我从应用程序收到“content available”:0,我将如何隐藏/不显示特定通知。我想你不能隐藏。这就是为什么苹果公司引入了静默通知的原因,如果可能的话,他们可能没有在WWDC 2013中引入这项新技术。在“可用内容”为“0”的情况下,有没有其他方法通过应用程序处理它?是的,你可以。但它将仅限于运行和后台模式。如果应用程序脱机时“可用内容”设置为0,则您将无法接收或处理它。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler