国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

IOS10 遠程推送適配詳細介紹

2020-07-26 03:00:44
字體:
來源:轉載
供稿:網友

IOS10 遠程推送適配

iOS10推送新增了UserNotifications Framework,使用起來其實很簡單。

建議看看極光推送的Demo,里面寫的更詳細。

只是在iOS10以上系統上點擊通知欄,回調方法不再走原來的這兩個方法

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

而是在前臺的時候回調

- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler

從后臺進入的時候回調

- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler

直接說怎么用吧:

1,導入頭文件

#ifdef NSFoundationVersionNumber_iOS_9_x_Max#import <UserNotifications/UserNotifications.h>#endif

2,注冊通知

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中

if (iOS10) {  UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];  center.delegate = self;  [center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted, NSError * _Nullable error) {   if (!error) {    NSLog(@"succeeded!");   }  }]; } else if (iOS8_9){//iOS8-iOS9  UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound) categories:nil];  [application registerUserNotificationSettings:settings];  [application registerForRemoteNotifications]; } else {//iOS8以下  [application registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound]; }

3,回調方法中,獲取通知數據

- (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler { NSDictionary *userInfo = response.notification.request.content.userInfo;   //消息處理 if([request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {  //判斷為遠程推送 }else {  // 判斷為本地通知  }}

4,對于本地通知沒有什么變化依然會回調

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥中县| 华容县| 额尔古纳市| 高安市| 安乡县| 连南| 冀州市| 当涂县| 德格县| 防城港市| 上饶县| 南宫市| 郯城县| 佛教| 克什克腾旗| 皋兰县| 罗山县| 县级市| 宝清县| 寿阳县| 黎城县| 林甸县| 镇康县| 沙洋县| 黎城县| 仲巴县| 阳谷县| 长白| 巢湖市| 浦县| 江华| 吐鲁番市| 进贤县| 封开县| 湄潭县| 桃江县| 城步| 清徐县| 上思县| 札达县| 华池县|