ios – 我们如何远程拒绝推送通知?

我的应用程序每天向所有4小时后无关的所有用户播放推送通知(PN).有没有什么办法可以删除那个通知在每个用户通知中心没有在4小时内轻拍它?

我以前认为这是不可能的,但在看到Google的环聊应用程序行为之后变得有希望 – 它将PN发送到Mac& iOS …如果我在Mac上阅读消息,它会自动将其从iOS的通知中心删除.

我对google进行了广泛的研究,令人惊讶的是没有发现任何内容 – 只是一个问题here已经被关闭了!

解决方法

诀窍是使您的应用程序支持后台抓取并处理推送通知,当您的应用程序是在后台.

然后在application:didReceiveRemoteNotification:fetchCompletionHandler:将应用徽章设置为0,以便您从通知中心删除所有推送通知.

发送特殊的推送通知,其中没有显示用户的数据,但是包含重置推送通知状态的命令.

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

  if([[userInfo objectForKey:@"reset"] boolValue]){
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
  }

}

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...