注册
iOS 10上
1 | UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; |
在iOS10中有一个NotificationCenter,App收到通知都会在NotificationCenter的Delegate中回调,具体下面有两个方法:
当App在前台的时候,当收到推送的时候,会回调到这个方法。
1 | - (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler |
在iOS10中最主要的是在前台的情况下,横幅可以展示出来!!!太好了!!!!设置下面的就可以了.
1 | completionHandler(UNNotificationPresentationOptionBadge| |
这个方法是点击通知会回调到这里:无论App在前台或者是后台,无论是本地通知还是远程通知都会回调到这里
1 | - (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler |
iOS 8〜9
1 | + (void)registerRemoteNotificationForIOS8{ |
这个方法可分为下面几种:
- 当App在前台,接收到通知时会调用这个方法
- 当App在后台,点击通知会调用这个方法
- 透传也会调到这里来,包含iOS10
1 | - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { |
上面说的都是关于普通的消息,下面关于透传的消息
1这个就是透传的回调方法,经实验在iOS10中会也回调到这里。而且还有一个,就是如果没实现这个方法,它会回调到上面iOS7以前的那个回调方法上
1 |
|
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
iOS 推送全解析,你不可不知的所有 Tips! 把穿传消息和普通消息说得很明白
活久见的重构 - iOS 10 UserNotifications 框架解析 喵神把iOS10的推送说了一遍
ios 7的后台获取 和 静默推送(推送唤醒) 后台跟静默推送