针对特定有效负载的某些通知的静默推送通知

时间:2016-10-03 07:27:27

标签: ios swift xcode notifications

我试图隐藏用户的某些指定推送通知,以便用户无法看到它。 我在哪里可以写出在到达时隐藏通知的条件,以便它不显示在通知托盘中。 我尝试在AppDelgate中进行,但没有成功。还有其他办法吗?

func application(applxication: UIApplication, didReceiveLocalNotification notification: UILocalNotification)
    {
        UIApplication.sharedApplication().cancelLocalNotification(<#T##notification: UILocalNotification##UILocalNotification#>)
        //println("Local Notification Received:\(notification)")
    }

如果你能帮助我,那将会有很大的帮助。

2 个答案:

答案 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
相关问题